チュートリアル / Mayaで始めるゲーム用ローポリキャラモデル シーズン2~最新ゲーム開発環境に即応したモデリング手法を伝授~
第3回:服の作成・調整
- Maya
- ゲーム
- コラム
- チュートリアル
- マテリアル・シェーダー・UV
- モデリング
- 学生・初心者
はじめに
こんにちは、高部(たかべ)と申します。
コラム3回目は、2回目にて紹介した素体に着せる形で服を作成します。また、素体・服のテクスチャのベースを作成しつつ、素体で気になった部分も調整しています。デザインとの整合性をとるだけではなく、想定する用途(今回はVRChat)に合わせた調整も行いました。
今回も20分ほどの動画と、サンプルのMayaシーンデータを作成しました。今回のサンプルデータの状態は以下のようになっています。
形状(素体・服) | 現段階で完了(完成までにさらに調整) |
テクスチャ(ベース) | AOと色味を作成、影はラフの段階 |
テクスチャ(マスク) | 作成なし |
ジョイント | 仮(おおまかに作成) |
スキンウェイト | 仮(おおまかに作成) |
Unity設定 | 仮(眉の描画順変更、仮アウトライン、仮リムライト) |
VRChat | 仮(バランスなどの確認) |
仮の状態が多いですが、全体的に少しずつ確認・調整しているためです。実機(VRChat)確認で形状を見直しある程度方向性が決まってきたため、4回目からは見た目に集中して取り組める段階となります。
モデルの用途である「VRChatを想定したモデル作成」を行うことが、とても重要なポイントとなります。そのため、今回から説明で用いる画像には、実機であるVRChat内で撮影した画像を入れています。Maya・Photoshop・Unityとは別の画像であることをわかりやすくするため、VRChatで撮影した画像の隅には【VR】と記載しています。
3回目もくじ
・今回の前提
・形状作成
-- 前提
-- サンプルカラーのアサイン
-- 顔周辺の印象の調整
-- 素体と服の確認と調整
-- 肌に密着した服の作成
-- ポーズをとらせながらの形状作成
-- スカートの作成と調整
-- 袖の作成と調整
-- nClothを使用したしわの作成
-- 四角ポリゴン描画によるリトポロジー
-- ここまでの形状作成・調整の進捗
・テクスチャ作成
-- 前提
-- Arnoldを用いたAO作成の例
-- 3DCoatの使用
-- グラデーションマップ・べた塗りレイヤーによる色付け
・実機出しでの調整
-- 顔・髪の印象の調整
-- 口の確認と調整
-- アシンメトリの髪の毛の形状の調整
・今後行う調整
-- ディテール作成
-- 顔にかかる横髪
-- 肩回りのシルエット
-- 袖の長さ
-- 服に合わせた素体形状の調整
-- 太ももと靴下のシルエット
-- わきの下の陰影
・その他補足
・3回目のまとめ
・次回のコラムの内容
今回の前提
3回目となる今回は、2回目で作った素体に服を着せていきました。仮テクスチャを作成し、実機(VRChat)確認を行うプロセスを時系列で書いていきます。一般的なモデリングのコツも紹介しますので、VRChatを触ったことがない方でも安心して読んでいただければと思います。
「形状作成」「テクスチャ作成」「実機出しでの調整」「今後行う調整」の順に紹介します。今回は仮テクスチャ・仮シェーダーまでの作業となるため、説明に使用している画像はその状態のものとなることをご了承ください。
今回のポイントは、服の作成と調整だけではなく「早い段階での実機確認」です。ある程度形ができてきたとはいえ、仮テクスチャ・仮シェーダーで実機出しは早いのでは…?という方もいらっしゃると思います。しかし、早目に「使用が想定される環境で確認する」というのは非常に重要です。「Maya上でクオリティが高く見えるか」は大切ですが、「使用用途である実機上でクオリティが高く見えるか」のほうが重要なためです。
◆MayaとVRChatのモデルの見た目が、大きく差異があることが多い【下図↓】
◆VRChatでは自分のモデルを鏡写し(左右反転)で見ることもある【下図↓】
◆自分のモデルを顔の目線から見ることになるため、服の形によっては手や脚が服に隠れて見えないことがある。また、一人称視点では自分からよく見えやすい手や腕、胸周りのテクスチャの解像度が不足していると感じることがある【下図↓】
という理由のため、実機(VRChat上での)確認が必須となります。完成間近で実機確認を行ってもよいのですが、クオリティアップを目指す際には巻き戻りが発生する可能性が非常に高いため、現段階で調整できそうな部分は調整しておきます。
形状作成
前提
2回目で作成した素体に服を着せていきます。2回目で紹介したように、服のモデル作成もデザインのトレースから開始しています。
今回のデザインは「正面」「背面」「簡単なディテール」を用意しているので、それらをもとに形状を作っていきます。2回目のコラムでも書きましたが、デザインのトレースはあくまで形状を作り始める際の足掛かりです。形状がある程度できてきたら、モデルをいろいろな方向から見つつ、デザインとモデルを目視で比較し、違和感がないように少しずつ整えることがとても大切です。
時間はかかりますが、一つ一つ違和感を取り除くことの積み重ねが最終的な完成度に直結します!
サンプルカラーのアサイン
■概要【サンプルカラーをアサインしながら進行することで、モデリングが効率的に進む】
2回目でも紹介したように「サンプルカラーのアサイン」を行いながら、デザインをトレース・デザインとモデルの目視確認をしていきます。モデルのフェースに目印をつけることでモデリングを行いやすくするのが目的となっているため、作るものが何であっても便利な方法の一つです。ある程度進んだ段階のものはこうなっています。【下図↓】
サンプルカラーのアサインの方法にルールはないため、自分がモデルを作りやすいようにざっくりとした色分けで大丈夫です!例として、私が意識的に色分けをする部分を以下に挙げてみます。今回の服は模様があるので、その模様に沿ってポリゴンを割ったうえでサンプルカラーをアサインしています。目立つ形の影もあるので、その部分もしわを作る際の足掛かりとなってくれました。【下図↓】
顔周辺の印象の調整
■概要【顔はクオリティを左右する大切な部分なので、できるだけデザインに合わせるようにする】
服を作りながらふと顔周辺を見ると、デザインとモデルの差異が気になったので少し直しました。
顔はモデルで一番に目が行くところでもあり、顔の第一印象でモデルのクオリティが左右されることが多いです。とても大切な部分なので、デザインと比較しながら印象を整えていきましょう。【下図↓】
【上図↑】を意識し調整を行いました。さらに細かいニュアンスは、今回の後半で行う実機(VRChat)確認で方針を決めます。ひとまず服の作成に戻りましょう。
素体と服の確認と調整
■概要【素体の形状に合わせた服を作成する】
「素体に着せる」ことを意識して服の形状を作っていきます。せっかく素体を作ったので、胸や背中の服の形状が素体に沿っているか確認して進めていきましょう。服を作っている途中、よく見ると服の形が素体に沿っていない…ということが今回のモデルでありましたので、途中で調整を行いました。【下図↓】
このように調整しました。調整することで、斜めからみたときに体のウエストのラインがわかり、すっきりした印象になってくれました。
肌に密着した服の作成
■概要【素体のポリゴンを複製することで、モデル・ウェイトの時間短縮ができる】
ソックス・下着など肌に密着した服は、素体のフェースを複製し、複製した頂点を法線方向に移動させ膨らませる(Ctrlキーを押しながらマウス中ボタンで右にドラッグ)ことで簡単につくることができます【 動画00:00~00:28】。この方法で作成すると、モデルの作成が短時間で終わるだけでなく、服のウェイトを素体から転写できるためメリットが多いです。【下図↓】
また、頂点を法線方向に移動させる操作は、肌に密着した服を作る以外にも非常に役立つ頂点の移動方法です【 動画00:28~00:50】。マニピュレータを操作せずに頂点位置を膨らませたり押し込むことができるため、形状の微調整を行う際に便利な操作です。
ポーズをとらせながらの形状作成
■概要【ポーズをとらせることで、モデルとデザインが比較しやすくなる】
2回目でも書いたように、服を作成するときには仮でジョイント・ウェイトを入れて関節を曲げてポーズを取らせることで、デザインとの比較がしやすくなります。
デザインのポーズのように「腕:左右とも下ろす」「脚:左右とも開く」ポーズを取らせつつ服を作成しています。そのポーズになるように、ジョイントにキーを打っておくと、タイムスライダを利用することでTポーズとデザインのポーズの切り替えが行いやすくなり便利です。【下図↓】
スカートの作成と調整
■概要【難しい形状を作る場合、細かい部分ばかりに意識が行きがちなので、全体像を確認しつつ形状を作る】
スカートは上面から見た時に円状に広がっていると、斜めから見たときにも形が綺麗に見えます。正面と背面だけにとらわれず、様々な方向から見て形をとるように心がけていきましょう。
今回のモデルでは、ある程度デザインを合わせた後にスカートを上部から確認したところ、形がいびつだったため大幅な形状調整を行っています。【下図↓】
袖の作成と調整
■概要【難しい形状を作る場合、細かい部分ばかりに意識が行きがちなので、全体像を確認しつつ形状を作る】
今回の服は袖が大きく目立つので、できるだけデザインと同じしわを作りたいと思っています。スカートと同じく、袖を作るときにもしわの作成だけに注力しすぎると、袖の断面がいびつになってきやすいです。しわをつくりつつも、断面が楕円〜円状から大きく歪まないことを確認しながら作業を行っていきましょう。【下図↓】
nClothを使用したしわの作成
■概要【nClothを使用し、しわの作成を物理演算で行う】
袖のしわはポリゴンを地道に割って作成することもできますが、ここでは一例としてMayaの機能であるnClothを使ってメッシュを作る方法を紹介します。nClothは、Mayaで使えるクロスシミュレーション(布の物理演算)です。いろいろな使い方ができますが、今回はメッシュに重力をかけてコライダ(衝突判定のあるオブジェクト)に当てて、しわのディテールを作っています。【下図↓】
なお、nClothでシミュレートに使用するポリゴンはハイポリゴンとなっています。このままだとポリゴン数が多すぎるので、次で紹介するツール「四角ポリゴン描画」にてリトポロジーを行い、ポリゴン数を減らしています。
このようにnClothで作成しています。デザイン画に近しいしわをつくるためにパッシブコライダの形状を調整し、何度かシミュレーションを繰り返しています。画像だけではnClothの実際の動きはわかりにくいと思うので、動画も用意しております。nClothを使ってみたい方は参考にしてみてください!【 動画00:50~07:52】
今回のnClothの手順の概要を紹介します。
① シミュレートさせるメッシュ(袖)に「nClothの作成」
② 衝突判定となるメッシュ(素体)に「パッシブコライダの作成」
③ 袖の肩部分を固定させるために、「袖の肩の頂点」→「素体」の順に選択し「ポイント対サーフェス」を選択
④ 袖を選択し「重力」を追加
⑤ nClothのプリセットを選択
⑥ 作りたいしわの形状に近くなるよう、素体の形状やnClothのプリセットを調整する
四角ポリゴン描画によるリトポロジー
■概要【四角ポリゴン描画はリトポロジーに役立つツールである】
「四角ポリゴン描画」ツールを用いたリトポロジー(ポリゴン再構成)はとても便利です。ここでは上記で紹介した、nClothで作ったハイポリゴンモデルに四角ポリゴンを配置することでリトポロジーを行い、ポリゴン数を減らしています。【下図↓】【 動画07:52~09:18】
配置した四角ポリゴンは後できれいにリラックスツール(shiftキー+左ドラッグ)で整えることができるので、四角ポリゴン一つ一つの形状にとらわれず、しわの凹凸とメッシュの流れの関係性を意識してポリゴンを貼っていくことが大切です!【下図↓】
【下図↓】四角ポリゴン描画の押し出しオプション(エッジ・ループ・境界)を使い分けることで、さらにポリゴン貼りが行いやすくなります。動画では「境界」を利用し、張った面を1ループ分外側に増やしています。頂点を一つ一つ打つよりも時短になることがわかると思います。【 動画08:38~08:53】
ここまで袖の作り方を紹介してきました。流れをまとめると、
①nClothによるハイポリゴンのシミュレートを行い、しわを作成
②シミュレート後のハイポリゴンのリトポロジーによる減ポリゴン
③減ポリゴンしたモデルをベースに、デザインに合わせて形状調整・パーツ作成
を行った袖モデルが以下の画像となります。この袖モデルを服の本体のモデルに結合し、服全体を作成していきました。【下図↓】
ここまでの形状作成・調整の進捗
だいぶ形状ができてきました!【下図↓】
次はテクスチャ作成を行っていきますが、気になるところが少しずつ出てくると思います。その時は都度調整を行うか、直したい部分としてメモを残しておきましょう。
テクスチャ作成
前提
★目的【AOを作成することで、形状、テクスチャともに進めやすくなる】
服の形状がある程度できてきたら、テクスチャに取り掛かるにあたりMayaでアンビエントオクルージョン(以下「AO」)を作成しました。AOを作成しなくてもモデルのテクスチャは作成できますが、私は以下の理由のためAOをベイクしています。
・モデルの形状がAOに反映されるため、モデルの形状調整のあしがかりとなる
・AOをベーステクスチャの作成に使用できる
・(4回目で説明)マスクテクスチャを作成する際のベースとなる
【下図↓】はコラム3回目終了段階でのテクスチャ+シェーダーです。AOをベースとし、グラデーションマップにて色味をつけ、デザインでも入っている分かりやすい影をラフとして一部書いておきました(服のしわの影など)。
レイヤー構成については、今回配布するpsdファイルを参照ください。
※さらに詳しくレイヤー構成の内容を知りたい方は、以前私がAREA JAPANで書かせていただいたコラム「Mayaで始めるゲーム用ローポリキャラモデル 第5回:テクスチャの作成」の「テクスチャ作成の方針」をみていただければと思います。
Arnoldを用いたAO作成の例
■概要【Arnoldを用いたAO作成方法の流れを紹介】
今回、AOはArnoldを用いて作成しました。その流れを一例として動画でも紹介します。【 動画09:18~14:40】
①事前準備
モデルのUVを展開し終えたら、AOをベイクするモデルのみを選択し、「選択項目の書き出し」でMayaシーンファイル(.ma)を書き出しておきます【下図↓】。モデルのみを書き出すことは必須ではありませんが、モデル以外の不要なデータを取り除きデータを軽くする目的で私は行うようにしています。
モデルのジョイントとウェイトは必須ではありませんが、「Tポーズ」と「腕を下ろした状態」でベイク結果が異なるので、腕を下ろせるようにしておいてもいいかもしれません。
モデルの法線は全体をソフトエッジにしています。「腕を下ろすか下ろさないか」「法線をどうするか」はベイク結果を見ながら調整できるのでいったん仮で大丈夫です。
② AOベイクシーンの作成と床の配置【
動画09:18~09:39】
①で作成した、モデルのみを選択して書き出したシーンを開きます。
AOベイクシーンは、ベイクしなおしする際にも使うので、モデリングをするシーンとは別のシーンファイルで保存しておくとよいです。間違えてモデリングシーンに上書きしたり、逆にモデリングシーンをAOベイクシーンに上書きしてしまうこともあるので、AOベイクシーン用のフォルダを作っておくとよいです。
まず、床を配置します。床は、ポリゴンプリミティブのプレーン(いわゆる板ポリゴン)で大丈夫です!位置はY=0(モデルの足元)の部分にしておきます。板ポリゴンの位置は④で行う、Arnoldのベイク結果を確認して調整できますので、いったんY=0においておきましょう。【下図↓】
③ マテリアル「aiAmbientOcclusion」の作成・設定・アサイン【
動画09:39~10:40】
ハイパーシェードで、「aiAmbientOcclusion」マテリアルを作成します。【下図①↓】のArnoldタブを選択し【下図②↓】のaiAmbientOcclusionをクリックすると、【下図③↓】の部分にaiAmbientOcclusionマテリアルを作成することができます。
【下図③↓】をクリックし、アトリビュートエディタで数値を設定します。私の数値設定を【下図④↓】においておきましたので参考にしてみてください。
「aiAmbientOcclusion」マテリアルの作成と数値設定が終わったら、そのマテリアルをAOをベイクするモデルにアサインします。アサインしておかないとAOが生成できないので、忘れないようにしましょう(床モデルにはアサインしてもしなくても大丈夫です。以下の説明画像では床にも「aiAmbientOcclusion」マテリアルをアサインしています)。
④ Arnold RenderView の起動【
動画10:40~12:24】
【下図①↓】Arnold>Renderから、【下図②↓】Arnold RenderViewを立ち上げます。すると、ビューポートの状態がArnold RenderViewにリアルタイムで表示されます。
必要に応じて、
・床の位置
・aiAmbientOcclusionの数値設定を変えてみる
・モデルの腕を下ろしてみる
・モデルをスムーズ化(ハイポリゴン化)してみる
・モデルの法線を調整してみる
の変更を試して、Arnold RenderView上でいい感じのAOになるように調整します。ひとまずいったん調整は行わず、AOをベイクしてみましょう。
※【下図↓】では、モデルの法線を調整してみた例を挙げています。
⑤ AOをテクスチャに出力する【
動画12:24~13:01】
Arnold RenderView上でいい感じのAOになるようモデルが調整できたら、AOをテクスチャに出力しましょう。今回は例として帽子のみベイクしてみます。
帽子のモデルを選択した状態で、
Arnold>Utilities>Render Selection To Texture 【下図①↓】を開きます。
Render To Texture【下図②↓】では
・Output Folder (テクスチャを出力するフォルダ)
・Resolution (解像度)
を設定します。いったん他の数値はそのままでOKです。設定が終わったら「Render」【下図③↓】を押します。ここでのコツは、Resolusionを大きくしすぎるとベイクに時間がかかってしまうため、最初は256などの解像度が低い状態でベイクしてみることです。低解像度でうまく出力できることが確認できたら、本番想定まで解像度を上げてベイクすると良いでしょう。
この小さいウィンドウ【下図↓】(Rendering to Texture)が出るとAOをべイク中です。解像度や設定により出力が終わるまでの時間は変わります。出力が終了すると、このウィンドウが自動で閉じます。
今回は帽子のみ選択してAOをテクスチャに出力しましたが、複数のパーツを選択して一度に出力することもできます。その場合、選択したパーツと同じ数のテクスチャが出力されます。(一つのテクスチャにまとめたいときは、モデルのパーツをマージしておきましょう)
⑥ テクスチャをPhotoshopで確認する【 動画13:01~13:13】
出力されたテクスチャは、
XXXXXXShape.exr という名前になっています。XXXXXX の部分は、Mayaのパーツの名前が入っています。今回は cloth_hat なので、cloth_hatShape .exr となっています。
ここでの注意点は、cloth_hatを選択し再度ベイクすると、AOファイルが上書きされてしまう点です。そのため、出力されたテクスチャを残しておきたい場合は、
・出力されたAOテクスチャを別の場所に移動しておく
・Mayaのパーツの名前を変更しておく(cloth_hat1など)
などを行っておくことが必要です。
それでは、ベイクできたAOテクスチャの cloth_hatShape.exr をPhotoshopで開いてみましょう。開いたときに【下図↓】のウィンドウが出るので、「透明度として」にチェックをつけてOKを押します。
【下図↓】のようにテクスチャが開き、AOがベイクされているのが確認できます。
⑦ 出力テクスチャをモデルにアサインして確認【
動画13:13~14:40】
上記の.exrファイルを.psdファイルに変換して、モデルにアサインしてMayaで確認してみましょう。
【下図①↓】のように耳が帽子に干渉しているため、帽子の側面に黒い部分が残りました。ということで一度耳を非表示にしてみます。また全体的に少し暗めな印象です。そこで、「aiAmbientOcclusion」マテリアルの設定を開き、【下図②↓】を黒から少し明るいグレーに調整しました。
ここまで終わったら、再度AOをテクスチャに出力し、出力されたAOをモデルに貼って確認してみます【下図③↓】。だいぶいい感じのAOになってきました!
⑧ 全パーツのAO作成終了
上記の工程を繰り返して、パーツごとにAOを作成していきました。最終的にAOは【下図↓】のような感じになっています。
3DCoatの使用
■概要【Photoshopだけでは難しい作業を3DCoatを用いて行い、クオリティアップと時間短縮を図る】
AOをベイクし、モデルにアサインしてみると…場所によってはAOを直したい部分がでてきます。メッシュの構成が複雑な部分や凹凸が多い部分は、AOがまだらになったり、うまくつながらなかったりすることがあります。Photoshopでの手直しを行おうとすると、UV領域の境目のテクスチャを調整したい場合にテクスチャがうまくつながらなくなることが多いです。
そこで私は、3DCoatというソフトを使用します。3DCoatはビューポートに表示したモデルに直接テクスチャを描画できるツールですが、非常に優秀な機能として「3DCoat上で撮影したスクリーンショットをPhotoshopで編集し、3DCoatに反映できる」という【下図↓】のような機能があります。
【下図↓】「外部エディタで投影領域を編集」というツールがそれにあたります。
この機能ですが、今回はMayaの紹介がメインのコラムですので割愛させていただきます。非常に便利なツールなので検索していただくか、私の補足記事「「3DCoat」の便利機能について」で詳しい使い方を紹介していますので、ご覧いただければ幸いです!
グラデーションマップ・べた塗りレイヤーによる色付け
■概要【グラデーションマップ・べた塗りレイヤーを使用して色をつけることで、色の調整が行いやすくかつきれいな色味が表現できる】
私は、テクスチャに色を乗せるときにPhotoshopの
・グラデーションマップ
・べた塗りレイヤー
を使用します。理由としては、どちらも「指定した色」が一目でわかり、「マスク」により描画範囲を指定できるためです。
通常レイヤーに直接ペイントすると、レイヤーに「どの部分に」「何が」「何色で」書かれているかを把握することが難しくなります。そのため、グラデーションマップとべた塗りレイヤーのマスクを使用してそれらをわかりやすくしています。【下図↓】
グラデーションマップとべた塗りレイヤーの使い分けについてですが、全体的な色をグラデーションマップで作成したあと、グラデーションマップでの表現が難しい部分(例:目のディテールなど)にべた塗りレイヤーを使用します。これについては、今回配布しているpsdファイルを見ていただければと思います。
グラデーションマップとべた塗りレイヤーを使用するメリットは上記に上げたようにいくつかありますが、一番の理由は色味の調整が比較的容易な点です。
※グラデーションマップとべた塗りレイヤーについての使い方のコツについて、詳しい部分は「Mayaで始めるゲーム用ローポリキャラモデル 第5回:テクスチャの作成」の「テクスチャ作成の方針」をご確認いただければと思います。
実機出しでの調整
ここまで、形状作成と仮テクスチャ作成を行いました。ここからは実機(VRChat)確認を行います。
前述したように、今回のモデルの仕様用途がVRChatのため、VRという実機で早めに確認することが非常に大切です。実機で確認して調整を行う必要があることは体感としても非常に多いですし、使用用途で一番見栄えをよくするためにも、実機での確認と調整は必ず行うといっても過言ではありません。
現時点でVRChat上に上げたモデルは、アウトライン・リムライトを暫定的につけています。アウトライン・リムライトも含め、全体的なクオリティアップは4回目で紹介させていただきます。
顔・髪の印象の調整
■概要【一番に目がいく顔と顔周辺のバランスを早い段階で確認し整えておく】
今回のコラム3回目「顔周辺の印象の調整」で顔や髪の調整を行いましたが、VRChatでモデルを確認してさらに調整を行います。VRでもそれ以外の用途でも、モデルの顔はまず一番に目が行く部分です。ということで、早めにVRChatにモデルをアップし、顔まわりの印象を実機上で確認してみる必要があります。
また、Mayaでの見た目では眉が前髪に隠れていますが、VRChat(Unity)では眉と前髪の描画順を変え、眉が前髪より前に出るようにしています。現時点での顔の印象を使用想定で見ておきたいため、こちらも暫定的に設定しました。
VRChat上のモデルの顔で最も確認したいのは「画角」です。VRChatで自分を近くから見ると、画角の関係でかなり間延びした顔に見えます【下図↓】。
VRChatでは正投影でモデルを見ることはほぼないため、画角が大きくなったときに顔のバランスが良くなるよう、私は顔のパーツをデザインよりほんの少し中央に寄せています。この調整はモデラーさんによって異なるところだと思います。
モデルの顔を「画角」「距離」で比較した動画を撮影しています。【 動画14:40~15:23】これを見ていただけるとわかるように、画角が大きくなるほど・距離が近くなるほど、正投影とパースビュー(persp)の見た目の差異が大きくなります。そのため、「実機での画角」と「どれくらいの距離でモデルを見ることがあるか」を必ず確認しておく必要があります。
また、髪の毛を含む顔まわりは非常に繊細で、少しの形状の違いが違和感につながってきます。特に肌と髪は色が大きく異なるため、少しの調整で肌と髪の境目の印象が大きく変わってきます。今回もある程度調整はしましたが、テクスチャを進めたりシェーダーを設定したりする際に違和感が出てくると思うので、今後も完成までにある程度調整をしていきます。
また、できる限りデザインと乖離がないように進めていきますが、場合によっては使用環境のVRchatでの見栄えを優先してしまっても良いと思います。いい塩梅で調整していきましょう!
VRChat確認前・VRChat確認後を比較してみます。調整前と調整後でかなり印象が変わっていると思います【下図↓】。
口の確認と調整
■概要【顔の他のパーツとともに口を確認し、全体的な顔の印象を確認する】
目の調整が終わったので、次は一度Mayaに戻ります。口を開いた状態でも確認し、目とのバランスを見て調整していきます。
本来のVRChat用の表情作成は、すべての作業が完了してからMayaの「ブレンドシェイプ」で作成を行います。現状ではまだ形状・UVの調整と変更がある可能性が高いため、ブレンドシェイプではなく、口にジョイントを入れて口を変形させ確認することにしました。仮なので、今回は上唇と下唇の2つのジョイントにしています。【下図↓】
※ブレンドシェイプは、一般的に作成後の頂点追加・UV変更を想定されていません。データの不具合を防ぐために、現状ではブレンドシェイプではなくジョイントでの変形を採用しました。
アシンメトリの髪の毛の形状の調整
■概要【アシンメトリの髪型を作るときの指針とコツの紹介】
髪の毛は、アシンメトリ(左右非対称)で作られることがとても多いです。アシンメトリのものは、反転してみるとバランスが非常に悪い…と感じることがよくあります。イラストでもあるあるな現象です。
なぜ左右反転の話をするかというと、VRChatでは、鏡に映る自分の姿がMayaのビューポートと左右反転となるため、「Mayaで作ってた時と印象が全然違う…」となることが非常に多いです。「今回の前提」で紹介したポイントです。【下図↓】
ということで、モデルが左右反転した場合でも違和感が少なくなるように髪の毛の流れやボリュームも調整してみました。それが以下の画像になります。【下図↓】
左右反転したときに違和感を少なくする方法として、Maya上で左右反転のインスタンスを作成することがあります。イラストでも、左右反転して違和感がないか確認することがあると思いますが、それと同じ感じです!インスタンスなので、元モデルを触るとインスタンスにも反映されるため、作業が行いやすくなります。
ここで紹介するインスタンスの作り方を紹介しておきます。【
動画15:23~16:29】
編集>「特殊な複製」のオプション(右端の □ )【下図①↓】をクリックし、特殊な複製のオプションウィンドウを開きます。
ジオメトリタイプを「インスタンス」とし、スケールを「x=-1.0000」とします【下図②↓】。そこまで設定できたら適用【下図③↓】をクリックします。
アシンメトリのモデルを作っていると、つい左右どちらかにボリュームの偏りが発生することも多いです。髪型はアシンメトリで構成される場合が多い印象です。
シルエットが左右で大きく異なる場合でないときは、ある程度ボリューム感も左右でバランスをとっておくと、左右反転になったときに違和感は感じにくくなります。【下図↓】
左右のボリュームの差がないかを確認するために、バウンディングボックスを使用する方法があります。Mayaのバウンディングボックスは、モデルの中の物体を囲んだ領域を表示するモード( シェーディング > バウンディングボックス【下図①↓】)です。
私はこのバウンディングボックスの考え方で、モデルを覆う左右シンメトリの立方体を作成し、モデルのボリュームに偏りがないか確認することをよくやっています。空間としてみたときにボリュームに左右の差がありすぎないかを確認しています!【下図↓】
【
動画
16:29~18:29】
モデルの左右のボリュームの確認方法についていくつか紹介してみました。モデルを左右反転で見ることがあるというVRChatの特有の環境のため、左右反転のモデルの状態も確認しています。もし、用途がVRChatでなくても、モデルの左右のボリュームをある程度合わせてあげるのは大切な点です。
今後行う調整
完成までには、さらに調整を行っていきます。調整したい部分をしっかりメモに残しておくことも、モデルのクオリティの底上げを行う際にとても大切になります。
・【優先度】
・【現状】
・【調整方針】
私はこれらの項目をを書いておくことが多いです。以下、このモデルで直したい部分のメモを一例として挙げておきますので参考にしてみてください。
ディテール作成
【優先度】
★必須
【現状】
テクスチャやシェーダーが仮の状態です。
【調整方針】
ベーステクスチャ・マスクテクスチャ・シェーダーを適切に作成/設定し、クオリティを底上げしていきます。4回目以降で紹介していきますね。
顔にかかる横髪
【優先度】
★顔まわりなので最優先
【現状】
デザインと比較して、顔にかかる横髪がデザインと少し異なる印象があります。
【調整方針】
髪はVRChatで使用する際に揺れるようにUnityで設定しますが、その際に重力も設定します。現状だと髪は顔から少し離しています。重力を入れることでVRChat上では少し顔に横髪がかかり、デザインの見栄えに近くなる想定です。Unityの設定で直らなければ、形状そのものを調整する必要がありそうです。【下図↓】
肩回りのシルエット
【優先度】
★顔まわりなので最優先
【現状】
肩回りのシルエットが現状大きく違っています。
【調整方針】
もう少し肩回りのボリュームを減らそうと思います。また、後々リュックを背負わせる際に、リュックのベルトが食い込んで肩回りのシルエットが減るようにブレンドシェイプで調整しようと思っているので、うまく落としどころを見つける必要がありそうです。【下図↓】
袖の長さ
【優先度】
★気になるようなら調整してみる
【現状】
VRで見たときに、袖が大きいので手が見えづらい印象があります。
【調整方針】
VRChatにおいて、手は顔の次に目が行く部分です。そのため、なんとか手を見えるようにしたいところです。袖を現状より少し短くする、もしくは袖を少し短くできるブレンドシェイプを入れて、ユーザーが任意で短くできるギミックを入れて解決予定です。【下図↓】
服に合わせた素体形状の調整
【優先度】
★明らかな表示の不具合として見えるため最優先
【現状】
靴や服の一部から素体が見えてしまっています。
【調整方針】
服や靴を着ているときに素体が見えないところは、動いたときに服から素体がはみ出すのを防止するためにブレンドシェイプでボリュームを絞れるようにします。靴からも素体の足がはみ出ているので、これも直します。【下図↓】
太ももと靴下のシルエット
【優先度】
★デザインと大きく違うので最優先
【現状】
デザインでは靴下が太ももに食い込んでいますが、現状表現できていません。
【調整方針】
このニュアンスもブレンドシェイプで作っていきます。ブレンドシェイプで作る理由は、靴下を非表示にしたときに、太ももを素体そのものの形状に戻せるようにするためです。ブレンドシェイプの作成は、最終的なFIXが見えてきた時点で行います。【下図↓】
わきの下の陰影
【優先度】
★かなり目立つので優先
【現状】
わき下の影が強く、腕を上げたときに気になる印象です。
【調整方針】
AOをベイクしているため、奥まった部分である腋の根元はかなり影が落ちていることが原因です。VRでは腕を上げることが多いので、腋下が濃すぎることがないようにAOの明度を調整しておきたいと思っています。【下図↓】
これら以外にも、テクスチャを進めてシェーダーを設定していると直したいところは多く出てくるものです。クオリティを上げるために、しっかりメモをとって直したい部分を把握しておくことが大切です!
その他補足
ここまで素体に服を着せて、AOを焼いたり実機で確認しました。次回からは絵作りを行っていきます。絵作りに大切な「テクスチャ」と「シェーダー」は、形がしっかりとれていないと見え方に違和感がでてくるため、現段階でしっかり直せるところは直しておきました。
絵作りをしていく段階でも「モデルのここがすごく気になる…」という部分は本当に多く出てきます。途中で少しでも気になったところは、簡単でいいので「どこをどういう風に直したいか」メモをとっておきましょう!モデルを調整できる時間も限られてくるので、最終的に直せなければ直せないで全然かまいません。モデルを作りながら直したい部分の洗い出しを行い、どこを直すか?の優先度をつけるため、気になったところは書いておく、ということがクオリティアップに非常に重要になってきます。
3回目のまとめ
・モデルは使用が想定される環境で早めに確認し、適切な調整を行うよう心掛ける
・使用用途である実機上で、モデルのクオリティが高く見えるように意識を向けておく
・顔はモデルで一番に目が行くため、顔の第一印象でモデルのクオリティが左右されることが多い
・難しい形状を作る場合、細かい部分ばかりに意識が行きがちなので、全体像を確認しつつ形状を作る
・使い慣れたツールだけではなく、便利な新しいツールも使いスキルアップを目指す
・モデルを作りながら直したい部分の洗い出しを行い、どこをどう直すかで優先度をつけていく
次回のコラムの内容
・シェーダーの概要紹介
・ベーステクスチャ完成+マスク作成開始
・素体と服の微調整
次回は11月の更新の予定です!
次回は使用するシェーダーの概要を紹介し、ベーステクスチャ・マスクテクスチャを作り込み、見た目を一気に詰めていくところまで紹介します。シェーダーをマスクテクスチャで情報をコントロールしていくコツについて紹介していこうと思います。
それでは一度、失礼いたします。