動作するルームから始めましょう

各ダウンロードは、2026年9月5日に更新された完全なRoom v5 ZIPです。互換性のあるLocusビルドでインポートするか、完成したUSDZの横にある資料と公開メタデータを調べるためにアンパックしてください。

Room v5サポートが必要です。 早期のLocus 1.1.0ビルド(1〜3)はこれらのZIPファイルに対応していません。Locus 1.1.0ビルド4以降からLocus 1.1.1を含むRoom v5がサポートされています。ビルドは設定 → ヘルプ&About → About Locusでご確認ください。
アプリ内の1.1.5または1.2.0 Roomsではありません。 App StoreのLocus 1.1.5の組み込み機能とライブラリの改訂により、ソファーとラウンジの座席に加え、隠しデスクグループが追加されました。Locus 1.2.0では、作成された座席グループを含む「Seats Picker」内の関連する座席グループをさらに追加しました。これらのダウンロード可能なZIPファイルは9月5日のデスク・シートパッケージに引き続き保存されるため、著者たちはラウンジの座席、隠しデスク、または座席グループなしでベースのRoom v5契約を研究することができます。ラウンジの座席と隠しデスクについては、以下を参照してください。 フォーマット参照;座席グループについては、を参照してください 座席グループの参照.

古いビルドを使用していますか?以前の互換バージョンをダウンロードしてください: アトリウムロフト, 中庭ギャラリー, ホライゾンアトリエ.

Locusによって作成されたパーツはCC BY 4.0の下で再利用可能です。埋め込みPoly HavenテクスチャはCC0のままです。参照してください クレジットとライセンスの詳細.

配送契約を選択してください

Complete Package v2は、Locus 1.2.1以降の標準的な機能完備のインポート形式です。そのZIPルートは直接以下を含んでいます。 locusplace.json そして catalog/、そして部屋は下に住んでいる catalog/spaces/<space-id>/.安定したIDとオンプレイスアップデート、サウンド、アニメーション、ビデオサーフェス、シートグループ、出所、サポートされているバンドルされたエクスペリエンスに使用します。

現在の公開 Room builder、scaffolder、packer、validator、ダウンロード可能な Room サンプルは下記の legacy/simple フラット互換形式を生成します。完全な Package v2 は作成も検証もしません。フラット形式の読み込みごとに新しい UUID になります。

legacy/simple 配布契約

5つのルートファイルが正確に含まれるフラット互換性ZIPを1つお届けください。

my-room.zip
├── space.json
├── provenance.json
├── teleport-points.json
├── scene.usdz
└── thumbnail.jpg

編集可能なソース、テクスチャ、キャッシュ、および交換ファイルはZIPの外に保持してください。メタデータで参照されるすべてのエンティティは、配信されたUSDZに安定したユニークな名前を1つ持つ必要があります。

オープニングと座席

すべての部屋が正確に一つを宣言します viewOpenings 入力。選択されたLocusビューへの論理的な接続であり、USDZをカットしません。モデルウィンドウおよびソースジオメトリ内のその他の建築的開口部。座標は右手側のメートル法を使用し、+Yは上、-Zは前、およびクァルタンジオンを使用します。 [x, y, z, w] 注文。

各テレポートポイントは目の位置と向きを定義します。 anchorXZ エクスポートされたルームの境界に正規化されます。 sourceFloorOffset そのレベルを特定する; eyeHeight その階から測定されます。座席IDはルームインターフェースの一部であるため、改訂ごとに安定して保持してください。

プレビューだけでなく、使用のための作者です。 実際に納品するものと同じZIPをApple Vision Proにインポートし、すべての座席に座って確認してください。構造が正しいルームでも、目の高さの不快感、視界の遮り、縮尺の誤り、余裕のない空間が残っている場合があります。

オプションの空間適応

spatialAdaptation USDZの意味的な部分をLocusの機能に接続します:

フィールド契約
wallEntities有効な壁参照; これらは仮想の壁を隠したり、ルームポータルを駆動したりしません。
roofEntities検証された屋根または天井の参照;これらは仮想の屋根を隠しません。
deskEntitiesByTeleportID座席IDをテーブルトップ表面の正確なエンティティにマッピングします。このマップから除外された座席はファーストクラスのラウンジシート(ソファー、デイベッド、ベンチ)です。作成されたフロアと目高でロードされ、デスクの測定、アライメント、パススルーは一切行われません。近くのコーヒーテーブルをデスクのようにマッピングするだけではありません。
deskGroupEntitiesByTeleportIDオプション、1.1.5+。名前、すでに机の後ろに座席があるデスクバック用の deskEntitiesByTeleportID エントリーは、その席の隠し机である全サブツリーを持つ唯一のエンティティであるため、Locusは訪問者に隠し机制御を提供できます。名前付きエンティティは一意に解決され、デスク表面エンティティの祖先である必要があります。そうでない場合、ルームは読み込みに失敗します。古い読者はこのフィールドを無視します。

