Blenderでインテリアを作ってVRChatに持っていく話
唐突ですがVRChatでマイワールドを作ってみたいと思ったことはありませんか?
さらに言うなら配布されているアセットではなくオリジナルのインテリアが欲しくはないですか?
そう思ってBlender講座をググるとキャラクターモデリングがいっぱい出てきてインテリアモデリングはあまり出てきません。
あるのかも知れませんがVRCで使うためにUnityに持っていくことを前提にされていなくてBlenderでしか再現性がないものも多い印象です。
というわけでBlenderでインテリアを作ってVRCで使えるようにしよう、というお話をします。
Blenderでの造形は「慣れ」が最も効果的なので基本操作以上のことは書いていません。ご了承ください。
また、プロでない人間の独学ハウツーなのでもっと効率の良い方法だったり間違っていることもあるかもしれません。
暖かい目でご覧ください。
この投稿時点でのBlenderバージョンは3.3.1です。
初期設定
Blenderの初期設定をしましょう。
分かっている方はスキップ。
言語設定
英語ばかりで何が何のことやらさっぱりわからん人は日本語に変えてしまいましょう。
左上のタブから「Edit」→「Preferences」を選択すると新しくウィンドウが開きます。
新しく開いたウィンドウの「Interface」を選択し「Translation」のLanguageのEnglishを日本語に変更、新規データだけチェックを外して設定完了です。
新規データにチェックが入っていると新しく追加するメッシュの名前が日本語になります。
Unityでは2バイト文字(≒日本語)があるとクラッシュする原因となるためチェックを外します。
今後追加するメッシュやマテリアルも原則英語を使ってください。
スタートアップ設定
特に何もいじっていない状態であればBlenderを起動するとカメラとライトとキューブが表示されています。
これはBlenderを起動する度に毎回表示されてしまうので設定を変更します。
キューブは使うかわからないですしカメラとライトは9割使わないので消しちゃいましょう。
3Dビューポート上にカーソルを置いてAキーを押し表示されているオブジェクトを全選択したらXキーで削除します。
これで3Dビューポートが更地になりました。
次に左上のタブから「ファイル」→「デフォルト」→「スタートアップファイルを保存」を選択。
本当に保存するか確認されるのでもう一度「スタートアップファイルを保存」を選択して保存します。
次回以降、起動すると今の状態から開始されるようになりました。
一度Blenderを再起動して確認してみてください。
基本操作
基本なので覚えておきましょう。
知っている方はスキップ。
画面の見方

①3Dビューポート
主に扱うことになる場所。オブジェクトの選択や編集といった基本操作の大部分をここで行います。
②アウトライナー
オブジェクトの管理をする場所。パーツをフォルダ分けしたり表示非表示を切り替えられます。
③プロパティ
ミラーなどのモディファイアーやテクスチャの設定を行う場所。ミラーモディファイアーは必ずと言っていいほど触るので覚えておきましょう。
視点操作
回転:ホイールクリック
移動:shift + ホイールクリック
テンキー1:正面テンキー3:右正面
テンキー7:真上
テンキー9:反転
テンキー5:平行投影・透視投影の切り替え
テンキー2、4、6、8:15度ずつ回転
基本操作
G:移動
G2回押し:頂点スライド
S:拡大縮小
Alt + S:法線方向に拡大縮小
E:押し出し
K:ナイフ
Ctrl + R:ループカット
H:選択した部分を非表示
Shift + H:選択してない部分を非表示
移動、拡大縮小、押し出しはキー入力後にXYZで軸を指定することでその方向にだけ動かすことができます。
Shift + XYZでその方向にだけ動かないこともできます。
表示切替

