アニメーションでオブジェクトの表示を切り替える方法
以前のバージョンでは、オブジェクトレイヤ上でIすることで、レイヤの表示状態に対してキーフレームを追加できましたが、2.6 以降位からこれを行おうとすると、「"layers" property cannot be animated」というエラーが表示され、オブジェクトレイヤにキーフレームを追加することができなくなってしまいました。。。
あるレイヤにライティング等の環境を置き、その他の複数のレイヤに同じ条件でレンダリングする複数のオブジェクトを置いている場合、オブジェクトレイヤにキーフレームを追加し、フレームを切り替えることでレイヤの表示状態を切り替えられるので大変便利でした。
いちいちぽちぽちレイヤを切り替えてレンダリングしていると、簡単なレイヤ構成なら良いのですが、複数のレイヤが絡んでいると、表示状態を間違えたりして、レンダリングし直し。。。ということが良くあったので。
で、2.6 以降になってこの技が使えないので、その代替手段を思案中。
Outliner による制御
Outliner のカメラアイコン (オブジェクトをレンダリングするかしないかを設定) を利用。
ただし、これをそのまま使おうとすると、オブジェクトが多数ある場合に、とても大変。。。
そこで、以下のステップで設定してみる。
- 実際にレンダリングしたい状態のレイヤ表示にし、その状態で表示されているオブジェクトをすべて選択してグループ化。名前は分かりやすくしとこう。
- これを、レンダリングパターン分、レイヤを切り替えて行う。
- そして、なにもオブジェクトが無いレイヤか、新たにシーンを追加し、そこにレンダリングのためにグループ化したインスタンスをすべて配置する。
- フレーム 1 で、レンダリングするいずれかのインスタンスのみ Outliner のカメラアイコンを表示し、それ以外のインスタンスを非表示にする。
- この状態で、Outliner のレンダリング用のインスタンスのカメラアイコン全てに対して、Iでキーフレームを追加する。
- フレームを切り替え、表示していたインスタンスを非表示にしてI、次にレンダリングするインスタンスを表示してI
- これをすべてのインスタンス分繰り返す
ちなみに、この設定をして、Render - End Frame を最後のフレームに合わせておけば、Render Animation (CtrlF12) で、自動的にレンダリング対象を切り替えて全部のパターンをレンダリングしてくれるので、夜中等に全部をレンダリングしたいときに楽。
- 最終更新:2015-10-01 18:38:37