takeda_san’s blog

KotlinとVRを頑張っていく方向。

システム開発と3Dモデルのモデリングは実は似ていた?

はじめに

Oculus Quest版のVRChatで使う用のローポリモデルを作りました。
その自慢記事です。
f:id:takeda_san:20190503225600p:plain

ここにBlenderファイルを置いてます。
github.com

前回のモデル作成はここ。
作り方はこの記事と変わらないです。
takeda-san.hatenablog.com

3Dモデルにも要件と設計フェーズがあった!?

前回のモデル作成は初めてだったこともあって、全工程が見渡せてなかった。
なので後半のウェイトペイントとベイクで地獄を見ることになった…
キャラクターの三面図 -> モデリング -> リギング -> ベイク
…と基本的に工程が非可逆なので、後半になってデザインを大幅に変えることが難しいのだ。

あれ、これってウォーターフォールシステム開発と似てるのでは…?

要件定義

いきなり三面図を描き始めるのではなく、要求をじっくり考えるのが大事。
どんなモデルにしたいのかというのをこの時点でしっかり決めておく。
今回はVR用なので、足元が見えるようにお胸を薄くしたほうがいいかな…とか
かわいい重視なので頭身を低めにしよう…とか
表情豊かにしたいのでアニメーションがたくさんほしい…とか

キャラクターの三面図とかモデリングに大きく関わる要素がもりもり出てきます。

設計

主にキャラクターの三面図で設計をするのですが、この後の工程が楽になるようにキャラクターを描いていくのが大事。
モデリングしやすいように複雑な曲面を減らすとか…
ウェイトペイントしやすいように関節周りにアクセサリーなどをつけないとか…

かわいいと簡単のバランスをとる感覚は、自分がアーキテクチャ設計してるときの感じと似てます。
とがらせて性能を出すか、選択肢を後まで減らさないように何でもできるようにするか…みたいな。

f:id:takeda_san:20190503232312p:plain

効果

前回は慣れないとはいえ、2か月かかっていた作業が今回は4日に短縮できました。
これが設計の力…!
大部分はウェイトペイントとテクスチャの修正だったので工夫でこの辺りを省力化できたのはデカイ。

知見

いくつか学びがあったのでメモ。

途中から透視投影に切り替えたほうがよさそう

私は三面図ベースにトレースしながらメッシュを割り当てていく方法で作成しています。
そのときBlenderに読み込んだ三面図を表示するには平行投影である必要があります。
平面を三次元空間に表示するには当たり前といえば当たり前。

https://cc.musabi.ac.jp/zoukei_file/03/seizu/NewFiles/touei.html

ですが、VRChat内ではパースが効いた透視投影で見た感じになります。
なので両方の視点で確認しながら作らないと目が斜視っぽくなります。
瞳の焦点を合わせるのと、アイホールが局面にならないよう(の字みたいな感じ)にすると違和感がなくなりました。
よくある錯視を利用した白目部分を凹面にする方法にしても良いかもしれないです。

あと顔を中心にパースがかかるので、妙に頭が大きく見える。
三面図だと5.5頭身ぐらいでしたが、最終的には7頭身ぐらいに調整しました。

平行投影で三面図の通り作った場合
f:id:takeda_san:20190503233017p:plain

そのあと透視投影で確認しながら修正した後
f:id:takeda_san:20190503233024p:plain

なので一旦全身ができたら、透視投影に切り替えて微修正するのがよさそうです。
今回はリギング直後に気が付いたのでリカバリ可能でしたが、全オブジェクトを統合後に気が付いたら、と思うとあわわわわ…

リグは初期状態のままであまりいじらないほうがよさそう

今回もここからリグを拝借したのですが、この初期状態をあんまりいじらないほうがよさそうです。
Humanoid_Armature for VRChat - BowlRoll

モデルにリグを合わせるのではなくて、リグにモデルを合わせる感じ。
自分でリグを変更して、VRChatに上げてみると腕の長さやかかとの位置で姿勢が結構悪くなってしまい、調整が結構大変でした。

ベイクの照明はヘミがよさそう

私が作成手順の参考にしている書籍、Blender標準テクニックではベイクの照明はスポットを各方向から当ててます。
ですが、これだと私の場合、影が縞状にできてしまって若干違和感がありました。
前回のモデルはスポットで作ったのですが、タイツに縞模様ができてますね。 f:id:takeda_san:20190503234857p:plain

なので、今回はヘミに切り替えて前後からライトを当てました。

f:id:takeda_san:20190503233935p:plain

アニメ調のしっかりとした陰影はつかないのですが、縞がなくなってきれいにベイクできます。
もっと丁寧にやるなら、顔の影を後ほど手作業でつけるとよさそうです。

今後の予定

モデルをつかって、ブログにするまでもないような読書感想文とか雑談の動画を作ろうかなと思ってます。
チャンネル登録してもらえると、すごく喜びます。

www.youtube.com