「ボーンデジタル2017モデリングコンテスト」グランプリ受賞作品「ボーンデジ子」が4/29(水)から開催されるVR空間での展示即売会「バーチャルマーケット4」に登場する。映像のプリレンダー向けに制作された半人半メカの「ボーンデジ子」モデルだが、バーチャルマーケットというVR空間のレギュレーションに合わせたモデルへと改良。ここでは、ハイモデルからローモデルへの移行における作業ポイントについて聞いた。
※本記事は月刊「CGWORLD + digital video」vol. 261(2020年5月号)からの転載となります。
TEXT_藤井紀明 / Noriaki Fujii(CGWORLD)
PHOTO_弘田 充 / Mitsuru Hirota
EDIT_藤井紀明 / Noriaki Fujii(CGWORLD)、山田桃子 / Momoko Yamada
-
岡田寛成氏(トランジスタ・スタジオ)
www.transistorstudio.co.jp
「バーチャルマーケット4」
日程:2020年4月29日(水)~5月10日(日)(12日間)
場所:VRChat
主催:VR法人HIKKY
www.v-market.work/v4
ハイモデルとローモデルの基本構造
人体とメカ部分のメッシュ比較
全体のポリゴン数はハイポリモデルが約34万に対し、ローポリモデルでは約5万5千となっている。ローポリモデルのターゲットとなるバーチャルマーケットではひとつのブースにおけるレギュレーションがポリゴン数10万であるため、背景やプロップにもポリゴン数を割くことを考慮し、キャラクターにはその半分の5万ポリゴンを目標値としてリダクション作業が進められた
左が人体のローポリモデル、右がハイポリモデル
上がメカ部分のローポリモデル、下がハイポリモデル。人体とメカ共通のおおまかな作業としては、服の下など見えない部分のポリゴンをオミットしたり、形状として細かく割っておきたい部分以外を均し、埋まったボルトの穴などテクスチャで表現できる部分を見極めて置き換えるなど、地道な作業のくり返しとなる
テクスチャとマテリアルの比較
バーチャルマーケットのレギュレーションとしてテクスチャ枚数の制限はないが、アトラス化となるべく少ない枚数が推奨されているため、ローポリモデルでは人体とメカで1枚ずつの計2枚にまとめられている
-
ハイポリモデルのUV。UDIMを用い、17枚のテクスチャを潤沢に使用している
-
ローポリモデルのUV。各1枚に収めるため、似たようなパーツは同じUVの領域に重ねて同じテクスチャを利用できるようにしている。ただ、オクルージョンなど影の出る方向を考慮しながらのUVレイアウトには苦労したとのこと
シェーディング表示の比較。左のローポリモデルではズボンのシワにできる陰影がテクスチャで表現されていることがわかる
ハイポリモデルのマテリアル。レンダラはV-Rayで細かくパーツごとにマテリアルが設定されており、計26個が用いられている
ローポリモデルのマテリアル。レギュレーションでは全体でマテリアル数20個以内となっており、こちらもキャラクター以外でいくつ使用するか不明だったため、人体とメカのテクスチャマテリアルの2個に抑えている
[[SplitPage]]全体的なポリゴン削減方法と作業ポイント
Live SurfaceとQuad Draw Toolによるリトポロジー
Mayaの機能を使ってハイポリモデルをローポリ化する便利な手法を紹介しよう。元のモデルに対してエッジを細々と減らしていくのは効率が悪いため、Live SurfaceとQuad Draw Toolを使ってハイモデルの上から新規でローポリメッシュを張っていくやり方だ
-
元のハイポリモデル
-
新しくメッシュを張りたいオブジェクトを選択してLive Surfaceを実行。濃い緑色になっている部分がLive Surfaceとして、新たにポリゴンをスナップできる状態になっている
三角ポリゴンの使いどころ
ローポリモデルでは四角ポリゴンと三角ポリゴンが混在しているが、三角ポリゴンを使うのにはいくつか理由がある。ひとつはポリゴン数の削減。ズボンの下に潜らせている下腹部の継ぎ目が三角になっているのがわかるが、このエッジが四角ポリゴンのものだと全体のポリゴン数が増えてしまうからだ。一方で、細かい形状を表現するためにポリゴン数を割く意味合いで三角にしている部分もある。例えばタンクトップから覗く下胸がそれにあたる。さらに、前述のようにUnityではポリゴンが自動で三角に変換されるため、四角のままだと三角になったときのフェースの向きを指定できない。意図したシルエットを出したい場合は、事前に三角ポリゴンとしてつくっておく方が良いそうだ
動かすことを見据えたメッシュの割り方
ローポリ化においても、後にアニメーションさせることを念頭においたモデルのつくりが重要になってくる。デジ子のデザインはパラシュートパンツのような垂れ下がったベルトが特徴的だが、このようにズボンの上にベルトがくるような場合は、【画像】のようにズボンのメッシュの割り方をベルトに合わせておくと良い。これはセットアップ後に動かした際、ズボンとベルトのメッシュがバラバラだとズボンがベルトを貫通してしまうエラーが起こり、それを防ぐための下準備だ。このように表面上にパーツがある場合については、下のメッシュも同じ割り方にしておくと後の不具合が出にくくなる
【画像】の手指はローポリモデルでもポリゴン数を割いている箇所だが、この関節部分についても曲げたときに伸びる外側と折り込まれる内側を意識した上で最小限の分割になっている
細かいパーツや形状をテクスチャで表現
シルエットを意識したポリゴン削減
メカ部分をローポリ化する作業方針も基本的に同じで、シルエットに影響が出やすい部分はメッシュの分割数を確保し、影響しにくい部分はエッジを削除しながらメッシュの分割数を減らしてテクスチャで表現するというもの。わかりやすいシリンダーパーツの例を見てみよう
Substance Painterの活用
メカ部分は細々したパーツが大量にあるため、手作業の目合わせで描き込みを行なっていくのは現実的ではない。そこで利用したのがSubstance Painterでマスクをベイクする手法だ。ハイモデルにRGBに色分けしたマテリアルを割り当ててローモデルにIDマップとして焼き付け、テクスチャを描く際のガイドとして使用している
【左】がローモデル、【右】がRGBのマテリアルをアサインしたハイモデル。それぞれをFBXで書き出し、Substance Painterで読み込む。まずローモデルを読み込み、IDのColor SourceとしてMaterial Colorを選択。続いてベイク元となるハイモデルを指定してベイクする
【画像】がローモデルにハイモデルのマテリアル情報がベイクされた状態。おおまかなアタリではあるが、これがあるだけで作業がだいぶ楽になるそうだ。また、オクルージョン素材をベイクするにあたっては、動かすことを前提に行う必要があるという。パーツ同士がくっついた状態でベイクすると、動かしたときに適切でない影が見えてしまうからだ
そこで【左】のようにパーツごとに間隔を空けて並べておくことで、【右】のように適切なオクルージョンが入る
【左】が完成したメカの手のメッシュで、【右】がテクスチャを適用したもの。ローモデルであってもテクスチャによって説得力のある見映えが実現されている