見出し画像

3dsmaxのArnoldで線画を出す方法 ~アニメ美術設定向け~

アニメの美術設定と線画表現

アニメの背景美術の仕事の一つに「美術設定」があります。
アニメの背景画は基本的にカラーですが、美術設定は主に白黒の線画で描かれることが多いです。最近では3DCGをベースに使う例も増えていると感じます。(下記画像は架空の美術設定ですが、3DCGツールで出した線画を元にレタッチして仕上げた美術設定のイメージです。実際にはもっと部屋全体が見渡せるような構図で描くことが多いです。)

画像9

この記事では、「美術設定作成時のベース用に線画を出す」という用途を念頭に置いて、3dsmaxのArnoldレンダラーで線画を出す基本的な方法を備忘録的に記しておこうと思います。あと、Pencil+やCinema4DのSketch and Toonとの簡易な比較紹介なども少しだけできたらと思います。

3dsmaxでライン描画(やToon表現・セルルック表現)といえば、アニメ業界では「Pencil+」プラグインを使うのが大定番です。なので、あえてArnoldでライン描画を行おうという発想が自分にはなく、つい先日までArnoldで線画出しができると気づいていませんでした。
そのことをなにげなくTwitterで呟いたら思いがけず反応があったので、もしかして多くの人も自分同様気づいていなかったのでは?とも思い、まだ基本的なことしかわからないのですが「Arnoldでライン描画を行う手順」を記していきたいと思いました。

アニメの美術設定用途の場合、下記のような条件を満たせればおおよそOKと考えています。
・線画をレンダリング後にPhotoshop等でレタッチして描き足して仕上げるので、ある程度形状がわかる線がでればそれで十分。多少おかしなラインが出ていてもあとで消しゴムで消せばOK。
・白黒でとりあえずラインだけ出ればOK。陰影はあれば便利だけど無くてもOK。
このような観点で、主に線画を活用する想定で試しています。

Arnoldでライン描画 ~Toon マップを使う~

とりあえずArnold公式のヘルプを見たのですが、それだけだと具体的にどうすれば良いかよくわかりませんでした、、。
https://docs.arnoldrenderer.com/display/A5AF3DSUGJPN/Toon

そこで、わかりやすそうなチュートリアル動画を探し、下記のような動画を見つけました。

