●「Link to Collection」と「Instance to Scene」
View Layerと密接に関わってくる機能となりますが、例えばある1つのオブジェクトを普通にレンダリングしたい場合と、オブジェクト自体はレンダリングされずに背景に対してのみ影を落とすように設定したい場合があるとしましょう。
オブジェクトを複製してCollectionにふりわけ、Collectionのステータスを切り替えることで同様のことができますが、共有している"Data"以外の設定に調整を加えた場合には、複製した全てのオブジェクトに対しても同様の調整を適用する必要が生じてしまいます。[Link to Collection]と[Instance to Scene]の機能を使用することにより、オブジェクトを複製することなくデータも最小限に抑えたままOutliner上でオブジェクトをCollectionにふりわけることができます。
ふりわけられたCollectionをView Layerの機能を使用して切り替えることで、コンポジット時に必要とするレンダリングの素材分けやモデリング時の表示の切り替えなど、多くのことに活用することができます。
・Link to Collection
[Link to Collection]を使用すると、オブジェクトを複製することなくOutliner上でオブジェクトをCollectionにふりわけることが可能となります。Link to Collectionによって作成されたオブジェクト(以下、Linkオブジェクト)はOutliner上では複数表示され、一見するとオブジェクトが複製されているように見えますが、Linkオブジェクト同士は完全に同一オブジェクトでOutliner上でCollectionにふりわけられることで、複数あるかのように表示されています。
同一のオブジェクトであるため、いずれかを編集すると当然そのほか全てのLinkオブジェクトにも同様の編集が適用されます。3D Viewport上では、Linkオブジェクトは1つのオブジェクトとして表示され、個別には選択・編集することはできません。
それでは実際に、Link to Collectionの機能を使用してみましょう。[Scene Collection]の直下に、新規でCollectionを2つ作成して名前を「Collection_A」、「Collection_B」に変更し、Collection_Aを選択した状態でCubeを作成してください。Cubeを選択した状態で、3D Viewportの[Objectメニュー→Collection→Link to Collection(Shift+M)]を実行するとポップアップメニューが表示され、格納するCollectionを選択することができるので、「Collection_B」を選択してください【1-L】 。
▲【1-L】Link to Collection①
LinkオブジェクトはCollectionにふりわけて使用することが前提となっているため、1つのCollection内に同じLinkオブジェクトを作成することはできません。ここでLink元のオブジェクトと同じCollectionにLinkオブジェクトを作成しようとするとエラーが表示され、実行できません
図のようになったと思いますが、これらのLinkオブジェクトはオブジェクト名もデータ名もまったく同じであることから、複製ではなく同一のオブジェクトであることがわかります【1-M】 。
▲【1-M】Link to Collection②
3D ViewportやOutlinerで1つのLinkオブジェクトを選択すると、そのほかの全てのLinkオブジェクトがOutliner上でハイライト表示されるようになります。図ではCollection_AのCubeを選択すると、Collection_BのCubeもオレンジ色でハイライトされているのがわかります
これにより、それぞれのLinkオブジェクトを格納しているCollectionのステータスを切り替えることで、同一のオブジェクトのステータスも切り替えることが可能となります。Linkオブジェクト自体は同一オブジェクトであるため、片方のオブジェクトのステータスを切り替えるともう一方のオブジェクトのステータスも自動的に切り替わってしまうことに注意してください。Linkオブジェクトはどれだけ作成してもデータ的には1つのオブジェクトであるためシーンが重くなることもなく、Collectionで制御することで様々なステータスをもたせることができます。
Linkオブジェクトの削除方法ですが、普通に削除してしまうとLinkしている全てのオブジェクト(オリジナルのオブジェクトも含む)が削除されてしまいます。特定のLinkオブジェクトのみを削除したい場合は、OutlinerでそのLinkオブジェクトを選択し右クリックして表示されるメニューからUnlinkを実行します【1-N】 。
・Instance to Scene
Collectionに対して[Instance to Scene]を実行すると、Collectionに格納されている全てのオブジェクトが集約され1つのオブジェクト(以下、Collectionオブジェクト)となり、シーン上に自由に配置することが可能となります。Outliner上でCollectionを選択し右クリックメニューでInstance to Sceneを実行すると、同じ階層に選択したCollectionと同じ名前のCollectionオブジェクトが作成されます【1-O】 。
作成されたCollectionオブジェクトは、元のCollectionの情報を完全に引き継いだオブジェクトとなりますが、Outliner上で展開するとその階層下にはInstance to Sceneを適用した元のCollectionのみが表示され、格納されている個々のオブジェクトの編集やマテリアル調整などを一切受け付けない状態となっています【1-P】 。
-
-
◀【1-P】Instance to Scene②
青くハイライトされたCollection_A(Collectionオブジェクト)の階層下のCollection_Aは、Collection_A(元のCollection)と連動しています。作成されたCollectionオブジェクトの名前は自由に変更可能ですが、階層下のCollectionの名前を変更すると元のCollectionの名前も連動して変更されるので注意が必要です。Linkオブジェクトは双方向でオブジェクトの調整が可能ですが、Collectionオブジェクトに関しては調整を加える場合は元のCollectionに対して行う必要があります
元のCollectionに対する変更はCollectionオブジェクトにも適用されるため、元のCollectionに新規オブジェクトを追加したり調整を行なった場合は、Collectionオブジェクトに対してもその追加・調整が反映されます。
CollectionオブジェクトとLinkオブジェクトは対象が異なるだけで機能的には非常に似ていますが、Linkオブジェクトとは異なりCollectionオブジェクトは単独のオブジェクトとしてシーン上での移動・回転・スケールが可能です。例えばビルや車など、パーツごとに細かく整理された階層構造をもつCollectionからCollectionオブジェクトを作成し、それを複製して配置していくことが可能となります。この手法を用いることにより、レイアウトが完成した段階で元のビルや車に修正が発生した場合でも、オリジナルのCollectionに対して調整を加えてしまえば配置を終えた全てのCollectionオブジェクトに対してもその調整が適用されるようになります。
Collectionオブジェクトの複製は、Linkオブジェクトと同様にデータ的に非常に軽くシーンの構成もシンプルで整理しやすくなるので、様々な状況で積極的に使用することをオススメします(データ的には軽いですが、複製していくとそれに伴いビューポート表示は重くなっていきます)。