マップされたデスクエンティティは、テーブルトップ自体または密に囲まれたスラブである必要があります。その下に椅子、ランプ、脚、コンピューター、または緩やかな小道具を含めないでください。Locusはエンティティの境界を使用して表面の高さ、足跡、向きを導き出します。

オプションのライティングインターフェース

ライティングメタデータは、Locusに、エミッシブメッシュと境界付きランタイムソースをそれぞれ訪問者向け制御に属するものとして指示します。これは、Roomのモデル化、シェーディング、またはベイクの方法を規定するものではありません。

フィールドLocusの動作
luminaireGroups1つのグループは1つの論理スイッチと、1組の明るさ・色コントロールです。
entities発光するフィクスチャボディの名前を記載します。有効なフィクスチャは、すべての座面から目に見えて発光し続けます。
proxy / proxies境界点またはスポットソースを宣言する。使用する proxies Room v3では、1つのスイッチが複数の物理的なエミッターを駆動します。
nearTeleportIDs直接プロキシソースを選択した席にのみ制限します。他のFixture本体を隠したり暗くしたりすることはありません。
bakedIndirect.entitiesRoom Lightsマスターと全体的なRoom EVによって制御される低周波数間接光のためのRoom v3受信機サブツリー。

共有の間接層は、によってスケーリングされます。 2^overallEV. 個別のライトスイッチ、温度、色、明るさはローカルコントロールのままとなり、共有の跳ね返りを色変更しません。ガラス、水、透過性材料、フィクスチャのグローメッシュ、および認識可能なフィクスチャ固有のハローは、共有の間接受信サブツリーから除外してください。直接プロキシはローカルの光プールを所有しています。

Room v3では、最大12個の作成済みプロキシ、各席に4個の有効プロキシ、1個のシャドウキャスティングプロキシ、1個あたり10,000ルーメン、および-4…+1 EVの明るさ範囲が強制されます。これらは安全制限であり、ターゲット値ではありません。

照明は任意です。 省略する lighting 訪問者制御付きの器具がない部屋の場合。基本的なライトグループにはRoom v2を使用し、複数のプロキシやRoom所有の焼き込み間接光にはRoom v3を使用します。

素材デザインを保存する

Locusは、エクスポートされたUSDZにサポートされているPBR素材、テクスチャ、UV、および変換を使用します。以下のような名前が含まれます。 glass、家具のサイズ、およびインポートされたルームIDは素材プリセットを選択しません。編集可能なソースで正しい素材とエクスポートの問題を修正し、その後、Room ZIPを再構築します。

Room v5が明示を追加します rendering.softenedReflectionEntities そして rendering.uiFadeEntities. 横方向のシーンの詳細が削除されたビュー反射を表示したい場合にのみ使用してください。これは部屋の内装を反映しません。2番目の機能を使用すると、訪問者ウィンドウをブロックしながら選択した家具がフェードアウトします。省略された役割は、どちらの動作も提供しません。

v5のスポットライトはすべてユニットを宣言します direction 例えば、エクスポートされたルームの座標では [0.6, -0.8, 0]. そのアンカーは位置情報のみを提供します。これらのフィールドにはv5対応のLocusビルドが必要です。使用してください オプションのUSDモデル監査 エクスポートされた参照とサポートされているシェーダーを確認するには、読んでください。 サポートされている資料、デフォルト、および移行規則 エクスポートする前に。

実験的なアンビエンスアニメーション

Room v4は、USDZにすでに埋め込まれているアニメーションクリップを、名前付きのビジターコントロールに接続できます。各 ambientAnimations エントリーは、1つのエンティティと1つのアニメーション、およびその初期スイッチ、速度範囲、再プレイ間隔範囲を識別します。

訪問者は、すべての部屋の実験的なアニメーションをオンまたはオフにすることができます。 ルームモーション クイックコントロールのタイル。 設定→モーション→ルーム 彼らは各アニメーションを切り替え、その実験的な速度と間隔を変更し、現在のデバイスでこれらの値をこの部屋に保存できます。間隔は 0–0 すぐに繰り返します。異なる最小値と最大値は、すべての完了した再生後に新しいランダムな一時停止を選択します。

