[mental ray]パーティクル

mental rayではどうやってパーティクル扱ってるのか気になって、
パーティクルがちょろちょろ出てるだけのシーン作ってmiにしてみた。

mental rayにはRenderManみたいにpointプリミティブとか無いので、どうやって処理してんだと思ってた。
miを見たところジオメトリシェーダで生成している模様。

まぁそこは予想の範疇。
問題は自分でジオメトリシェーダを書いた場合どうなるか、ということ。
パーティクルのデータはdataとして出力されているんだけど、16進数くさいのでなにが書いてあるのか謎。
おそらくpositionデータ?かな?

blobbyだとparticleSamplerInfoから情報を一部受け取れるので、
次はblobbyにparticleSamplerInfoのoutColorさして出力。
え、、、miの内容全然違う・・・。

ここに要約して書こうと思ったけど、まだ勉強不足で何が何シェーダなのかわからんので割愛orz

んーーーーーーーーーー、、、これって自分でdataを指定して吐き出すことって可能なんだろうか?
たとえばこれとこれとこのper particle attributeを出す、とか。

それってシェーダというよりもMayatomr、つまりトランスレータの範疇なのでは。
そしてそこはカスタマイズ可能なのか・・・?

BA Volume Shaderとかは、似たようなことやってるようにも見えるので出来なくは無いんだろうけど、全然想像も付かない。

もしかしたらシェーダ側で要求したデータ引っ張ってきたり出来るのかな?
だとしたらずいぶん楽そうだけど、もし自由度低いならパーティクルだけオレオレトランスレータ書くとか・・・?
いやいやいや・・・

ともあれ自分で好きなデータをやりくり出来る様になったら、パーティクルの位置情報とって群集もどきとか、
hairプリミティブで草原もどきとか、いろいろ楽しいことが出来そうな気はするんだけどな。
これは興味深いので要調査。
あと今度Fluidもやってみよう。
 

にしてもmental ray奥が深い。。。想像以上すぎる・・・。
恐るべし。
 
 
——————————————————————–追記
レンダリング待ちでネット探したらマニュアルがひっかかった。
ここに何か書いてありそうなので後で読む。
mental ray for Maya シェーディング

——————————————————————–追々記
mental ray ユーザ データ ノード
こいつがすこぶる怪しいんだけど、具体的な使い方がイマイチわからん。
こいつコネクトすればdataが追加されるっぽいのは理解したんだけど、結局データの変換は自分でやらないとダメなのかな?

とすればデータのコンバート→mentalrayUserDataにセット、っていう流れはMayaのノードとして書くしかないのかな。
setAttrすれば良いならMELとかでも良いんだろうけど、速度的に不安。

んー、、もうちょい調べる必要ありそう。
BA Shaderの動画にはやはりなにかヒントが隠されていそうではある。

「[mental ray]パーティクル」への2件のフィードバック

  1. なんか面白そうな事やってますね.
    答えを書いてしまうのは簡単ですが,やっぱり自分で解決しないとねえ...(笑)

  2. >ますおさん
    答え!!
    も、もうちょい1人で頑張ってみます!!

    答え出たらまとめて書くのでその時アドバイスお願いしますwww

コメントを残す

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