1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

MayaAdvent Calendar 2024

Day 22

renderSetupで困った

Last updated at Posted at 2024-12-21

renderSetupですね。
renderLayerの頃に比べて、シーンを開いたらシーンがどんどん崩壊していくとかそういうのが無くなって
あぁこれで安定してレンダリングを回せるなぁって思ってた時期が僕にもありました。

実際に起きた状況をまとめるとこんな感じです。

  • キャラなどのアセットデータをリファレンスしてシーンを構築
  • 構築したシーンで renderSetupでレイヤーを構築
  • アセットデータに不備があったので、元データの方でマテリアルのアサイン情報を修正
  • レンダリングシーンを再度開いて確認する
  • マテリアルの更新が反映されない

という状況ですねー。

あれー?更新したよなー?直ってないなー
という感じでデータを数往復し、色々調べてみた結果

renderSetupがなんかしてるわ

という結論に至りました。

再現

こんな感じでリファレンスしたシーンを用意しますね。

image.png

このシーン内でマテリアルOverrideをrenderSetupで作成します。
image.png

元データのマテリアルをこのようにアサイン変えますね
image.png

リファレンス先のシーンで更新してみると~
image.png

アサインが変わってないですね。

お約束のmaデータ解読してみると、なにか記載されてますねstringで。
image.png

詳しく

先述のサンプルシーンを元に詳しく挙動を確認しました。

  • マテリアルoverrideが設定されているレイヤーに、カレントレイヤーを変更する。
  • マテリアルoverride前の状態を再現する為に、ノードが作成され復元用情報が書き込まれる。
  • デフォルトレイヤーに戻す。
  • ノードに書き込まれた情報を元に状態を再現。

そして最後の挙動がreferenceEditに記載されています。
その為、リファレンスデータを切り替えても このreferenceEditの内容によってアサインが更新されてない様に見えてるようです。

かと言って、
レイヤーを切り替えた状態で リファレンスデータを切り替えたとしても、デフォルトレイヤーに戻した時点でノードから復元情報が呼び出されるのでやはり更新が反映されません。

image.png

image.png

無理やり

無理やりやるとしたら

  • referenceEditの除去
  • 復元用ノードの削除

のどちらかかなと思います。

  • referenceEditの除去

該当行を選択し、removeを実行してみると

// Error: file: C:/Program Files/Autodesk/Maya2022/scripts/others/referenceEditsWindow.mel line 56: Cannot find the scene file.

うーん、一旦もう一個の方法を試してみます。

  • 復元用ノードの削除

レイヤーを切り替えて、ノードを削除してみます。

cmds.delete(cmds.ls(type = "applyConnectionOverride"))

この状態でデフォルトレイヤーに戻してみると、
復元情報が呼び出されないのでオーバーライドの状態のままですね。

image.png

リファレンスとリロードしてみると
image.png

リファレンスデータの更新内容が無事反映されました。

もやもや

一応対応は出来たものの、別のバグを誘発しそうな気がしてもう少し良いやり方があるといいなぁ。

しかし、この仕様?は把握していないとレンダリング時の事故にもつながるので地味ですが怖いですね。

続きはこちら

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?