MayaのAi Toonシェーダーを利用することで、レンダリング結果が漫画風になります。
この記事ではAi Toonシェーダーの使い方を紹介します。
Ai Toonシェーダーのレンダリング結果
Ai ToonシェーダーとAi Standard Surfaceシェーダーでのレンダリング結果の比較です。
同じジオメトリに対して、左側はAi Standard Surface、右側はAi Toonシェーダーをそれぞれ適用した結果です。いかがでしょうか?Ai Standard Surfaceの方は写実的に、Ai Toonシェーダーの方は漫画っぽくなっているでしょうか?色を付けているせいもあって、こういうテイストのイラストもあるよねという感じになっていますね。
初めて見たとき、アメコミっぽいって思いました。
Ai Toonシェーダーの設定方法
Ai Toonシェーダーは次のようなノード構成で使用します。
「PostBodyToon_MAT」がAi Toonです。「aiRampRgb2」はAi Ramp Rgbです。
Ai Ramp Rgbの設定
比較画像の右側のAi Toon適用結果は3色の赤系統の色が見えると思います。この色を生成しているのがAi Ramp Rgbです。
Ai Ramp RgbのOut ColorをAi ToonのBase Tonemapと結ぶのですが、ハイパーシェードでの設定時には表示されない場合もありますので注意が必要です。
次のように操作します。
(1) Ai Toonのアトリビュートエディターを開く。
(2) BaseのTonemapの横のマス目のボタンをクリックする。
(3) Ai Ramp Rgbを選択する。
色はグラデーションを設定するように、アトリビュートエディターで、Ai Ramp RgbのRampのSelected Colorに設定します。2色から4色くらいが良いでしょう。また、各色のInterpolationをNoneに設定して、かっちり変わるようにします。
輪郭線を表示する
エッジに輪郭線がレンダリングされるようにするため、次のように操作してArnoldの設定を変更します。
(1) レンダラーの設定を開く。
(2) Arnold RendererタブのFilterのTypeからcontourを選択する。
Widthはデフォルト値の2.0でも問題ないでしょう。
輪郭線の描画具合の調整
輪郭線がどのように描画されるか、レンダリングしながら調整が必要です。
調整はアトリビュートエディターでAi ToonのEdge DetectionのAngle Thresholdの値です。デフォルト値の180ではまったく表示されませんでした。かなり小さい値で調整します。
光源やカメラの位置、レンダリング解像度によって見え方が大分変わるので、試行錯誤します。たとえば、上記の比較画像における各値のレンダリング結果は次のようになりました。
まとめ
今回の設定では、漫画風の表現は可能でしたが、アニメ風のセルルック表現には至らなかったようです。設定を変えれば可能性もあるかもしれません。
アニメの制作でも3Dをレンダリングしているという話を聞いたことがあったので試してみたのですが、ちょっと違いました。調べてみると、Pencil+というプラグインがよく使われているようです。
Ai Toonでもセルルックになる(2022年5月9日 追加)
Ai Toonについて検索してみると、Ai Toonでもセルルックになっているページありました。
設定次第みたいです。次のページに色々、設定が載っています。
Mayaでセルルックキャラクターを作るコラム(2022年9月13日追加)
Autodesk::AREA JAPANでは、Mayaを用いてセルルックキャラクターを作成する方法についてのコラムが公開されています。
こちらのコラムはAi Toonではなく、Unityに持っていて、ユニティちゃんトゥーンシェーダーで仕上げているようです。