一つの.blendファイルに複数のシーンを持たせる
- <2019/07/30 修正> シーン内でのUnlinkは危険なため、ビューレイヤーの使用を推奨する記述に変更いたしました。
Cyclesとは違い、Eeveeには影のみを受け取るオブジェクト設定がありません。
そのためEevee単体でそういったオブジェクトが必要になる場合、どのようにすると良いかという質問がTwitterの#blender質問室に挙がっていました。
自分なりに調べていたのですが、他の方から回答に挙がったのがこちら。
t.co
Eevee内のノードで自作するアプローチです。すごく良いです。
ただBlenderに限らずアプローチは色々あるもので、試したことをお蔵入りさせるのも勿体無いと思い、書き残すことにしました。
自分のトライしたやり方は、1つのファイル内に2つの「シーン」を持たせる方法です。
それぞれの設定を変えることでEeveeとCyclesのレンダリングを一度に行い、コンポジットで合成するというものでした。
これはこれで出来ることが増えるので、以下、シーンを複数持たせる方法のお話です。一度のF12で、EeveeとCyclesのレンダリングが両方走ります
リンクについて
まず、シーンを増やす前に、リンクについて説明します。
オブジェクトを選択してショートカットalt + dを押すと、特殊な複製になります。この方法で増えたものは、片方の内容が変わるともう片方も影響を受けます。
アウトライナを見てみると、メッシュ「Suzznne」は二か所にありますが、同じ名前で同じデータの種類です。つまり同じものが二か所にリストアップされています。スザンヌをalt+dで増やして片方を変形させようとした図
赤丸のところは、実際は全く同じもの
この関係を、「リンク」と呼びます。
2つのオブジェクトが同じメッシュにリンクしている状態
シーンの増やし方
シーンを増やすボタンは、ウィンドウ右上にあります。
押すと挙動を四種類から選択することになりますが、それぞれ大まかに以下のような違いがあります。赤丸のボタンでシーンを増やせます New
なにもない、まっさらなシーンを作ります。レンダー設定など、オブジェクト以外のものも引き継がれずに初期状態と同じになります。Copy Settings
レンダー設定等はコピーされますが、オブジェクト等は引き継がれません。そのため、ビューポートはまっさらになります。Linked Copy
レンダー設定等はコピーされます。オブジェクト等はすべて追加前のシーンとリンクされます。次項で例を挙げます。Full Copy
レンダー設定等はコピーされます。オブジェクト等はすべて複製され、別名になります。
いずれもScene.001というシーンができ、シーンを切り替えられるようになります。
複数シーン間の関連性について
Linked Copyでシーンを増やしたとき、片方のシーンでオブジェクトの位置を変えると、もう片方のシーンでも反映されます。マテリアルの追加や編集も同様に、両方のシーンへ影響します。
一方で、レンダー設定は別々のものなので、片方のレンダラーを変えても、もう片方への影響はありません。
アウトライナで表示形式を「Blender File」へ変更することで、複数シーン間でのリンクの状態をもう少し詳しく確認できます。シーン設定はリンクされません
各オブジェクトはリンクされているため、片方のシーン内で削除(デリート)してしまうと、両方のシーンから失われます。各オブジェクトがScene, Scene.001の両方へリンクされているのが判ります
もし片方のシーンのみリンクを無効化したいものがある場合、コレクションを使用して対象を管理する必要があります。
コレクション
コレクションは、オブジェクト等をまとめて管理するための機能を持ちます。
フォルダに似ていますが、中に入っているのは実際のオブジェクトではなく、オブジェクトへのリンク情報に似たものだと考えてください。
先程の図のリンク関係は次のようになります。
★「Scene Collection」は同じ名前で同じアイコンですが、これだけは別々のものです。
(Blenderの内部では別のもとして扱われています)
それ以外のコレクションは、これまでの説明と同じく、名前が同じであれば同一のものです。
リンクを無効化する
リンクを無効化するには、コレクションの横にあるチェックをオフにします。
ただし予め、無効化したいものだけを含むコレクションを用意しておく必要があります。
チェック内容はシーンをまたいで管理は共有さないという特徴があります。シーンを増やす前にCollection 2を用意しておいてください 無効化されたものは、そのシーンのレンダリングに反映されません。チェック内容はシーンをまたいでは共有されません。
なお厳密には、シーンがそれぞれ別のビューレイヤーというものを持ち、そのビューレイヤーがコレクションの無効化を管理しています。
リンクを捨てる
★リンクを捨てる手法は危険を伴うため、上記の無効化を推奨します
もし無効化ではなく、特定のシーンからリンクを捨てたい場合には、そのシーンのアウトライナ上で右クリックをして「Unlink」を選択します。
するとCollectionへの、Scene.001からのリンクが無くなります。Scene.001からCollectionをアンリンクします このとき、アンリンクする対象次第では、どのシーンからも失われてしまうので注意してください。リンクを失ったものは表示されません
たとえばCubeをアンリンクしてしまうと、どのシーンからも見えなくなります。
Scene, Scene.001の両方がCubeにたどりつけません
リンクの追加
シーンを増やした後で追加した物が他のシーンへ反映されないことがあります。その際はリンクの図を思い浮かべてください。
下図は、Scene.001でスザンヌを追加した結果です。
この状態からスザンヌをSceneへリンクさせる方法は2つあります。Scene.001のScene Collection直下に作成されたため、Sceneへのリンクがありません
階層で解決
Collectionは両シーンへのリンクを持つため、Scene.001内でCollectionの階層にスザンヌを入れます。
コレクションが、中のものとリンク関係にあります Make Linksの実行
Scene.001のビューポートでctrl + LからSceneへのリンクを明示します。
この場合、アウトライナとリンクは次のようになります。スザンヌを選択してctrl + L 両シーンのScene Collectionからリンクしています まとめ
- 複数のシーンはそれぞれ、シーン設定を個別に持つことができます
- オブジェクトとコレクションは、リンクの関係にあります
- コレクションのうち一番上のScene Collectionだけは、同じ名前でも別々のものです
- リンクを無効化するには、コレクション横のチェックをオフにします。
- リンクを捨てるには、アウトライナで右クリック→Unlinkを実行します(要注意)
- コレクションとの階層変化、またはビューポートでのctrl + Lでリンクを新たに作成できます
シーンを管理できればBlenderの機能をさらに有効に使えます。次回は冒頭で紹介した、EeveeとCyclesを併用してのレンダリングを、複数のシーンを用いて行ってみます。
(最初に紹介した動画の手法のほうがEeveeで完結する上、影の調整も容易なぶんスマートだと思います。)