- 2009/06/04 01:15
- mental ray
ちょろっと調べた結果、カスタムデータを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とかに道具が変わっても、ある程度すぐに勘はつかめるはず。
と思い込んで頑張ります。
- Newer: [mental ray] MetaSL Material Library
- Older: [mental ray]パーティクル
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言語とバイナリデータのことをもうちょいちゃんと勉強せねば、と思います・・・!!
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