CG, KATANA

Mayaからカスタムアトリビュートを渡す

Maya のリグなどから KATANA にカスタムアトリビュートを渡し、その値によってシェーダのパラメータを変えてみます。これができれば、Maya と KATANA を接続する際の最大の難関が突破できたことになります(多分)。

そして、この方法を調べるのがものすごい大変でした、、、まだまだ KATANA のことを理解してないなぁと痛感します。

まずは、Maya から Alembic データを出力するときにカスタムアトリビュートを追加します。これは簡単で、出力するメッシュにカスタムアトリビュートを追加して値を入れ(もちろんキーフレームアニメーションも可/ベイクはした方がよいでしょう)、Export ダイアログ中で Attributes にカスタムアトリビュート名を追加して出力するだけです。

出力したファイルを KATANA で読んでマテリアルをアサインするところまではこれまでと同じです。

カスタムアトリビュートの値をシェーダーに持っていく前に MaterialResolve でオブジェクトにマテリアル情報を焼き付けておきます。こうすることで、オブジェクトに付加されたアトリビュートとしてシェーダのパラメータにアクセスできるようになります。

その後、OpScript を使用して Alembic のカスタムアトリビュートをマテリアルのパラメータにセットします。この時、既にオブジェクトにマテリアル関連のアトリビュートが追加されているため、この値を操作しているだけということに注目します。

そのようにしてレンダリングしたのが下の画像です。左から base が 0.0, 0.5, 1.0 となっていて、それに合わせて色が変わっています。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です