MaterialXで一つのジオメトリに複数のマテリアルを割り当てたい

   1086   4   0
User Avatar
Member
36 posts
Joined: June 2023
Offline
タイトルの通りなのですが、丸一日調べたり考えてスマートな方法が思いつかなかったので質問させていただきます…
初歩的な質問かもしれず申し訳ありません。

SOP階層でギターをモデリングしました。最後にNullを接続し、それをLOP階層でSOP Importで呼び出しています。
SOP上ではグループアトリビュートを使ってボディや弦、コードなどのグループ分けはできてはいるのですが、それ活用して複数のマテリアルを一つのモデルに正しく適用させる方法はあるのでしょうか。

XPUでレンダリングしたいためMaterialXでの解決法を模索しています。テクスチャをベイクする解決法は避けたいと思っています。
User Avatar
Member
27 posts
Joined: July 2017
Offline
自分が知っている方法ですが、
①SOP ImportのImport Dataを開いてAttributesにチェックを入れると
②SceneGraphPathの階層内にSOPで作成しておいたグループが見られるようになるので
③それをAssign MaterialsノードのPrimitives欄にドラッグアンドドロップしていくと1つのオブジェクトに複数のマテリアルを設定できると思います

Attachments:
test1.bmp (498.2 KB)
test2.bmp (205.7 KB)
test3.bmp (599.2 KB)

User Avatar
Member
36 posts
Joined: June 2023
Offline
nh3さんご返信ありがとうございます。
自身の環境でも試してみたのですがグループアトリビュートそのまま(Integer)では上手くいかず、いろいろ調べているうちにAttribute Create SOPでString形式に置き換えることで認識できたのですが、nh3のやり方もそのような認識であってるでしょうか?

いずれにせよ解決策が見つかり本当に助かりました。メモ添えまでしていただいて大変わかりやすかったです、ありがとうございます!
Edited by Hikari_ - Aug. 25, 2023 01:29:05
User Avatar
Member
27 posts
Joined: July 2017
Offline
自分の場合は特にString形式に置き換えたりはしておらず、単にGroupノードで作成したグループ(GroupTypeはPrimitives)のままで大丈夫でした。
分かりませんが、何か違いがあったのかもしれません…
しかしうまく行ったようであれば良かったです!
Edited by nh3 - Aug. 25, 2023 04:47:07
User Avatar
Member
36 posts
Joined: June 2023
Offline
そうなのですね、自分の環境内でもいろいろ検証してみます。ありがとうございました!
  • Quick Links