チュートリアル / Mayaで作るセルルックキャラクター
そこはかとなくアウトローなモデリング方法でセルルックの美女を作ってみた
第5回:令和最新版!法線設定によるキャラクターの印象の明確化

  • Maya
  • アニメ
  • ゲーム
  • コラム
  • チュートリアル
  • モデリング
  • 学生・初心者
  • 映画・TV
第5回:「令和最新版!法線設定によるキャラクターの印象の明確化」

皆様いかがお過ごしでしょうか、エスエフグラフィックス林です。
第五回はまるまる一回、法線に関しての手法を紹介させていただこうと思います。
「いまさら法線?」って声があらゆるところから矢のように飛んできそうですが、最後までお付き合いいただければと思います。

意図しない顔の陰影を無くしたい

2Dテイストのキャラに限らず、顔の陰影に関しては昔から切っても切れないテーマの一つですね。
プリレンダー、リアルタイムカットシーンなどではライティングやアングルをはじめ、様々な方法で解決できますが、ゲームのリアルタイム表示、特にプレイヤブルキャラなどでは、なかなかそうもいきません。

昔からの手法として、光源の影響が反映されないマテリアル(アンビエントカラー等)を使用し、テクスチャマップで陰影の表現を行う手法があります。
確実に意図通りに表示することができる反面、ライトの影響を受けないがゆえに当然ライティングによる演出を行うことはできません。

もう一つポピュラーな手法として、「法線の転送」というテクニックがあります。
顔面の形状が複雑なメッシュに対して、球体メッシュなどの滑らかで規則性のある法線のメッシュから法線情報を転送し、元のメッシュの法線を上書きする方法です。
こちらはライトの影響を受けつつも、転送元メッシュの法線に準じた自然でなだらかな陰影に表現できるため、主に顔面や髪のモデルに対して使用すると十分な効果を期待できます。
今回はこちらの法線の転送に関して紹介していきたいと思います。

第5回:「令和最新版!法線設定によるキャラクターの印象の明確化」

単純なメッシュに法線の転送を施してみました。
画像左の黄色い星型メッシュに対し、画像中央の赤い球体メッシュの法線を転送した状態が画像右の星型メッシュとなります。
下に表示されているワイヤーフレームを見ていただくと、右端の転送後メッシュの法線が赤球体メッシュに準じて、きれいな放射状に広がっているのがお分かりいただけるかと思います。

第5回:「令和最新版!法線設定によるキャラクターの印象の明確化」

次に実際にコラムで使用している顔モデルに球体法線の転送を試してみます。
不要な陰影は出さずに、ライトの指向性は反映される状態となりました。
シェーディングは転送元の球体に準拠した陰影ですので、無茶なライティングをしてもキャライメージが大きく損なわれることはほとんどありません。
ただ当然ですが、球体の転送だけでは元の顔のメッシュ形状自体の立体感は完全に失われてしまいます。
顔の造形が強くデフォルメされたデザインや、シェーディングに依存せずテクスチャで立体の陰影を描き込むアプローチの場合は、手順のシンプルさも含めて単一の球体転写は、非常に有効な方法です。
しかし、やはりある程度の立体感、ライティングによる良い意味での意外性が欲しいところです。そこでご紹介したいのが

複数の参照メッシュから法線を良いとこ取りする方法

これは、顔面の部位によってパーツ分けを行い、それぞれのパーツに特化した転送用メッシュを用意することで解決してしまおうというアプローチです。
今回はコラム用ですので、あまりにマニアックかつ複雑なパーツ分けにならないよう比較的シンプルな構成を目指します。

まずそれぞれのパーツの属性を検討します。
とりあえず大まかに
①ライティングにかかわらず、画一で滑らかなグラデーションが望ましい部分
②横方向のライティングによって陰影を強調したい部分
③縦方向のライティングによって陰影を強調したい部分
といった具合に分けてみます。

これなら転送元のモデルを3つ用意するだけですみそうですが、今回のキャラモデルは、ややリアル寄りなテイストですので、立体のニュアンスをもう少し盛り込んでいきたいと思います。
あまり複雑すぎると陰影の付き方がうるさくなってしまうため、立体感をもり込みつつ適度に整頓された陰影を目指します。

転送先メッシュの準備