アニメーションサポートは実験的です。 メタデータ、再生動作、コントロール、速度、間隔が変更される場合があります。意図的にそのリスクを受け入れることを明示的に承諾していない限り、アニメーションのメタデータは省略してください。これはRoom v5のアニメーションにも適用されます。

最小限の機能的なルームを構築する

その 最小限のルームビルダー 空のBlenderシーンから開始し、デスク1つ、校正された座席1つ、2つの壁、屋根、制御されたペンダント1つを作成します。macOSにBlender 5.2とPython 3が必要です。このリポジトリをクローンまたはダウンロードして、ビルダーがバンドルされたメタデータスクラッフォルダーを使用できるようにしてください。外部モデル、テクスチャ、またはMCP接続は不要です。

  1. リポジトリのルートから、既存の出力パスではないビルダーを実行します。これにより、編集可能なBlenderファイル、自己完結型のUSDZファイル、サムネイル画像、そして6枚の座席レビュー画像が保存されます。
  2. すべての画像を確認してください review/. スケール、シート方向、クリアランス、テーブルトップの使いやすさが間違っている場合は、ソースを修正してください。
  3. パブリックパッカーとバリデーターを実行し、次に正確なZIPを〜経由でインポートします。 場所→インポート→部屋をインポート→ファイル.
  4. 選択 最小限の読書室 「Places」で、ビューと組み合わせ、仮想空間に入ります。リーディングデスクの座席、クイックコントロールのルームライトタイル、そして ライト&ピクチャー → ルーム.リアルテーブルのアライメントと快適さはApple Vision Proが必要です。
blender --background --factory-startup --python-exit-code 1 \
  --python tools/build_minimal_room.py -- \
  --output /absolute/path/to/minimal-reading-room
python3 tools/pack_locus_asset.py \
  /absolute/path/to/minimal-reading-room/room \
  /absolute/path/to/minimal-reading-room.zip
python3 tools/validate_locus_asset.py /absolute/path/to/minimal-reading-room.zip

Blender実行ファイルの絶対パスを使用する場合は blender PATHにありません。ビルダーとパッカーは既存の出力の書き換えを拒否しています。編集可能なソースを保持し、画像は5つのファイルZIPの外で確認してください。 完全な実行時間相互作用の参照 座席、安全性、衝突記録、測定された品質、デスクマッピング、および著者権限がアプリにどのように接続されているかを説明します。

パック、検証し、その後互換性ZIPをインポートする

5つのソースファイルを1つのディレクトリに保管し、macOSで公開のフラットフォーマットツールを実行します:

python3 tools/pack_locus_asset.py /absolute/path/to/room /absolute/path/to/my-room.zip
python3 tools/validate_locus_asset.py /absolute/path/to/my-room.zip
  1. USDZエクスポーターと公開バリデーターからのすべての警告またはエラーを解決します。
  2. Locusで、選択してください ルームを読み込む そして、検証された正確なZIPを選択してください。
  3. Room with a Viewをペアリングし、Apple Vision Proで入力してください。
  4. 宣言したすべての座席、オプションのデスクマッピング、レンダリングロール、ライトコントロールを試してください。
  5. ソースを修正してZIPを再構築してください。最終アーカイブを手動でパッチしないでください。

AIアシスタントで構築する

公開サンプルのスキルとあなたの概要を、ローカルスクリプトを実行し画像を検査できるAIコーディングエージェントに提供してください。Blenderがインストールされている場合、デフォルトルートはPythonを使用してオリジナルのルームを作成し、素材を設定し、レビュー画像をレンダリングし、モデルをバックグラウンドでエクスポートします。その後、座席とオプションのライトを接続し、互換フォーマット用の5つの配信ファイルをスカルプフォールドし、正確なフラットZIPを検証できます。必要に応じて、別のプロフェッショナルな3Dワークフローを使用することもできます。

BlenderウィンドウやMCPの設定は不要です。 エージェントはスクリプトとレンダリングを保存し、画像をチェックし、ルームを再調整します。ビューポートを操作したり、各モデリングステップを監視したりする必要はありません。

ヘッドレスオーサリングには依然として視覚的なレビューが含まれます。保存されたレンダリングは、エージェントがモデリングや素材の問題を特定するのに役立ちます。Apple Vision ProおよびVision Proにおける最終的なアプリ内チェックは、Locusにおけるルームの外観と雰囲気を確認します。エージェントが適切な3Dツールを操作できない場合、または画像を検査できない場合は、未完成の作業を説明する必要があります。