目次
概要
Maya の render layer ベースでアセット毎の素材わけの設定をおこなうと、ショットシーンで作業をおこなってレンダリングをおこなう際にアセット数×レイヤ数分のレンダリング素材ができてしまうため、管理が煩雑になってしまいます。
renderLayerManager は、ショットシーン上でアセット毎にわかれている renderLayer をグループ化した新たな renderLayer を作成し、管理の一元化をします。
注意事項
弊社としては Maya の render layer を用いてレンダリング素材わけをおこなうような方法は推奨していません。 しかし、既にアセットに対して render layer の設定をおこなってしまい、それを前提としてプロジェクトが走ってしまっているというケースが多々あることも事実です。
特に受託案件の場合、アセット管理やショット管理の手法を社内で決めることができず、クライアントの要望に沿った形でプロジェクトを進める必要があります。
renderLayerManager は、そのような諸事情によりどうしても render layer を使わざるを得ないような場合に、何とかプロジェクトを瓦解させないようにするためのツールです。
つかいかた
初期状態
render layer として Beauty, Mask, Base の三つを作成したアセットを 2 つリファレンスしたシーンを元に操作方法を説明していきます。
グループの作成
Groups の欄で右クリックをして、"Add Group" を選びます
グループ名を入力して OK を押すとグループが作成されます。
グループ名をつける際、幾つか制限があります
- 先頭に数字を入れないでください
- 名前に ":" や "_" を含めないでください
グループへのアセットの追加
追加したいアセットと、追加先のグループを選択してアセットの上で右クリックし、 "Add Selected Asset To Selected Group" を選択するとグループにアセットが追加されます。
アセットの数やグループの数が多いと、この登録作業には少々時間がかかります。
また、この時にグループに登録するレイヤを Asset Layers から選択することができます(デフォルトでは全て登録されます)。
処理がおわると新しい renderLayer が追加されているのがわかります。
renderLayer は登録したアセットで用意されているレイヤ名に対して (グループ名)_(レイヤ名) という形式で作成されます。 例では、アセット毎に Beauty, Mask, Base が存在するので characters_Beauty, characters_Mask, characters_Base の三つが作成されています。
この場合、characters_Beauty レイヤには layerTest:Bauty と layerTest1:Beauty の内容が含まれています。そのため、 characters_Beauty を選択すると下図のようにそれぞれのアセットの Beauty レイヤの内容が再現された状態になります。
レイヤメンバの削除
グループのレイヤに登録されているメンバを削除します
レイヤの削除
グループのレイヤを削除します
グループの削除
グループを削除します
制限事項
レイヤの設定は同一である必要がある
別アセットで同名のレイヤなのに、レイヤの設定が異なる場合はどちらを優先すればいいのかわからないため、エラーとして処理をおこないません。
例えば、render layer の Member Overrides の値が異なるような場合です。
レイヤ毎に同じ場所が別の値でオーバーライドされている場合
同名のレイヤなのにレンダラの指定が異なるような場合、グループに追加されるアセットの順番によって最終的にどのアセットの内容が優先されるかは一定になりません。