リグを使用してポーズモードで動かすと追従してくれだろうと思っても、追従してくれないことが良く起こる。その時の注意点を覚書として残しておく。
画像をクリックすると楽天に飛びます。
ポーズモードではオブジェクトの座標は動かない
ポーズモードで動いているように見えても実際のオブジェクトの座標値は変化しない。下の例ではロボットの首を曲げたが位置、回転ともに変化してないことがわかる。
この仕様によってジオメトリノードやオブジェクトコンストレイトが追従しない。ジオメトリノードは追従するように見えて回転元のオブジェクトの座標値が変化しないため追従してくれない。
親子関係とローカル座標
ポーズモードではボーンの親子関係で移動する場合は子供のボーンのローカル座標の変化が起きない。親のボーンが動いて子のボーンも動いているように見えるが、実際には子のボーンの座標事動いてしまっているのでローカル座標での変化が起きない。そのため、子のボーンを参照するボーンコンストレイトではローカル座標を設定していると追従してくれない。例えば下記のようなボーンがあるとする。
AとBにはAが子、Bが親という親子関係がついている。またCにはAを追従するように位置コピーをローカル座標で付けている。
直接Aを動かすときはCは追従してくれていることが下図からわかる。
それに対してBを動かすことでAを動かすとCが追従してくれないことがわかる。
この場合はワールド座標を使うか、ドライバーを使う必要が出てくる。ただしワールド座標とローカル座標は挙動が違う時あるので注意が必要。
まとめ
基本的にポーズモードでの座標の扱いはオブジェクトモードなどの時とは違うので注意が必要である。気づかずにすべてを設定した後に間違いに気づくと修正が結構大変である。