MAYA2017でレンダラーのmental rayが外され、メンタルレイの機能である「バッチベイク」を使ったAO(アンビエントオクルージョン)の頂点カラーベイクができなくなってしまいました。
では、mental rayにかわるレンダラーとして実装されたArnoldに、これに変わる機能があるのかというと、残念ながら有りません。
ではどうしろと?
Arnoldには、AO(アンビエントオクルージョン)を頂点カラーとしてベイクする機能は有りませんが、AOの結果をテクスチャーにベイクする機能はあります。
この機能で作成したAOテクスチャーを利用すれば、メッシュモデルのバーテックスに色情報を付加する事ができるかも。
この記事では、「Arnold」のAO(アンビエントオクルージョン)を頂点カラーとしてベイクする手順と問題点、そして、MAYAに付属するGIレンダラー「Turtle」でAOを頂点カラーとしてベイクする手順。そして2つの方法の違いを解説したいと思います。
|
MAYAのArnoldでAOテクスチャーを作成する
ArnoldのAOを頂点カラーにベイクする機能は有りませんが、AOテクスチャーを作成する機能はあります。
その機能で作成したAOテクスチャーを利用すれば、頂点カラーにベイクできそう。
ではまず最初に、ArnoldでAOテクスチャーを作成します。
Hypershade(ハイパーシェード)を開き、左側の項目からArnoldを選択
aiAmbientOcclusion をクリック。
アンビエントオクルージョンシェーダーのaiAmbientOcclusionを作成。
UV展開したメッシュモデルに aiAmbientOcclusionをアサイン
続けて、aiAmbientOcclusionをアサインした、メッシュモデルを選択し、
Arnold > Utilities > Render Selection To Texture をクリック。
Arnoldのテクスチャーベイク機能、Render To Texture を開きます。
Render To Texture で、出力するディレクトリやレゾリューション等を設定。
[Render] をクリックして実行。
TIPS:UV展開したメッシュモデル範囲の外が黒くならない様にExtend Edgesを有効にします。
プログレスバーで処理の進行を表示後
設定したディレクトリに[.exr]形式のAOテクスチャーファイルが出力されました。
参考として作成したAOテクスチャーをメッシュモデルにアサインしました。
↘ArnoldでAOテクスチャーを作成する手順の詳しい解説はコチラの記事で↙
|
Arnoldで作成したAOテクスチャーを頂点カラーとしてベイクする
次にArnoldで作成したAOテクスチャーの色情報をインポートしてメッシュモデルの頂点カラーとしてベイクします。
対象のメッシュモデルを選択し、マテリアルをaiAmbientOcclusionからLambert等にアサインを変更。
メニューから、Mesh Display (メッシュ表示)> Paint Vertex Color Tool □(頂点カラー ペイント ツール □)を選択。
Tool Settings (ツール設定)を開きます。
Tool Settings が表示されたら、Attribute Maps (アトリビュートマップ)> Import (読み込み)を開き、Map nameの項目で[Import…(読み込み…)]をクリック。
ファイルダイアログが開くので、先程作成したAOテクスチャーを選択しインポートします。
AOテクスチャーの色情報がメッシュモデルの頂点カラーにベイクされました。
Arnoldで作成したAOテクスチャーを頂点カラーとしてベイクする場合の問題点
ArnoldのAO結果を頂点カラーとしてベイクする事はできましたが、この方法には問題点があります。
・一度AOテクスチャーを作成する必要がある
・ソフトエッジとハードエッジの区別が無い
■一度AOテクスチャーを作成する必要がある
やはり手間が増えるのは面倒。
頂点カラーのベイクの為に、色情報としてのAOテクスチャーを作成する必要があるのは、手順として面倒ですね。
現時点で考えられる解決策はスクリプトを作成する事でしょうか。
■ソフトエッジとハードエッジの区別が無い
AOテクスチャーをインポート、メッシュモデルのバーテックスに色情報を付加するので、ソフトエッジとハードエッジ関係なく、全てソフトエッジの結果になります。
ライトを使わずに軽い処理で擬似ライトのような表現ができる頂点カラーですが、AOの頂点カラーの場合は、ライトと合わせて使用する事になると思うので、それ程にはならないかもしれませんがどうでしょう。
ちょっと微妙かな…
TurtleでAOを頂点カラーとしてベイクする
MAYA2017でmental rayを外す判断をしたオートデスクが、それに変わるAOの頂点カラーベイクとして想定したのは「Turtle」を使う方法なのでしょうか。
というか、コチラのほうがAOの頂点カラーベイク方法としては一般的かも
MAYAに付属するGI(グローバルイルミネーション)レンダラーのTurtleは、規定では有効になっていないので、Plug-in Manager(プラグインマネージャ)で有効にします。
Render(レンダー) > Render Settings…(レンダーの設定…) クリック。
Render Settingsを開きます。
Render Settingsが表示されたら以下のように設定します。
Render Usingを[TURTLE]
TURTLEタブを選択。Render Typeを[Baking]に設定
Bakingタブを選択。Bake To を[Vertices]に設定
頂点カラーをベイクするメッシュモデルを選択し、Target Surfaces の[Add Selected]をクリック。登録します。
Color Setに適当な名前を入力、RGB BlendingやAlpha Blendingでカラーの置き換え、又は乗算など。諸々設定
Shader Oututs項目のCustomを有効に。
Custom Shader の右のボタンを押しCreate Render Node を開き、IIr Occ Sampler を選択、設定します。
これで設定は完了しました。あとはレンダリングを実行すれば。AOの頂点カラーがベイクされます。
Render(レンダー) > Render Current Frame (現在のフレームのレンダー)をクリック。
AO頂点カラーがベイクされました。
ArnoldのAOテクスチャーを使用する方法とは違い、ソフトエッジとハードエッジが判別されています。
ただ、クオリティー面でみると、真っ黒な頂点カラーなど所々甘い箇所があり、使い方はケース・バイ・ケースに思えますね。
簡単な小物なら、問題の箇所を修正すれば解決しますが、複雑なオブジェクトや広い・大きいモデルの場合は、見つけて修正するのも一苦労です。
|
ArnoldのAOを頂点カラーとしてベイクする方法のまとめ
ArnoldのAO(アンビエントオクルージョン)を頂点カラーとしてベイクする方法を解説しました。
Arnoldには、頂点カラーをベイクする機能は無いため、AOを頂点カラーとしてベイクするためには、一度AOテクスチャーを作成し、それを色情報としてインポートする必要があります。
しかし、この方法の問題点として、ソフトエッジとハードエッジの区別を付けられない、AOテクスチャーを作成する必要がある、事が挙げられます。
MAYA2017以降でAO(アンビエントオクルージョン)を頂点カラーとしてベイクする最も一般的な方法は「Turtle」の使用。
ソフトエッジとハードエッジを区別した結果が得られますが、多少クオリティーに難があるため、ArnoldのAOテクスチャーを使用する方法とケース・バイ・ケースで使い分けるのが良さそうです。
「Autodesk Mudbox」」3Dデジタルペインティング & スカルプティングソフトウェア |
2005年度版、映画「キングコング」の制作に使用され名を広めたスカルプティング・ペインティングツール。Autodesk製品のMAYA、3ds MAX とのデータのやり取りもスムーズで、競合する「Zbrash」に比べて圧倒的な安さは特質すべきポイント。今後3DCG制作でキャラクター、背景、分野関係無くスカルプティング技術が必須になるのは確実で、機能と価格のバランスを考慮すると、最初に導入するソフトウェアの候補になるでしょう。 |
価格:14,300円/年(税込) |
>>Autodesk Mudbox の詳細/購入はコチラから |
|
|
|
BTOパソコンの草分け的ブランドFRONTIER(フロンティア) 3DCG/動画編集/ゲーム用途に合わせてCPUやGPUなどパーツを自由に選べてコスパにもこだわる方にオススメ。 |
|
|
|
|
|