登場しているActorは2つあります。親記事に合わせてActorA、ActorBとします。
今ActorBを、Editor上で、マウスを使って、ギズモ(ピボット)をドラッグすることで回しています。
私の質問は、このドラッグの動作中においてのみX,Z軸がフリップしてしまう機能(現象1)を抑制できないか、というものです。
「回しているか、指定しているか」という確認に関して回答いたしますと、「“ActorAは”、SetActorRotationで向きを指定しています」となりますが、このActorAに関しての挙動は本旨ではありません。
本旨ではありませんが、情報を小出しにするのは良くありませんし、「仕様により変更不可」という場合を見据えた次の解決方法を考えたく、話を具体的にして続けたいと思います。
簡単のために、Leapのα=0.5、初期input回転値を(0,0,0)としています。この制御により、ActorAにActorBの半回転を与えることになります。
ActorBをマウスでX=0°→179.99°となるまでドラッグすると、図のBPによりActorAはX=0→89.995°となります。
この調子で、ドラッグをほんのわずか、0.02° 分だけ進めますと、ActorBのX=179.99°→ -179.99°となりますね。180.01°となってほしいのに!
そしてActorAは図のBP制御により、(本来89.995°→90.005°となってほしいところが、)89.995° → -89.995°となります。これは期待の結果と、文字通り180°違ってしまいます。真逆の結果です。
これを解消するため、ギズモのD&Dで(←これは必須条件です)、179.99°→ 180.01°を実現する方法はありませんでしょうか。
追記:多少面倒な制御(例えば180°前後で、直前の回転値を記憶してフリップを検出するなど)をすれば、この半回転制御に関しては解決できる気はしますが、あくまで半回転制御は、困っている問題の一例であって、根本原因としてやはりこのフリップを抑制したいです。