転送先メッシュは法線情報をインポートする側、すなわち顔面メッシュのほうです。
転送の前段階として顔面メッシュの最適化を行います。
パーツの境目となる部分はエッジ形状がそのままダイレクトに出ますので、カクツキの処理や分割の追加などを行いつつ形状を整えます。
また頂点の乱れている部分やローポリゴンでメッシュが少な過ぎる部分も合わせて対応します。表情の変化も踏まえ対応します。
今回のモデルは、第一回のテンプレートの段階である程度の陰影をマテリアルカラーとして設定していました。そこで、それらをガイドとしてパーツの切り分けラインを検討しました。

第5回:「令和最新版!法線設定によるキャラクターの印象の明確化」

メッシュ調整を施し、転送パーツごとに色分けをした状態です。
いろいろ検討した結果、今回は全8つのパーツに分割しました。
・正面
・側面1
・側面2
・下面1
・下面2
・鼻側面
・眼球
・唇

第5回:「令和最新版!法線設定によるキャラクターの印象の明確化」

ただし、眼球、唇には法線の転送は使用せず、今回元のメッシュの法線をそのまま使用することにしました。つまり、転送を行うのは6メッシュとなります。
法線転送+結合後にパーツ分けを再度変更するのは、かなり大掛かりな修正になります。パーツの分割ライン、パーツ数はじっくり検討したほうが良いです。
階調ごとの境目がパキっと分かれたようなセル塗を想定している場合、ここで一旦下準備は完了です。

第5回:「令和最新版!法線設定によるキャラクターの印象の明確化」

今回はパキっとした部分となだらかに陰影がつく部分とを混在させたいので、さらに一工程を踏みます。
右図の赤線のようにパーツの境目に縁取るようにエッジを追加します。
法線設定後、元の境目(青線)の頂点に対し「法線の平均」を行うと、追加された赤エッジとの間隔でグラデーションがかかります。
グラデーションをかけるかどうかにかかわらず、パーツの境目は基本的にエッジを追加しておいたほうが良いかもしれません。

法線の転送は「メッシュ」→「メッシュ」だけではなく「メッシュ」→「フェイス」に対しても可能です。
今回は取り回しの利便性や設定ミスの防止の観点から、メッシュの抽出を使用しパーツごとに切り分けを行います。
最後に全パーツのヒストリ削除を行い1つのツリーにまとめておきます。

転送参照元モデルの作成

基本的には各部位の転写に特化したシンプルなモデルです。
作成方法は特にルールはありませんが、球体やシリンダー等から作成するのが一般的かと思います。

各転送元メッシュは、主に以下のポイントに注意して作成します。

①凹凸の無いなだらかな面構成
②それぞれ対応する転送先メッシュを覆うくらいのサイズ→めり込むと法線が正しく転送されません。
③できるだけポリゴンの細分化を行う→ローポリゴン過ぎるとシェーディングが滑らかに転送されません。

第5回:「令和最新版!法線設定によるキャラクターの印象の明確化」

切り分けた転送先の顔モデルと一対になるよう数を揃えます。
今回転送を行わない2メッシュを除いた「6つ」となります。

第5回:「令和最新版!法線設定によるキャラクターの印象の明確化」

全てのメッシュを作成し配置した状態です。
初回一発で想定通りの転送結果になることはまずありえませんので、この段階では必要以上にこだわって形状を調整する必要はありません。
転送元のソフトエッジ化+ヒストリ削除を実行し、こちらも転送先メッシュと同様に1つのツリーにグループ化して準備完了です。

法線の転送

第5回:「令和最新版!法線設定によるキャラクターの印象の明確化」

法線の転送は、始めに転送参照元モデル、次に転送先モデルの順で追加選択します。そして、メッシュ→アトリビュートの転送のチェックボックスを開き、ウインドウ上段の転送するアトリビュートで頂点法線のみチェックを入れます。
左下の「転送」を実行します。

第5回:「令和最新版!法線設定によるキャラクターの印象の明確化」

顔の正面パーツに転送を行った状態です。
転送元メッシュの状態で、単調な陰影にならないよう中央にややエッジを付けたのですが、それがもうまく転送されました。

順番に全パーツに同様の手順を行います。
一通りこの段階でシェーディングが意図と大きくズレはないかだけ注意します。
1パーツで適正か判断するは難しいので大きな不具合が無ければ一旦全パーツ転送を行います。

第5回:「令和最新版!法線設定によるキャラクターの印象の明確化」

