使用したビルド:
- Houdini 19.5.368 (Py3.9) H19.0 でも Py 3.7 でも Py2.7 でも同じはず。
1. 元シーンの作成
- /obj 以下で Rubber Toy (何でも良い) を作成。できた testgeometry_rubbertoy1 の中に入る。
- testgeometry_rubbertoy1 の 出力に Attribute Delete (attribdelete1) を追加これで、Rubber Toy からマテリアルの指定が外れる。
- /mat に行き、 Principled Shader (何でも良い) を作成。 principledshader1 ができる。
- principledshader1 が選択された状態で、 Shift+C を押してコンテナ (subnet1) に格納。
- subnet1 を例えば mat_test_material など後で自分にわかり易い名前に変更する。
- ここでシーンファイルを一度保存しておく。
- そうすると、以下の手順で失敗しても戻って来やすい。
- mat_test_material 上で右マウスボタン (RMB) -> Digital Asset -> Create New... を実行。HDA ファイル命名方法が気にならなければそのまま Create を押す。
- 変えたければ設定を変更して Create。
- 次に現れる Edit Operator Type Properties で /mat/mat_test_material/principledshader1 の Base Color パラメータを Exisiting Parameters にドラッグ&ドロップ。
- Accept を押してウィンドウを閉じる。
- 勿論、他のパラメータも露出したければ、そうしても良い。
2. HDA 化されたマテリアルが Operator Chooser に出ない
/obj で testgeometry_rubbertoy1 を選択、その Render タブに行き、Material パラメータの右端にある '+' っぽいボタンを押して Operator Chooser ウィンドウを表示し、/mat を以下を見てもそこにあるはずの HDA 化されたマテリアルが表示されない。
- Operator Chooser に 表示されるためには HDA の Material フラグがオンになっていないといけない。
- これをオンにすれば、Operator Chooser に現れるようになる。
3. 作成した HDA マテリアルでは自動的にマテリアルフラグがオンにならない
作成した HDA は /mat または個別の Material Network 内で TAB->Digital Assets -> Mat Test Material で呼び出すことができるが、作っただけはマテリアルフラグがオンにならず、一々自分でオンにしなければならない。これを回避する方法を以下に紹介。
- HDA ノード上で RMB->Type Properties... を実行、 Edit Operator Type Properties ウィンドウを開き、 Scripts タブに行く。
- Event Handler のプルダウンを Custom Script から On Created に変更。
- 右側のスクリプトフィールドに
kwargs['node'].setMaterialFlag(True)
と入力。 - Accept を押してウィンドウを閉じる。
0 件のコメント:
コメントを投稿