[HDK] My first dso

というわけでHDKデビューしました。
この間ボスに、「これプラグインになるといいな(ニコッ」と言われたので、よしここはHDKの始め時かもしれんと思って意気込み勇んで挑戦してみました。

今回作ったのは、SDFというタイプのボリュームデータを使って、その形状にポイントを張り付けるSOPノードです。
何を間違ったかSDFCollisionという名前にしてしまいました。
SDFStickの方がしっくりくる、、と気づいたのはノードが完成してからでした。合掌。
や、でもいずれ直します。

肝心の内容ですが、ひとまずこんな感じです。流れとしては左から右へ、です。

真ん中のはSDFを作る際のベースのジオメトリです。
SDFをキャプチャーしても白いだけで形状がわからないのでジオメトリを表示しておきました。

ノードはインプットが2つあって、左にポイント、右にSDFを要求します。

で、なんでこのノードを作ったかというと、SDFの性質上、SDFを使ってポイントを動かした際、
正しい位置にポイントを持ってくるためには複数回同じ処理を行わなくてはならないのです。
僕もこれ最初知らなくてなぜか上手くくっつかないで悩んでいたらボスが教えてくれました:P
で、それを何回処理するかをパラメータに持たせてやって、処理速度との兼ね合いを見ながら自分が望む結果になるまで値を上げていけばいいじゃない、という風にしたかったのです。
実際10回ぐらいからはほぼ結果かわりませんが。そうなってくるとむしろSDFの解像度の方が重要。

そんなわけで、今回作ったのはAccuracyという名前のパラメータ1個だけある素っ気ないノードなのですが、Accuracyを上げてやるとこんな感じになります。
どんどん誤差がなくなってteapotの形に近づいて行っているのがわかるかと思います。
動画をUPするまでも無いほどなので、懐かしのアニメーションGIFでお邪魔します。

しかしAccuracy 1の時の誤差とかひどいですね。
誤差っていうレベルじゃないですもんね、もはや。
これはSDF使うと程度の差はあれど大体こういうモンなので、あしからず。仕様です。

このノード、仰々しくもプラグインなんかにしてみましたが、実は普通にVOP SOPでForループとかで回すだけで簡単に実現出来るんです。
ただHDKの練習にちょうどよさそうだったので書いてみました、ってことです。

HoudiniはHDKまで行かなくてもほとんどのことがVOPなどを駆使すれば出来ちゃいますし、それをまとめてOTLにしてしまえばユーザ的にはHDKで作られてようがノードの組み合わせだろうがほとんど変わらない。なんとも素晴らしいことです。
当然処理によっては速度に差は出てきますけど。それはそれで。

HDKはHoudiniがノードの明確な区分(SOPsとかDOPsとか)を持っているので、Mayaとはまた一味違ったAPIになっています。
どちらが良いとかではないですが、Houdiniの方が楽だなーという部分は多々ありました。
たとえばアトリビュートの宣言とか。
ただSOPのノード作るのとPOPのノード作るのとで使うクラスが全く違ったりしますし、Mayaみたいに本が出ているわけでもなく、現状$HFS/toolkit/samplesのサンプルコードと、オンラインにUPされているHDKマニュアルを参照するしか無いので、英語が苦手な僕にとってはここまでくるだけでも結構大変でした。
とはいえ火曜日からスタートして、あれこれ調べたりしつつ、なんとか完成したので良しとします。
個人的にはMayaよりごちゃごちゃしてない感じはうけました。素人の意見なんで実際のところはよくわかりませんがなんとなく:P

そういえばHOTのソースコードも参考にさせてもらいました。
ああいう本格的なツールのソースは非常に参考になります。

しかしまだ、完成!!っていう感じでもなくて、現状なんか知りませんがエラーが出てます。
これはsamplesのソースをビルドしたプラグインも同様に出ているので、多分samplesのソース自体に何かが足りていないのでしょう。僕もsamplesのコードからスタートしたようなもんですし、同じ問題が起きているんだと思います。これは今後要調査。

今日は息抜きにHoudini触った後に晩飯作って、8時9時ぐらい集中して書き始めて(といってもコピペがメインでほぼ書いてないですが:P)、気がついたらこんな時間になっていました。集中すると時間てどんどん過ぎていきますね。びっくりします。

この調子で開発力も向上させていきたいですが、エフェクト屋としての総合力をもっと高めていかねば、、です。
頑張ります、、、

「[HDK] My first dso」への2件のフィードバック

  1. おおー いいねいいねー
    ここ先は無限の海が広がっています.がんばれ.

  2. >ますおさん
    ありがとうございまーす!
    いやー、なんとか形になりました。
    今は他にも何かネタが無いか考えてます。
    ひとまず同様のツールをPOPsように作ることはできるのかなーと思っています。
    自分ツールでガンガン拡張できるようになると楽しいですね、、、!!
    が、頑張ります!!

コメントを残す

メールアドレスが公開されることはありません。