右上やや中央寄りの赤枠で囲んだ範囲の左から
透過表示:隠れて見えないところも表示
ワイヤーフレーム:ポリゴンの流れがわかりやすいモード
ソリッドモード:出来上がりの形がわかりやすいモード
マテリアルプレビュー:ソリッドモードにマテリアルも反映されたモード
レンダープレビュー:マテリアルプレビューにライティングも反映されたモード
モデリング
実際にインテリアをモデリングしていきます。
とは言えキャラクターモデリングのように複雑な形状でもなく、動くわけでもないので基本的な操作ができれば大抵のものは作ることができます。
なのでここではより効率良く作るためのコツをお伝えします。
徹底的にパクろう
簡単な方法はリアルに存在する既製品のサイズをパクる真似ることです。
インテリアは通販で売られていることが多く、商品詳細に細かな寸法が記載されています。
おなじみニトリやFLYMEe、unicoなど多くのブランドが様々な商品を展開しています。
LOWYAというサイトではインテリアコーディネートもまとめているのでお気に入りのコーディネートから家具を探すこともできます。
ただし商用利用することも考えているならデザイン丸パクりはアウトなので気をつけましょう。
サイズを決める
まずは全体のサイズを決めます。
近しい形のメッシュを追加したらNキーでメニューを出します。
メニューの中にある寸法を変更して大まかにサイズを決めましょう。
このままだと半分地面に埋まっているのでメニュー内の位置のZ軸を寸法のZ軸÷2にします。
Blenderは数式も扱えるので寸法のZ軸/2と入力すればOKです。
Blenderに限った話ではありませんが「÷」は「/」に、「×」は「*」になります。
ちなみにUnityでも使えます。
便利なモディファイア
ミラーモディファイア
例外はありますが大抵のインテリアは左右対称です。
ということはミラーモディファイアを使えば半分作るだけでインテリアがまるまる1個作れてしまうわけです。
全部は作れなくても一部ミラーで作ってしまえば半分以上完成する物もあるので積極的に使っていきましょう。
サブディビジョンサーフェイス
細分化モディファイアとも呼びます。
頂点と頂点の間に滑らかになるように頂点を追加します。
頂点数が足らず、カクついているときに効果的です。
直線的なモデルでは不要ですが曲面を多用するモデルでは覿面です。
デシメート
頂点を削減してくれるモディファイア。
サブディビジョンサーフェイスで滑らかさを出したあと、このモディファイアを「分割の復元」の反復2程度で適用するとある程度、滑らかさを維持したまま頂点を減らすことができます。
反復の数値を増やすとより頂点を削ってくれる代わりに滑らかさが減ります。
配列モディファイア
同じメッシュを複数、綺麗に並べたいときに効果的。
どのようなパターンでどれだけ並べるか指定してあげると綺麗に並びます。
スクリューモディファイア
回転させて立体にしてくれます。
例えばコップの断面の半分を作ってこのモディファイアを設定するとコップになってくれます。
円柱状のものはこれで作るととてもラク。
ソリッド化
厚みづけモディファイアとも呼ぶ。
数値を指定するとその分だけ厚くしてくれる便利なやつ。
クロス
語るともはやそれだけで記事が完成する恐ろしいやつ。
布の物理演算を計算して形状を変更してくれるので、使いこなすと頼もしい味方になってくれることは間違いない。
ベッドの毛布やクッション、カーテンなど人間の住環境に布は欠かせない。
マテリアル設定
マテリアル分け
まずはマテリアルを作りましょう。
素材ごとに分けて作成すると後々、色改変がラクになります。
プロパティタブからマテリアルを選択して新規から新しくマテリアルを作成しましょう。
マテリアルが作れたらそれぞれ適用したいメッシュを選択してプロパティから割り当てすることで適用できます。
テクスチャ集め
クオリティの半分くらいはテクスチャで決まります。
すべて自分で用意するのは不可能に近いのでCC0のテクスチャを利用していきましょう。
Textures.comやPoly HavenといったCC0のテクスチャを配布しているサイトがあるので利用します。
UV展開
本来なら綺麗にUVを展開した方が良いですが、ライトマップをUnityのGenerate Light Map UVsに任せるのであればスマートUV投影でも割となんとかなります。
すべての頂点を選択した状態でUキーからスマートUV投影をするとBlenderがUVを自動で作ってくれます。
とはいえ自動なので意図しないUVになることも多いので可能であれば自分で展開するのが無難です。
モデルの出力
モディファイアの適用
モディファイアの下向き矢印をクリックして適用を選択しましょう。
適用することで実際にメッシュが作られます。
これをすべてのモディファイアで行います。
トランスフォームの適用
Aキーを押して全選択した状態でctrl+Aから全トランスフォームを選択するとモデルの位置、回転が0に、スケールが1になります。
要するにUnityでモデルを配置したときの位置回転が0、スケール1になります。
モデルの原点はXYZすべて0の地点なのでメッシュの位置には注意しましょう。
エクスポート
「ファイル」→「エクスポート」→「FBX」を選択します。
オブジェクトタイプをメッシュだけにしてスケールの適用を「すべてFBX」にします。
新しく開いたウィンドウで保存する場所と名前を指定して保存しましょう。
Unityにインポート
FBXをUnityにD&Dでインポートできます。
インポート出来たらFBXを選択してInspecterのFBX設定のModelタブのGenerate Light Map UVsにチェックを入れたらMaterialsタブのExtract Materialsから新しく開いたウィンドウでマテリアルを展開する場所を指定し保存します。
マテリアルが展開出来たらShederをAutodesk Interactiveに、Albedoの色を完全な白へ変更しましょう。
テクスチャはAlbedo、Metallic、Roughness、Normal Map、Height Map、Emissionそれぞれ対応する項目へ適用します。ないものはNoneのままで問題ありません。
軽量化をする場合は以下のツイートを参考にしてみてください。
フレンドたちがワールドを作るというので軽量化方法を書いている pic.twitter.com/69EQeIyNT9
— プラナリア🔄社畜 (@InPlanaria) June 28, 2022
ライトベイク
影や光源を焼きこみます。
ベイクすることによってワールドの容量は増えますが処理が軽くなります。
また、リッチな見た目に仕上げることができるので可能であればベイクしたいです。
Unity標準のベイクと有償アセットのBakeryを使う方法があります。
Bakeryの方が早く高品質なベイクが可能ですが20ドルほどするので、セール期間中に購入することをオススメします。
Unity標準のベイクとBakeryではライトベイクの手順が異なるので注意しましょう。
すべてを解説するとまたもやそれだけで記事が完成するレベルなので向上心のある方は調べてみましょう。
アップロード
VRCWorldのプレハブと床を置けばワールドとして最低限の形になります。
作ったインテリアや配布されているアセットなどを使って理想のワールドにしていきましょう。