Bifrost R&D
Tools & Techart Topics
しばらく前に、私はGuerrilla Gamesでテストを行ったFabric Engineに似ているように見えたので、bifrostを使い始めました。 それのワークフローが本当に好きだったので、それらがどれほど似ているかを見たかったです。
Bifrostには簡単にステップインできます。これはMayaのノードエディタの動作に似ていますが、操作するほど複雑になります。特に、foreachノードを使用するのは非常に困難です。
しばらくして、エディターで遊んで、C ++ノードの一部を変換し始めました。 最初のノードはIkシステムノードでした。 角法とLookatで2ボーンIKセットアップを解決する単純なソルバーです。 ストレッチ、ポーレベクトルロック、ソフトデイスタンスの変更などの追加機能で拡張します。
IKシステムの実装はそれほど難しくなく、ほとんどの数学はゼロから作成する必要がありました。軸に照準を合わせることとアップベクトルとして使用される軸に縛られたくないので、しばらく時間がかかったのはlookat行列関数を作成することだけでした。
その時点からさらに深く入り、利用可能なノードの量を確認し、カーブの作を開始しました。Fabric Engineには、NURBSおよびベジェ曲線で動作するノードがありましたが、Bifrostにはそのようなものはありません。 そのため、スキニングツール 用に作成されたコードから作業しました(Bezier関数は2dでしたが、簡単に3dに変更できます)。 これはforeachノードの入門書でした!最終的に、(4+ n)の入力量を使用して、マヤでベジェスプラインを描画することができました。
キャラクター、チューブ、スパイン、テールなどには、railsplineと呼ばれるC++ノードがあります。これは、mayaのIKスプラインと同様に機能します。曲線を移動するすべてのノードは、曲線上のジョイントの回転を方向付けることもできます。以前に作成したベジェ関数を使用して、ノードをさらにプッシュしてBifrostにRailSplineを作成できます。
それに加えて、ローカル回転軸ノードを作成する必要がありました。RailSplineの出力が、Bifrostノードの出力にオブジェクトを追加してテストすることなく、実際に望ましい結果をもたらしたかどうかを確認します。他の多くのノードにも役立つ可能性があるため、このコンポーネントを分離しました。
詳細については下のノードをご覧ください。ノードには適切な名前が付けられていますが、グラフはまだ少し乱雑です。時間が許せば、シーンに適切な注釈を追加します。