[mental ray] mentalrayUserData?

ちょろっと調べた結果、カスタムデータをmiに追加したい場合は
 ・mentalrayText ノードを使う
 ・mentalrayUserDataノードを使う
などがあることが判明。


今回目論んでいた、パーティクルの任意のppAttrを受け取るシェーダ、というのはおそらくmentalrayUserDataノードで行える内容と一番近い、はず。
UserDataの出力がしたいわけなので、多分。自信は無いけど。。

ネットを徘徊してみてもどこにも具体的な例が書いて無い。
あまりそこまで深くは使ってないんだなぁ。。
それとも出し惜しみ?むむむ・・・

Pass particle color to instances?
そんな中でもこのやり取りが一番近いっぽいんだけど、

At this point, until mayatomr is updated to handle propagation of custom data and/or per particle attributes through the Geometry Instancer then your only choice is to go with some custom solution like ..

1) Write your own translator !
2) Write a particle cache solution.
3) Write your own geometry instancer which connects a particle object with duplicates of geometry.

こんな返しが出てるところを見ると、全然解決していない模様。

mentalrayUserDataノードは、マニュアルにも軽く説明が載ってるんだけど、こいつからシェーダのここにさせ!とか書いてあるばっかりで、そいつ自身に情報を持たせる術が具体的に書いて無い。

これってつまりMELでsetAttrしろってこと?なわけないよな、さすがに。

それだと結局ダイナミックなデータの追加はどうにもやりづらいし、パーティクルなんて処理してたら激遅だろうからそもそも使えない、となってしまう。

英語の解釈間違ってて実は既に解決してたとかだったら、僕1人こっぱずかしいだけですが。
ギャー

RFTKとかBA Shaderとかも間違いなくUser Dataとしていろんなデータ流してるはずなので、それと同じことが出来ればいいんだけど、そして出来ないはずがないんだけど、、、

んー、、、

もうちょい調べてみます。
とりあえず仕事落ち着いたら実際に何パターンか出力してみて試すしかないかな。

あ、もしくはAutodeskのサポートに問い合わせるとかもアリか、な?

 
 
そんなわけでまだ方法見つかってません。すみません。
特に期待して見に来た人ごめんなさい。<rva君とか

経過は随時書いていきます。

 
mental ray熱も高まってきたし、今年はシェーダにプラグインにいろいろ書くよーーー!
という意気込みだけ晒してみたけど特にネタが無い罠。
アーッ

————————————————————追記
あーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

BA Shaderのチュートリアル動画良く見たら、

パーティクル作る→キャッシュ取る→ボックス作る→ジオメトリシェーダ割り当てる→うにゃもにゃ→レンダリング

という流れになってた。
この間は作業中に流して見てたから完全に見落としてた。

ってことはやっぱり直接は無理なんかーい。
かーーーーーーーっっやーらーれーたーーーー

まぁでも、一応分かった。
自前でパーティクルローダーのジオメトリシェーダ書かないとダメってことね。

とりあえずこれだけ分かれば必要なシェーダのデザインはざっくり出来るかも、と思う。
具体的なのはもうちょいちゃんとAPI見ないとダメだけど。

ついにバイナリデータに手を出す時が来たか・・・!?

ちなみに今はまだバイナリデータの扱いってものを全く知りません。
普通に出力したらASCIIになるんじゃないの?とか思ってます。
ここはぼちぼち勉強していく予定。

あーーー先は長い。

でもシェーダなんてものは1個のプラットフォームである程度出来る様になりさえすれば
この先RenderManとかMantraとかに道具が変わっても、ある程度すぐに勘はつかめるはず。
と思い込んで頑張ります。

「[mental ray] mentalrayUserData?」への2件のフィードバック

  1. 自前でパイプラインを作るなら,cacheデータを使う方法をお勧めします.user data経由は色々と動き辛いです.

    .pdbなら書き出しはそんなに難しくないと思いますから,これがいいんじゃないでしょうか.バイナリデータは避けられませんけど.

  2. >ますおさん
    なるほど。確かにキャッシュデータの方が何かと便利そうです。
    こっちで検討してみます:)

    > user data経由は色々と動き辛いです.
    これはシーンファイルに埋め込まれちゃうから、ってことなんですかね?
    埋め込むとデータも重くなるし、シーンデバッグもしづらいし、っていうぐらいの理解で良いんでしょうか。

    というかやっぱり直接出す方法あるんですね。。
    うーむ、、、見つからんかった・・・
    これはこれで理解のためにいずれ挑戦したいところです。
    パーティクルデータじゃないにしてもUser Data欲しいところはちらほらありそうですし。

    > .pdb
    .pdbって聞きなれないなーと思ってたら、Maya→外部アプリケーション用のファイルフォーマットなんですね。
    サンプルもついてるみたいですし、ちょっとのぞいてみます:)
    最初はbinが良いかな、とも思ってました。
    なんとなく扱いやすいイメージあるので、ってぐらいの理由なんですが:P

    と思ったらますおさんも以前書かれてますね、pdbに関して。
    http://www.ousam.com/blog/2005/01/04/7

    これから先API見て心が折れないようにC言語とバイナリデータのことをもうちょいちゃんと勉強せねば、と思います・・・!!

コメントを残す

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