Technical Avant-Pop

Laboratory   ぷにウェイバー研究室

その5:あまり使い道のない相対位置の算出のしかた。

独立して動くカメラをオブジェクト。
「カメラを固定して相対的な動きが欲しい」とか、
「オブジェクトを固定できればパーティクルをもっと巧く動かせるのに」なんて思ったことないですか?
え・・・ない・・?しくしく・・・。
あるという天然記念物クラスの絶対少数派のためのTipsです。

まず、独立していたカメラとオブジェクトを
Null_Bank_Eraser
朗ull_Pitch_Eraser
  朗ull_Head_Eraser
   朗ull_Position_Eraser
    ├Object
    └Camera
のようにペアレントします。Nullはすべて原点で回転も0°です。
次に、カメラのXYZのエンベロープをNull_Position_Eraserにコピーし、
3軸に対してグラフエディタのキーの編集>キーのスケールで
値スケールの倍数に−1を入力して反転します。
ここで見かけ上カメラの位置は原点に固定され、回転するのみとなります。
同様にカメラのHPBの各エンベロープをNull_Head_Easer、Null_Pitch_raser、Null_Bank_Eraserにそれぞれコピーし、
グラフエディタで反転することでカメラをXYZ/HPB=0に固定することができます。

オブジェクトの数は関係なくなりますし、ライトもペアレントすることで
完全にレンダリング結果が一致すると思います。
また、高速で移動する物体からパーティクルを発生させると制御が難しくなりますが(にゃんばだけ?)、
カメラではなく、オブジェクトのモーションを反転させることでオブジェクトが固定され、
制御しやすくなるかもしれません。実はこっちも狙っているんですが
まだそこまで試していないのでわかりません(汗)。
問題はカメラやオブジェクトがすでにNullの子になっている場合ですが、
同じ手順でネストすることで解決できると思います。