Maya2019.2からBifrost2.0が使えるようになりました!
Maya のプラグインである Bifrost は、3D アーティストやテクニカルアーティストがすばやく簡単に本格的なエフェクトを作成できる新しいプログラミング環境を提供します。
テクニカルアーティストは、Bifrost グラフ エディタを使用してグラフをカスタマイズ作成し、スタジオでパッケージ化して、その場でアーティストに渡すことができます。
https://area.autodesk.jp/information/bifrost-2-for-maya/
とのことです。テクニカルアーティストなのでやらないといけないですね。しかたないですね。
というわけで簡単にノードを組んだりしてみます。
プラグインをロードしてBifrostのグラフエディタを開いてみる
なにはともあれロードです。
ちょっとだけ時間がかかるので普段使わない場合はAutoLoadにはチェックしないようにしましょう😎
Window>Bifrost Graph Editorで開きます。
ノードを組んでみる
まずはCreate>New Graphから新しいグラフを作成します。
Createにも右クリックメニューにもノードを作るようなメニューがありませんが、落ち着いてTabキーを押してみます。
すると作成可能なノード一覧とインクリメンタルサーチが表示されます。
ためしにget_point_positionとset_point_positionというノードを追加し、上のように接続します。
流れでいうと以下のような感じです。
- inputでgeometryを外から取得する
- get_point_positionで指定geometryの頂点位置を取得
- set_point_positionで指定geometryの頂点位置をget_point_positionで取得した頂点位置に変更したgeometryを出力
- outputでset_point_positionが出力したgeometryを外から取得できるようにする
次に作成したグラフ(birostGraph1)をMayaのノードと接続するためにノードエディタを開きます。
適当なCubeを作成し、OutMeshをbirostGraph1のGeometryに接続します。
結果はbifShape1というbifShabe型のノードに出力されるので、bifShape1をノードエディタで選択してマニュピレーターで適当に移動しておきましょう。
(bifShapeはビューポート上で掴めなかったりと色々扱いづらいですが、解決方法は後で説明します)
適当に頂点を移動してみるとちゃんと変更が反映されています。
(これだとinputのgeometryを直接out_geometryに繋ぐのと変わらないですけど気にせずやっていきましょう)
出力結果をShapeに適用する
上に書いたとおりbifShapeは扱いづらいので、次は出力結果をMayaの通常のShapeに適用してみましょう。
ノードエディタでTabキーを押して、「Maya」と入力してbifrostGeoToMayaが表示されたらクリックしてノードを追加します。
そして追加されたbifrostGeoToMaya1のBifrostGeoとbifrostGraph1のOutGeometryを接続します。
次に先程作ったCubeを複製して、これのInMeshとbifrostGeoToMaya1のMayaMesh[0]を接続します。
このままだと法線が適用されないので、bifrostGeoToMaya1をアトリビュートエディタで開いてTransfer Normalsにチェックを入れます。
これでShapeに結果を適用できたので、transformで普通に移動や回転もできます。
bifrostGraph完全に理解した。
Backdropをつける
ノードを組んでるとこのへんのノードは実際のところ何してるの?みたいなグルーピングをしたいときありますよね。
そんなときは対象のノードたちを選択して右クリックし、Create Backdropを選択します。
するとこのようにいい感じになります(語彙力)
Backdropをダブルクリックするとテキスト入力ができるので、初見の人が死なないようによしなにコメントを入れておくとよさそうです。
Compoundにする
作成したグラフは書き出して再利用することも可能なので、他のところでも使えるようなグラフはひとまとめにしておくとよいです。
というわけでまとめたいノードたちを選択して右クリックし、Create Compoundを選択します。
Compoundになりました。
Compoundのノードはダブルクリックすることで中身を編集可能です。
先程使ったget_point_positionやset_point_positionもCompoundなノードなので、ダブルクリックして中身を見てみるとお勉強になっておすすめです。
ちなみにノード名にリファレンスのアイコンがついてるCompoundなノードはそのままだと編集できません。
編集したい場合はノードを右クリックしてMake Editableを選択することで編集可能になります。
グラフのデバッグ
ノードの任意の接続にどんなデータが流れているか、Watchpointを追加することで確認できます。
確認したい接続を右クリックし、Add Watchpointを選択します。
便利…Mayaの全ノードエディタにほしい…。
尚、追加された目のアイコンを選択してドラッグすると位置が移動できるので、見やすいところに移動しましょう。
ちなみにdump_objectというノードを使用するとこのようなデータをtxtファイルとして出力することも可能です。
参考:Mayaヘルプ:グラフの診断およびデバッグ
おわり
ゆめがひろがる。
どうでもいいんですけどbifrostってバイフロストって読むんですね!びふろすとだと思ってました。口にする前に気づけてよかった大賞2019。
何ができるかいまいち分からんとか、やりたいことがあるけどどうやるか分からん、みたいなときはWindow>Bifrost Browserから読み込めるサンプルを見てみるとヒントが見つかるかもしれません。
Bifrost bezier graph now available on the AREA. Feel free to pull it apart. This is a complete graph - not a compound so you might need to import it via the bifrost browser.https://t.co/W2XBBUa3Sk@AdskMaya #bifrost #maya #rigging pic.twitter.com/jXeDIMX2Hr
— Duncan Rudd (@duncan_rudd) August 19, 2019
Hey, #Maya #Bifrost users! Grab my paintDeltaMap compound here: https://t.co/OwMLtZFWMR
— Iker J. de los Mozos (@soyposmoderno) August 18, 2019
Hopefully this will encourage users to start sharing their experiments. It's all about learning! pic.twitter.com/YkyMKA2HMu
あとはこういったサンプルがフォーラムに投稿されていたりするので、フォーラムを覗いてみるのもよいですね。最&高。
forums.autodesk.com
次はなんちゃってブレンドシェイプとか、Mayaのブレンドシェイプだと適用されない法線の適用とか、グラフのインポートとエクスポートあたりについて書くかもしれません!