blenderとUnityでVRChatのワールドを作成してみようと思うも良く分からなかった記録

初めて触るblenderとUnityでVRChatのワールド「VR聖蹟桜ヶ丘」を作ってみようと思い、行き詰まるまでの5月末あたりから構想しだして8月中旬までの記録を残しておきます。

予備知識

昔メタセコイアで本当に基礎的な部分だけモデリングした事有る程度でほぼ知識ゼロから。まだまだblender 2.7系と2.7系の情報が織り交ざっている頃でググっても操作が違う!という事に多々遭遇したので、そうそうにAmazonで「Blender 2.8 3DCG スーパーテクニック」を購入しました。今回は使わないであろうスカルプトなどを除けばチュートリアルの実践含め最後まで通しました。blender 2.8の本当に基礎的な操作はたぶん分かった状態。でもナイフツールだったり分割だったり、各種ツールの細かい部分でこうしたい時はどうするんだ?という謎も多くこの部分でも困り続けます。

モデリング

ワールドを作る際にどういう方向でモデリングをしたらいいのかさっぱり分からないので、とりあえず巨大な平面で床を作成。立方体を分割したり押し出したりしながらそれっぽい建物を作っていきます。Google Mapsの3D表示とストリートビュー、画像検索をひたすら参考にしています。

6月12日時点

この時点でのつまづきポイント

  • 頂点の高さや奥行きを揃える方法が数値を直接入力する以外にどうすればいいのかよく分からない(相当後になって「スナップ」を使えばある程度フリーハンドでも場所を揃えられることが分かる。これで正しいのかは不明)
  • ナイフツールの使い方全体的に難しくない?
  • ナイフツールが難しいのでループカットを多用した結果無駄な辺や面が増殖していく。
  • 建物を作る際にどのくらいの粒度?で別のオブジェクトにした方がいいのかの感覚が全く分からない。

これらは今も良く分かっていない。

それっぽい形になってくる

よく分からんままなんだかんだ一応聖蹟桜ヶ丘駅前っぽい雰囲気になってきます。ただ本当にこれで正しいのか分からない物の集合体になっている。

6月13日時点

マテリアルが増殖していく

無地のままだと進んでいる感じがしなくてテンションも上がらないので、色を付けるためにマテリアルを設定していく。色を変えたい場所全てを別マテリアルにしていった。ポリゴン数よりよっぽどマテリアルを増やした方が重いとは聞く話だったのでおそらくアンチパターンでは有ると思うがそれっぽさが増した。

FBXファイルをUnityに読み込んでVRC SDKを入れて地面にコライダーを設定して必要最低限ワールドっぽい雰囲気になる。が、全体的に色味がおかしいしのっぺりしている

6月14日時点

色味が分からなくなり始める

スカイボックスを設定して青空になると一気に出来てきた感じがする。一旦の達成感が有った。ただ、モデルをUnityに持ち込んだ時点でなんか全体的に色味がおかしかったり影が出なかったりしていたが、スカイボックスで青空を設定して全体的に青っぽくなってしまう。

6月15日時点

ひたすらよく分からないライティングの設定をこねくり回し続けて、いったんそれっぽい色になる。確かスカイボックスをライティングに使うのは辞めて単色を指定する事にした気がする。ディレクショナルライト?を使っている。

6月20日時点

blender上とUnity上で色味が違いすぎる問題は引き続きよく分からないままなので、両ツールを行き来しながらUnityの方を正として調整し続けた。ちょうどいい明るさにしようとすると今度は自アバターのモデルが白く光り輝いてしまうのだがそれも良く分からない。

この辺りのつまづきポイント

  • ライティングよく分からん問題。暗くなりすぎたり明るくなりすぎたり。
  • のっぺりしたり影が出る出ないの2択?みたいになっているのは「Lightmap static」にしてライトマップをベイクすればいいんだという事が分かる。が、後述する黒い染み問題の引き金にもなる。
  • マテリアルの色よく分からん問題はひたすら調整し続けた。
  • モデリングの方はオブジェクトを増やし続けたのと、コピーして複製しまくった影響で、いつのまにか座標系がよく分からない事になっている問題が多発し始める。気づく度に調整する。
  • blender上だと問題ないのにUnityだと表示されない面が出てくる。法線の方向がおかしいらしいのでblender上で法線を表示するオプションを有効にして直した。

VRChatにアップロード

祝 初アップ。といってもTrust LevelがNewUserなので自分とフレンドしか入れないワールド。

7月6日時点

この辺りで床以外にも建物、階段、ペデストリアンデッキにはコライダーが設定されていてちゃんと登ったりすることができる。この時点でテクスチャはまだ1枚も使用されていない。

ベンチ部分には全てチェアーを設定し座れる状態にし、駅前の景色を自アバターと一緒に観られるようにミラーも配置した。

ライティングマジよく分からん問題

この辺りから本格的に行き詰まり始める。一番大きな問題は謎の黒い染み。ライトマップのサイズ?を大きくしてみたり、ベイク時の設定をいじってみたりするも染みの出方は変わるもののシミが出続ける。ベイクの度に結構な時間待たされるのもつらさに拍車をかけてくる。

7月25日時点
7月25日時点

後はライトも良く分からない。建物の内部部分は太陽光が直接差し込まないのでスポットライトを配置していったのだが、これがまたblenderとUnityでは全く見え方が違う。また、同じように並べて配置しているのにUnity上だといくつかのライトが光らなかったりしてそれもまた全然分からなかった。

黒い天井、闇に包まれた鏡の中

鏡の中が真っ暗なのもまたよく分からないし、ライトに照らされているはずの天井が黒いのも良く分からない。

テクスチャを貼ったら伸びる件

道路の質感を出していこうと道路にコンクリートっぽいテクスチャを適用。blender上だとちゃんと見えているものの、Unity上だと面1枚1枚のサイズごとに拡大縮小されて破綻している。テクスチャのベイク?なるものをしないといけないんだろうか。

伸びるテクスチャ

あとはテキストUIを使おうと思ってもなぜかVRChat上では見えなかったりとUnity→VRChat側での問題も出始めてきます。

モデリングに関してはスナップ設定や頂点から面を作成していく方法が分かってきた事で、必要な頂点を押し出していく→面を生成というフローになり最初よりは効率が良くなってきましたが、正しい寸法で形作っていく方法はよく分からないままです。よくみると階段の高さが結構ガタガタだったりします。

疲れてくる

主に黒い染み問題に対処し続けているうちに疲れてきて8月中旬に進捗が止まりました。ここから進んでいないので一旦ここまでの記録を残しておいた状態です。

最新の状態

おそらくモデリング面の分からない操作のあまりの多さは本当に基礎レベルのblender本だけを通した結果、Unityの訳の分からなさは最初からワールドを作ろうとしないでUnity自体のチュートリアル的な何か?をするべきだったんだろうなーという気がしていますが正解は分からないです。最低限だけ調べてあとは感覚とGoogle検索だけで作ろうとした結果、感覚だけで出来る範囲の物しか出来なかったというのが正しいかもしれません。

それなりに楽しい作業でしたが、3桁時間かけた割にはクオリティが伴わなかった当たりやはり感覚で難しい事に手を出すのはダメだという教訓だったのかも。

やはり鏡の中は暗い
同じ色(マテリアル)のはずなのに薄い灰色と濃い灰色。
もっとも様々な問題を抱え込んだ駅内部