こちらの動画を参考にさせていただき、動画で学んだことと自分で試してみて気づいた点を要点だけしぼって記していきます。(※3dsmax2019で試しています

1,Toon用マテリアルの3点セットを用意

画像2

まず、上の画像のように「Map to Material」「Toonマップ」「Ramp Rgb」の3点セットを用意します。最低限この3点セットで「ライン描画」と「トゥーンシェーディング」用のマテリアルの準備ができました。「Ramp Rgb」を「base_tonemap」の項目につなげるのがポイントでした。「Ramp Rgb」はグラデーションマップのようなもので、これでトゥーンシェーディングの階調数等をコントロールできました。
このマテリアルを、線画出しなどをしたいオブジェクトに適用します。ただし、このマテリアル設定だけではレンダリングしてもまだ線画がでませんでした。

2,Toon表現用のレンダリング設定

画像3

上の画像のように「レンダリング設定」を色々設定する必要があるようでした。特に「Sample Filter」の「Type」をデフォルトのものから「Contour」に変えるのが重要でした。ここを「Contour」にしないと一切線画がでてきません。また、先のチュートリアル動画に従って他にもいくつかの設定を変えたほうが良いようです。例えば3dsmax標準機能のほうのバックグラウンドバックグラウンドカラーをブラックにした上で、Arnoldのほうの設定で見やすいようにバックグラウンドにカスタムカラーを設定したり、IBL(環境ライティング)を切る、などすると良いようでした。
また、自分でチュートリアル動画を真似してなかなかうまくできなかった注意点です。最初に自分で試した際に「ふつうにレンダリングすると線がでるのに、ActiveShadeにしたらなぜか線がでない??」となって戸惑いました。原因は「Toon用のレンダリング設定は各モード毎に設定することが必要」ということでした。
3dsmaxのArnoidでリアルタイムプレビュー(インタラクティブレンダリング)を行うには、ふつうのレンダリング(プロダクション レンダリング)モードではなく、「ActiveShade」モードでレンダリングを行う必要がありますが、上で行ったようなレンダリング設定をプロダクション レンダリングモード用だけでなく、ActiveShade用にも改めて同じ設定を行う必要がありました。この点にしばらく気づかずにハマりましたので、注意喚起として記しておきます。

3,RampRGBのグラデーションでトゥーンシェーディング

画像4

トゥーンシェーディングは上の画像のようにRanmRGBのグラデーション機能によってコントロールできました。はっきりした階調表現にする場合は「補完」を「一定」にするなど。このあたりは一般的なトゥーンシェーディング機能の基本通りかと思われます。トゥーンシェーディングについては他にもハイライトやリムライトなどの機能もあるようですが未検証なので触れられません。
ライン描画のほうについて検証を続けました。上の画像の段階では「輪郭線」や「交差線」はでているようですが、立方体の手前側のエッジなどにラインが出ていません。角度の違いによる線が出ていない状態なので、設定をつめていきます。

4,角度の違いによるライン出し

画像5

上の画像のように、Toonマップの設定項目のうちの「Angle Threshold」の数値をいじると角度の違うところにラインがでました。例えば「45」にすると「45度以上角度のあるところにはラインを引く」という感じだと思われます。
ただ、上の画像に「??」と示したように、角度はあっても上手くラインが出ていない部分がありました。先のチュートリアル動画でもあまり触れられていなかったので、どういう仕組みかよくわかりませんでした、、。以下は自分なりの試行錯誤です。

5,UV Thresholdで個別にライン出し調整

画像6

上の画像のように、Toonマップの設定項目のうちの「UV Threshold」の数値をいじると先ほど立方体で上手くラインがでなかったところにラインがでました。ただ今度は逆に球体のほうに変なラインが出てしまいました。「UV Threshold」という名称なので、おそらくUVのシーム(切れ目)に関係しているのだろうと思われました。下記画像のようにUV展開を行うと「UV Threshold」の値との対応関係が変わりました。(UV展開前は「0.1」以下でないと上手くラインが出なかったのが、UV展開後は「0.5」でもよくなった。詳細は理解できずですがおそらくUVのシームに反応している様子、、)

画像7

球体は必ずどこかにUVの切れ目が見えてしまうので、ベストな方法かどうかわかりませんが球体用にマテリアルを複製して「UV Threshold」の数値を「0」にしたものを球体に適用しました。

画像8

これで一通りの線画設定は完了です。これくらいの設定で「美術設定用」の線画としては十分かと感じました。
このようにして一通り設定したものが最初に上げたtwitterでの動画のものでした。(ハイライト表現を追加しています)
「ActiveShade」でリアルタイムにビュー上でもろもろ調整できるので、レスポンスはとても良い印象でした。交差線や角度線もなかなかきれいに出ている印象でした。角度線が微妙に途切れるところなどは味があって良いと感じました。ラインに関しては太さや透明度を変えたり輪郭線のみ別に扱ったりと色々調整できるようでした。

画像9

おまけ ~他の機能との比較~

基本だけでしたが、自分で調べられたArnoldでの線画出し方法の紹介は以上です。

最後におまけでArnoldでの線画出し機能と、他の線画出し機能との簡易な比較を行った際の感想を記しておきます。

画像10

上の画像は3dsmaxの標準機能で昔からあるInk'n Paintマテリアルを使用したものです。Ink'n Paintのマテリアルを適用して軽く設定をいじるだけで上のようなラインが出たので、レタッチ前提で線のきれいさにこだわらなければ一番手軽で良いかもしれません。ただちょっとやはり線が汚く出る部分があったり、正確にラインが出ていない部分がありました。ID分けなどで対応できる部分もありそうでしたが、あまりこだわらずに手早く使うのに向いているという印象でした。

画像11

上の画像は3dsmaxの有名プラグインであるpencil+で出したものです。アニメ3DCG業界ではいわゆる「セルルック表現」によく使われるプラグインで説明不要かと思いますが、逆にアニメ業界以外では知られていない可能性もありますので、下記にpencil+で線画出し設定を行う様子を上げておきます。

簡単な設定で、非常に正確にきれいなラインが出せます。ArnoldやInk'n Paintとの機能の違いをいくつかあげますと、

・ライン出しとToonシェーディングの機能が分かれている。Toonシェーディングはマテリアルで、ライン出しはポストエフェクトで行う感じ?なので、線画出しをマテリアル設定やマップ設定と独立して行える。
・線の出し方についての設定(ラインセット)をオブジェクト毎もしくはマテリアル毎に個別に簡単に設定できる。

というような利点があります。望んだ形での運用がしやすいです。

アニメ業界で3dsmaxを使用している会社さんの多くはPencil+を使用していそうなので、あえてArnoldでライン出しを行う機会は無いのかもしれません。Arnoldが搭載された3dsmaxやMAYAではPencil+が使え、アニメ業界でPencil+にこだわる必要がなければ3dsmaxやMAYAを使う必要性も薄くなるかもしれないので、あえてArnoldでライン出しを行うケースはアニメ背景美術業界ではほとんど無い??のかもしれません、、が備忘録的に「Arnoldでライン出し」を紹介してみました。

最後に3dsmax以外のツールでの線画出し機能の紹介を少し。

画像12

上の画像はCinema4DのToon表現機能である「Sketch and Toon」で出したものです。

画像13

Cinema4D(S24)に標準で付いてくるアセットブラウザに色々な質のラインのプリセットが用意されているので、それを適用するだけで色んなライン表現ができます。交差線や角度線なども基本機能として対応しています。
レンダリングスピードでは3dsmaxのPencil+に及ばないのですが、Cinema4DのSketch and Toonは手描き感など味のある描画が得意な印象です。(Pencil+でも設定次第で様々なタッチのラインが出せます)

おわりに

以上で「アニメ美術設定用途」でArnoldなどでライン出しを行う機能の紹介は終わりです。
最近はblenderでも交差線がすぐ出せるようになったりと、線画出し機能も進化しているようですね。

「3D背景屋さんコミュニティマガジン」では他の方がblenderやSketchUpでのライン出しについて書かれていたりしますので、良かったらそちらもご覧ください。


この記事が気に入ったらサポートをしてみませんか?