前回はBlenderでの実寸モデリングと、Substance Painterでの質感付けまでを進めました。
今回は、書き出したFBXファイルとテクスチャ群をいよいよUnityへインポートし、3D空間として部屋を組み立てていく工程をお届けします。
Unityバージョンの選定
今回使用するUnityのエディターバージョンは 2022.3.62f3 (LTS / URP環境) です。
Meta Quest 2向けのVR開発において、ライセンス周りのトラブルを避けつつ動作の安定性とVR用SDKの互換性をしっかり確保するため、このLTS(長期サポート)バージョンを選択しました。
Unityへのインポートとセットアップ手順
まずはSubstance Painterから書き出したテクスチャ画像群と、Blenderから書き出したFBXファイルをUnityプロジェクトへ読み込ませます。
アセットの読み込み
Unityの Assets 内に Room フォルダーを作成し、そこへFBXファイルとテクスチャ画像をドラッグ&ドロップで読み込ませます。

マテリアル作成とノーマルマップの設定
壁、床、テレビ、ポスターなど、オブジェクトごとにマテリアルを作成して各種テクスチャを割り当てていきます。
ノーマルマップ(凹凸表現画像)を割り当てた際に「法線マップとして設定されていない」という警告が出ましたが、Inspectorの「Fix Now」ボタンを押し、Texture Typeを Normal map に変更することで無事解決しました。
ラフネスの設定で少し苦戦…
マテリアルの設定を進める中でひとつ引っかかったのがラフネス(表面のツヤ感・ザラザラ感)の設定です。
Substance Painterでは「Roughness」として直感的に質感を調整できましたが、Unityの標準シェーダー(Lit)では「Smoothness(滑らかさ)」という反転した概念で管理されています。テクスチャのチャンネルの扱いを含め、Unity側で思い通りのツヤ感にする方法が最初よくわかりませんでした。
質感の調整は泥沼にハマりやすいため、一旦はざっくりとした設定で留め、先に進むことにします!
シーンへ配置して部屋が完成!
マテリアルをセットしたFBXモデルをSceneウィンドウへドラッグ&ドロップして配置しました。

天井や壁、床が組み合わさり、壁にはポスター、そして正面には150インチの大画面テレビ用エリアが綺麗に設置されました。一気に「自分の部屋」という実感が湧いてきます!
次回予告
無事にBlenderからUnityへの移行が完了し、VR空間のベースとなる部屋が立ち上がりました。
次回は、いよいよ部屋の目玉機能である「テレビ画面への動画再生機能(Video Player)」の実装に入っていきます。手探りのVR開発、次回もぜひお楽しみに!

コメント