ハイライト
シーン全体の UV を 6 グループに再パックし、ライトマップをベイクして unlit マテリアルに切り替えれば、Vision Pro 上で最小 GPU コストで高品質な没入環境を提示できます。
主要内容
Vision Pro で没入型 App を作るとよく直面するジレンマ:環境が精巧になるほどフレームレートが下がる。リアルタイム光源、高解像度テクスチャ、複雑なジオメトリ——すべてが GPU 予算を消費。特にフルスクリーン没入空間では通常ウィンドウより描画面積がはるかに大きく、性能圧力が倍増します。
Apple の解法は「ベイク優先」:DCC ツール(Blender、Maya、Houdini)で光照、影、表面ディテールをテクスチャマップにベイクし、Reality Composer Pro にインポート後、マテリアルを unlit に切り替え——見た目はリアルタイムレンダリングと同じだが GPU は光照計算をしないため、フレームレート問題を根本解決。フローの要点:シーン UV を 6 グループ(Mid section、Ceiling、Floor、Front section、Rear section、Props)に再パック。各グループ 1 枚のテクスチャ。数百枚のテクスチャを 6 枚に、マテリアル数も激減。シーンが軽量で扱いやすくなります。
詳細
1. Blockout から始める(00:31)
DCC ツールで単純ジオメトリ(box、plane)を使い空間プロトタイプを素早く構築。環境は実世界スケールで、人体モデルを参照に。ヘッドセット内でのスケール感は 2D 画面と異なるため、両方を行き来しながら微調整。
2. テクスチャ制作(03:44)
コンクリート床を例に、4 ステップのフロー:
- Adobe Substance Designer で手続きテクスチャを生成しベースに——高周波ディテールとシームレスタイリング
- 実写素材を重ねる
- 変化テクスチャを 2 層重ねて反復感を打破
- 最終的に床全体を覆う 1 枚のテクスチャに合成
3. 光照設計(04:41)
スポットライトで壁のアートと床を均等に照らし、屋根の天窓は昼間 HDRI で自然光。複数の光照方案を用意——サンプルは Light/Dark 2 モード。Dark は夜間 HDRI に切り替えスポット強度を上げる。ヘッドセット内の明るさ感はモニターと異なるため、実機で校正。
4. テクスチャベイクと UV 再パック(05:39)
ベイクは物体表面の全情報(色、法線、光照、影)を 1 枚の画像に取り込み、再貼り付けすれば光線追跡なしでリアルな外観を再現。シーン全体の UV を 6 グループに再パック:
UV Groups:
Mid section
Ceiling
Floor
Front section
Rear section
Props
キーポイント:
- 各グループ 1 つの UV Map、1 枚のテクスチャ——数百枚から 6 枚へ
- GPU テクスチャサンプリングとメモリ占用を大幅削減
- Reality Composer Pro 上でシーンが軽量・操作しやすく
5. Reality Composer Pro へエクスポート(06:29)
Blender から USD エクスポート時、Root Prim 名を変更——この名前が Reality Composer Pro にそのまま入り、シーン階層に影響。インポート後、ベイクマテリアルをすべて unlit に:
Material workflow in Reality Composer Pro:
1. Select baked material
2. Change material type → "Unlit"
3. Connect each UV map to corresponding material
4. Disable "Apply Post Process" tone map
5. For glass elements → assign PBR material
6. Adjust Roughness + Opacity for glass effect
キーポイント:
- ベイクマテリアルは unlit——GPU は光照を計算しない
- Tone Map をオフにし DCC ツールでの見え方と一致
- ガラスなど屈折/透明は PBR マテリアルを維持、ベイクしない
- DCC 段階で命名を計画し、インポート後すぐ特定・修正可能に
6. 可視領域外のジオメトリは不要(02:47)
視聴領域(viewing area)は床の円で示され、ユーザーはデフォルトで画面を向き、システム安全境界内で活動。この領域から見えない部分にジオメトリは作らない——削るのは面数とテクスチャで、直接レンダー負荷を減らす。画面手前に深度競合を起こす物体も置かない。
重要ポイント
-
何をするか:没入型メディアプレイヤー向けベイク環境を制作。なぜ価値があるか:動画再生自体が GPU を大量消費。環境を unlit ベイクすれば予算をデコードと反射に回せる。始め方:Blender でシンプルな映写館、6 グループ UV ベイク。Apple の Destination Video サンプル参照。
-
何をするか:Light / Dark 2 つの光照モードを提供。なぜ価値があるか:時間帯や気分で明るさの好みが異なる。低コストな体験向上。始め方:2 セットの光照テクスチャをベイク。実行時にマテリアルに紐づくテクスチャグループを切り替え。
-
何をするか:遠景物体に減面(decimation)。なぜ価値があるか:奥のディテールはほぼ見えないが面数とテクスチャは消費し続ける。減面が最も直接的な最適化。始め方:Blender の Decimate Modifier で遠景を降面。視聴領域からの距離で目標面数を決定。
-
何をするか:広い表面は手描きではなく手続きテクスチャ。なぜ価値があるか:手続きはシームレスタイリングが自然。パラメータ変更で反復でき、手描きより効率が高い。始め方:Substance Designer でコンクリート/木床などのベースマテリアルを生成。tilable テクスチャをエクスポートし実写ディテールを重ねる。
関連セッション
- Bring your iOS or iPadOS game to visionOS — 既存 iOS ゲームを visionOS 没入空間へ移植する実践ガイド
- Create enhanced spatial computing experiences with ARKit — ARKit でより豊かな没入インタラクション
- Design interactive experiences for visionOS — 叙事性没入インタラクションの方法論
- Dive deep into volumes and immersive spaces — Volume と Immersive Space カスタマイズの新 API
コメント
GitHub Issues · utterances