目次
シーンステートとは
シーンステートとは、オブジェクトの表示/非表示、位置・回転・スケールや
ライトのオン/オフや環境設定、レンダリングの設定など、
保存時の各種項目を保存して、そのあと変更しても
保存時の状態に戻せる機能です。
ステートの意味は、日本語で”状態”なので、
シーンステートは”シーンの状態”という意味です。
なので、シーンステートは保存した状態にいつでも戻すことができます。
これを活用して、バッチレンダリングを使用していくのですが、
これがものすごく便利で、ものすごく複雑になってくるので、
シーンステートの使用自体はお勧めしますが、
混乱しやすいので、使い方は慎重にするようにしましょう。
バッチレンダリングにおけるシーンステートの活用
シーンステートが最も力を発揮される場所がバッチレンダリングです。
バッチレンダリングでシーンステートができることによって、
バッチレンダリングでできることが大幅に上昇します。
バッチレンダリングの基本的なことについて知りたい方は
「Batch Rendering(ワンクリックで連続してレンダリングする)-基本編-」
をご覧ください。
上記の記事の内容のバッチレンダリングでは、
ワンクリックで連続して複数のカメラをレンダリングできます。
しかし、シーンの設定毎にレンダリングはできませんでした。
例えば、カメラ1は昼景で撮って、カメラ2は夕景で撮りたい場合、
太陽やHDRIを変更しなければならないので、
シーンが異なる場合にはバッチレンダリングは使えませんでした。
そこで、シーンステートを使用することによって、
カメラ1で昼景、カメラ2で夕景をワンクリックで
連続してレンダリングすることが可能になります。
言葉だけではわかりずらいと思うので、
実際にどのように使用してくか、例を見ていきましょう。
バッチレンダリング - シーンステートの使い方 –
①シーンステートを保存する
バッチレンダリングでシーンステートを使用するには、
シーンステートを設定しなければなりません。
「ツール」→「シーンステート管理を管理…」からシーンステート画面を開きます。(図-1)
シーンステートの設定画面はすごくシンプルです。
・保存
・復元
・名前変更
・削除
この4つだけです。
ただし、”保存方法”が少し複雑になるので、
これがかなり混乱するところではあります。
順番に説明していきます。
”保存”ボタンを押すと、シーンステートを保存することができます。
”保存”で行うことは2点です。
①名前を設定する
②保存内容を設定する
①はすごく簡単で、シーンの名前を決めます。
例えば昼景用のシーンを設定したならば、それに近い名前で”day001”等と付けます。
夕景なら”eve001″です。(名前はあくまで例です)
②が少し複雑です。
シーンステートは、”保存”を押したときの状態を保存するのですが、
どの内容を保存するかは自分で決めなくてはなりません。
内容というのは例えば、現状のライトの強さであったり
オブジェクトの位置だったり、環境設定だったり、オブジェクトプロパティであったり、
細かいところまで保存するかどうかを決めることができます(図-2)
図-2の保存する内容は、下記の通りです・
ライトのプロパティ
ライトの修正パネルの内容をすべて保存することができます。
multiplierや影付けやexcludeやincludeなどです。
ライト変換
ライトの位置、大きさ、回転などを保存することができます。
オブジェクト プロパティ
レイヤーの表示/非表示や、オブジェクトプロパティの設定を
保存することができます。
カメラ変換
カメラの位置、大きさ、回転などを保存することができます。
カメラプロパティ
カメラの修正パネルの内容をすべて保存することができます。
レイヤ プロパティ
筆者で調べても良くわからなかったので、割愛します。
レイヤの割り当て
筆者で調べても良くわからなかったので、割愛します。
マテリアル
マテリアルの割り当てに関して保存することができます。
※マテリアルの設定ではないことに注意してください。
あくまでも”割り当て”です。
環境
環境設定について保存することができます。
アニメーション レイヤプロパティ
筆者で調べても良くわからなかったので、割愛します。
これらの保存内容を選択して保存すれば、
シーンステートを保存することができます。
筆者がよく使うのは、オブジェクトプロパティが断トツ多くて、
次にライトプロパティと、マテリアルです。
これらをうまく活用して、昼景、夕景、夜景のシーンを作っていきます。(図-3)
今回は、シーンを変更するために、太陽とHDRIを使用します。
太陽もHDRIもライトのオン/オフのみの変更しかなく、
オン/オフは修正パネル(筆者の場合、管理はVray lighti listerで行っています。)で行うので、
ライトプロパティの設定のみでOKです。
ただし、ライトのオン/オフをレイヤーの表示/非表示で設定している方は、
ライトプロパティではなく、オブジェクトプロパティの保存が必要です。
②バッチレンダリングの設定をする
シーンステートの設定が図-3のように完了したら、
次にバッチレンダリングの設定をします。
冒頭でも説明しましたが、バッチレンダリングの設定については、
「Batch Rendering(ワンクリックで連続してレンダリングする)-基本編-」
をご覧ください。
それで設定した方法が図-4になります。
図-4まで設定できれば、あとは簡単です。
カメラの設定にあったシーンステートを選ぶだけです。
”カメラ”のロールアウトの下に”シーン ステート”のロールアウトがあるので、
そこを適切にカメラにあったシーン ステートを選びます。(図-5)
これで、あとはバッチレンダリングをするだけで、
シーンにあったレンダリングをすることができます。(図-6)
※参考:カメラ名とシーンステート名を合わせると、分かりやすくなります
③シーンステートを変更する
シーンステートを変更する際は、下記の手順で行わないと
かなり混乱するので、気を付けましょう。
①変更したいシーンを”復元”する
②保存内容を確認し、”復元”を選択(図-7)
この状態で、保存した内容に”復元”されたので、
変更したい場合は、この復元をしてから変更をしていきます。
例えば、ライトの設定であったり、オブジェクトの表示/非表示であったり
それらの変更が終わったら、再度シーンステートを保存します。
この手順を間違えると、混乱して訳が分からなくなりますので、
気を付けましょう。
まとめ
今回はシーンステートについて紹介しました。
バッチレンダリングとの組み合わせで
複数枚シーンの異なるレンダリングが可能になるので、
ぜひ活用してください。
シーンステートで注意する点は、保存内容をしっかり理解することと、
設定を複雑にしすぎて混乱しないようにすることです。
ありがちな話ですが、シーンステートの設定が複雑すぎて、
どのカメラのどのシーン設定をやっているかわからなくなる時があります。
あまり複雑化しないように気を付けましょう。
また、保存内容はあまり多く選択しすぎないように心がけましょう。
不要なものまで保存する必要はありません。
例えば、環境はバックグラウンドまで変更してしまうので、
環境の保存内容を入れるだけで、読み込みが遅くなりやすいです。
不要なものはないほうが作業効率は上がります。
オブジェクトプロパティ:レイヤーの表示非表示、オブジェクトプロパティの内容
ライトプロパティ:ライトの修正パネルの内容
カメラプロパティ:カメラの修正パネルの内容
マテリアル:マテリアルの割り当ての内容 など…
覚えておけば、いちいち調べなくても素早く保存設定ができるので、
これを機に覚えましょう。
このバッチレンダリング × シーンステートで
レンダリング効率はあがるはずです。
積極的に使っていきましょう。