スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
連載中の『男性キャラクタの制作』は
わからなければ調べながら最後までやりきる、がテーマなので
苦手なシェーディング関連のこともきっちり調べます。

レンダラは mental ray を使う予定です。
なかなか国内のサイトだけでは情報が拾いづらい mental ray ですが
最近 Houdini を始めたこともあり外国のサイトを調べる癖がついたおかげで
以前よりも大分楽に知りたいことに行き着くようになりました。
むしろ知らないことが多すぎて、調べ始めるとキリがないほどです。

今予定している方法では Hair をレンダリングするには
どうも Raytracing を使えないようなので、Render Layer で
Hair とその他を分けて出力することになりそうです。

となると必要となってくるのが Use Background。
今まで一度も mental ray で Use Background を使う機会がなかったので調べてみましたが
やはり他のノード同様に Maya の標準ノードでは望ましくないようです。

mental ray で Use Background と同じ機能を持たせるには、
mib_color_alpha の Factor を 0 にして
mip_matteshadow の Background に接続すればいいみたいです。

MEL で記述するなればこんなかんじ。

{
string $selList[] = `ls -sl`;
string $alpha = `mrCreateCustomNode -asUtility "" "mib_color_alpha"`;
string $matte = `mrCreateCustomNode -asShader "" "mip_matteshadow"`;
string $sg = `sets -r 1 -nss 1 -em -n ($matte + "SG")`;

setAttr ($alpha + ".factor") 0;
setAttr ($matte + ".ao_on") 0;

connectAttr -f ($alpha + ".outValue") ($matte + ".background");
connectAttr -f ($matte + ".result") ($sg + ".miMaterialShader");
connectAttr -f ($matte + ".result") ($sg + ".miShadowShader");

for($sel in $selList)
{
string $shp[] = `listRelatives -s -path $sel`;
sets -e -fe $sg $shp;
}
}


20120428_01.png20120428_02.png


アサインしたオブジェクトの部分のアルファがちゃんと0になりました。
mip_matteshadow の使い方は初めて知りましたが、用途はこれだけに限らず
mip_rayswitch_environment と併用すれば入力を2次レイに限定したりもでき
特定のパスを出力したい時などに幅広く使えそうです。


スポンサーサイト
Profile
HN らい

都内某社テクニカルディレクター
都内某専門学校講師
都内某企業講師
元中国某社S3Dスーパーバイザー
Contact
(ENGLISH OK. 可以用中文。)
Categories
Archives
RSS Link
QR Code