Home > mental ray > [mental ray] mentalrayUserData?

[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とかに道具が変わっても、ある程度すぐに勘はつかめるはず。
と思い込んで頑張ります。

Comments:2

ますお 2009/06/04

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

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

tai 2009/06/04

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

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

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

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

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

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

Comment Form
Remember personal info

Trackbacks:0

Trackback URL for this entry
http://blog.taikomatsu.com/2009/06/04/mental-ray-mentalrayuserdata/trackback/
Listed below are links to weblogs that reference
[mental ray] mentalrayUserData? from memlog

Home > mental ray > [mental ray] mentalrayUserData?

Return to page top