全パーツ転送を行いました。
ライティング、アングルなど変えながら法線の状態を確認します。
陰影が極端すぎたり、逆に効果が感じられない箇所、シェーディングのひずみが出てしまっている箇所などを念入りにチェックし対応します。
ここでの調整は基本的に「転送元メッシュ」に対して行います。「転送先メッシュ」の修正を行っても問題ありませんが、作業段階を明確に分けたほうが望ましいとは個人的に思います。
もし、最終的に使用する予定のシェーダーや表示環境が予め確定している場合は、該当のシェーダーをアサインして、使用する環境(Unity等)で表示確認を行いながら調整を行うほうが望ましいです。

修正を行った後に再度転送を行う際には、前回の転送情報が残っている可能性がありますので、必ず転送先メッシュの<ヒストリ削除>→<法線のロック解除>を行ってから再転送してください。

想定通りに出来上がりましたら、最後にすべての転送先メッシュを選択してヒストリ削除を実行します。これで転送された法線情報が転送先メッシュに焼き付けられた状態となります。
※このままメッシュを結合してしまうと作業を巻き戻せなくなってしまいます。別名保存やメッシュツリーの複製でバックアップを用意しましょう。

転送先メッシュをすべて選択し結合→マージ→ヒストリ削除で完了となります。

グラデーションを追加する場合

第5回:「令和最新版!法線設定によるキャラクターの印象の明確化」

あらかじめグラデーション用のエッジを追加した部分の処理を行います。
パーツ境界の頂点(画像左側の赤色で示した頂点)を選択し、メッシュ表示→法線→平均化を実行
右画像が平均化を行った状態になります。
法線方向が隣接するエッジループ(追加した箇所)との中間値です。
本来、頂点フェイスの編集で調整のほうがより細かく設定できるのですが、それ相応に手間がかかります。
平均化でなじませるのはお手軽な方法ではありますが、それなりに効果も出るので、是非使ってみてください。

第5回:「令和最新版!法線設定によるキャラクターの印象の明確化」
第5回:「令和最新版!法線設定によるキャラクターの印象の明確化」

一通りの法線設定の工程を行った今回の複合法線のメッシュと未設定メッシュ、球体法線メッシュの比較画像です。
どれが正解というものでもないのですが、全く同一のモデルの印象が法線処理だけで大きく変わるということをご理解いただけるのではないかと思います。

法線設定後のモデルはブレンドシェイプのターゲット作成、スキニング等も通常モデルと同様に作業できます。また、結合やマージも行って問題ありませんが、以下の処理についてはNGとなりますので注意してください。
・ソフトエッジorハードエッジ設定
・法線のロック解除
・頂点、エッジ等の追加
・スムージング(分割)
上記を行うと法線設定が外れる、もしくは壊れてしまいますので、法線設定を行う場合はキャラ作成のワークフローでどの段階で対応するかは各々ご判断ください。
因みに自分の場合は表情(ブレンドシェイプ)作成の直前に行っています。

第5回:「令和最新版!法線設定によるキャラクターの印象の明確化」

グラデーションの設定を各部に施してみました。
マテリアルはLambertとなっております(アウトラインは反転メッシュで簡単に設定しています)
※髪モデルは作り直しました。
ここから実際にトゥーン系シェーダーを施すとまた印象もだいぶ変わってくるかと思いますが、そちらは次回のお楽しみということで。

今回は6パーツの複合による法線の転送を行いました。例えば、デフォルメキャラなどは、「球体法線ベース:鼻のみ専用の法線」といった具合にシンプルな構成のほうが効果を発揮できると思います。
法線に限らず、これまでご紹介してきたどの手法も基本的にはあくまで「今回のキャラクターをどう見せたいか」ということを元に行っています。このため、皆さんが作られるキャラクターにはバッチリ当てはまらないという可能性もあります。その辺りを念頭に参考にしていただければと思います。
皆様にとって何かしらのヒントやきっかけになれば幸いです。

おそらくお気づきかと思いますが、転送元メッシュグループは一度作成してしまえば汎用データとして再利用+カスタマイズができます。このため、一度作成してしまうととても便利です。

今回もコラムで使用したMayaのサンプルデータを用意いたしました。
特に転送元メッシュなどは、静止画では伝わり辛いので実際のデータをご確認ください。

次回はいよいよ最終回となります。

今回法線設定を施したモデルをUnityへ移行してシェーダー設定を行い、実際に表示させてみたいと思います。
また、頭部モデリングの関する細かい裏ワザ(?)など可能な限りお伝えしたいと思います。次回もよろしくお願いいたします!

製品購入に関するお問い合わせ
オートデスク メディア&エンターテインメント 製品のご購入に関してご連絡を希望される場合は、こちらからお問い合わせください。