Commencez avec une pièce fonctionnelle

Chaque téléchargement contient un Room v5 ZIP complet, mis à jour le 5 septembre 2026. Importez-le avec une version compatible de Locus, ou déballez-le pour étudier les matériaux et les métadonnées publiques à côté du USDZ terminé.

Nécessite le support Room v5. Les versions préliminaires de Locus 1.1.0 (1–3) ne prennent pas en charge ces fichiers ZIP. Room v5 est pris en charge à partir de la version 4 de Locus 1.1.0, y compris Locus 1.1.1. Vérifiez votre version dans Paramètres → Aide et À propos → À propos de Locus.
Pas les 1.1.5 ou 1.2.0 Rooms dans l'application. Les intégrations App Store et les révisions de la bibliothèque pour Locus 1.1.5 ajoutent des places de canapé et de salon ainsi que des groupes de bureaux dissimulables ; Locus 1.2.0 ajoute d'autres groupes de places connexes dans le menu des places avec des groupes de places attribués par l'auteur. Ces fichiers ZIP téléchargeables restent dans les forfaits desk-seat du 5 septembre afin que les auteurs puissent étudier le contrat de base Room v5, sans places de salon, Hide Desk ou groupes de places. Pour les places de salon et Hide Desk, consultez le Référence de format; pour les groupes de sièges, voir le Référence des groupes de sièges.

Utilisez une version plus ancienne ? Téléchargez une version compatible précédente : Salon d'atrium, Galerie de la cour, Atelier Horizon.

Les pièces écrites par Locus sont réutilisables sous CC BY 4.0 ; les textures intégrées Poly Haven restent CC0. Voir le Détails des crédits et des licences.

Choisissez le contrat de livraison

Le package complet v2 est le format d'importation canonique entièrement fonctionnel dans Locus 1.2.1 et versions ultérieures. Sa racine ZIP contient directement locusplace.json et catalog/, et une pièce vit sous catalog/spaces/<space-id>/.  Utilisez-le pour les ID stables et les mises à jour sur place, le son, les animations, les surfaces vidéo, les groupes de sièges, la provenance et les expériences packagées prises en charge.

Le constructeur, l'étagère, le conditionneur, le validateur et les exemples de pièces de pièce téléchargeables publics actuels produisent toujours le format de compatibilité de pièces plates héritage/simple ci-dessous. Ils n'autorisent pas ou ne valident pas le package complet v2. Chaque importation de pièces plates reçoit un nouveau UUID.

Contrat de livraison héritée/simple

Fournir un ZIP de compatibilité plate avec exactement cinq fichiers racines :

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

Conservez les sources, les textures, les caches et les fichiers d'échange modifiables en dehors du ZIP. Chaque entité référencée par les métadonnées doit avoir un nom stable et unique dans le USDZ livré.

Ouvertures et places

Chaque pièce déclare exactement un viewOpenings entrée. Il s'agit d'un lien logique avec le Locus View sélectionné ; il ne coupe pas le USDZ. Fenêtres de modèle et autres ouvertures architecturales dans la géométrie source. Les coordonnées utilisent des mètres à droite, +Y vers le haut, -Z vers l'avant, et des quaternions dans [x, y, z, w] Commande.

Chaque point de téléportation définit une position d'œil et une direction de regard. anchorXZ est normalisé dans les limites de la pièce exportées ; sourceFloorOffset identifie son niveau ; eyeHeight est mesuré à partir de ce sol. Les identifiants de siège font partie de l'interface de la pièce, alors gardez-les stables lors des révisions.

Auteur à utiliser, pas seulement à prévisualiser. Importez le ZIP exact livré et asseyez-vous à chaque place sur Apple Vision Pro. Une Pièce dont la structure est valide peut encore avoir une hauteur de vue inconfortable, une vue obstruée, une échelle incorrecte ou un dégagement insuffisant.

Adaptation spatiale facultative

spatialAdaptation relie les parties sémantiques de votre USDZ aux fonctionnalités de Locus :

champcontrat
wallEntitiesRéférences de murs validées ; celles-ci ne masquent pas les murs virtuels ni ne conduisent au Portail de la pièce.
roofEntitiesRéférences de toiture ou de plafond validées ; celles-ci ne masquent pas la toiture virtuelle.
deskEntitiesByTeleportIDCartographie l'ID de siège vers l'entité exacte pour sa surface de table. Un siège exclu de cette carte est un siège salon de première classe (canapé, lit-douche, banc) : il est chargé à sa hauteur de sol et à sa hauteur des yeux autorisées et ne reçoit jamais de mesures de bureau, d'alignement ou de passage — ne cartographiez pas une table de café à proximité juste pour lui donner un bureau.
deskGroupEntitiesByTeleportIDOptionnel, 1.1.5+. Noms, pour un siège sur dossier de bureau qui a déjà un deskEntitiesByTeleportID entrée, l'entité dont l'ensemble du sous-arbre est le bureau caché de ce siège, de sorte que Locus peut offrir un contrôle du bureau caché aux visiteurs. L'entité nommée doit être résolue de manière unique et être un ancêtre de l'entité de surface du bureau, sinon la pièce ne se charge pas. Les lecteurs plus anciens ignorent ce champ.

Une entité de bureau cartographiée doit être la table elle-même ou une plaque délimitée de manière rigoureuse. N'incluez pas de chaises, de lampes, de pieds, d'ordinateurs ou d'accessoires lâches en dessous ; Locus utilise les limites de l'entité pour déduire la hauteur de surface, l'empreinte au sol et l'orientation.

Interface d'éclairage optionnelle

Les métadonnées d'éclairage indiquent à Locus quels mailles émises exportées et sources de runtime délimitées appartiennent à chaque contrôle orienté vers le visiteur. Elles ne prescrivent pas comment modéliser, ombrer ou pré-emballer la pièce.

champComportement de Locus
luminaireGroupsUn groupe est un interrupteur logique et un ensemble de commandes de luminosité/couleur.
entitiesNomme les corps des luminaires émissifs. Un luminaire activé reste visiblement émissif depuis chaque siège.
proxy / proxiesDéclare des sources de points ou de taches délimitées. utiliser proxies Dans la pièce v3, lorsqu'un interrupteur alimente plusieurs émetteurs physiques.
nearTeleportIDsIl limite uniquement les sources proxy directes aux sièges sélectionnés ; il ne masque pas ou n'assombrit pas le corps de l'appareil ailleurs.
bakedIndirect.entitiesSous-arbres récepteur Room v3 pour la lumière indirecte à basse fréquence contrôlée par le maître des lumières de la pièce et l'EV de la pièce dans son ensemble.

La couche indirecte partagée est mise à l'échelle par 2^overallEV. Les interrupteurs lumineux individuels, la température, la couleur et l'intensité restent des contrôles locaux et ne recolorent pas ce rebond partagé. Gardez le verre, l'eau, les matériaux transmissibles, les mailles de lumière des luminaires et les halos reconnaissables spécifiques au luminaire hors de la sous-branche du récepteur indirect partagé ; les proxys directs possèdent des pools de lumière locaux.

Room v3 impose un maximum de 12 proxys autorisés, 4 proxys actifs à chaque siège, 1 proxy de projection d'ombre, 10 000 lumens par proxy et une plage de luminosité de -4…+1 EV. Ce sont des limites de sécurité, pas des valeurs cibles.

L'éclairage est facultatif. omettre lighting Pour une pièce sans luminaires contrôlés par les visiteurs. Utilisez Room v2 pour des groupes d'éclairage de base, ou Room v3 pour plusieurs proxys et un éclairage indirect intégré à la pièce.

Préservez votre design matériel

Locus utilise les matériaux, textures, UV et transformations PBR pris en charge dans votre USDZ exporté. Des noms tels que glass, taille de la pièce et identité de la pièce importée ne choisissent pas les préréglages de matériaux. Corrigez les problèmes de matériau et d'exportation dans la source editable, puis reconstruisez le Room ZIP.

Room v5 ajoute explicite rendering.softenedReflectionEntities et rendering.uiFadeEntities. Utilisez le premier uniquement lorsque vous souhaitez une réflexion de vue avec les détails de la scène horizontaux supprimés ; cela ne reflète pas l'intérieur de la pièce. Utilisez le second pour permettre aux meubles sélectionnés de s'estomper tout en bloquant une fenêtre de visiteur. Les rôles omis ne confèrent ni l'un ni l'autre de ces comportements.

Chaque projecteur v5 déclare une unité direction Dans les coordonnées de la pièce exportées, telles que [0.6, -0.8, 0]. Seule la position d'alimentation de l'ancre est fournie. Ces champs nécessitent une version de Locus compatible v5. Utilisez le Audit de modèle USD facultatif Pour vérifier les références exportées et les shaders pris en charge. Lisez le matériaux pris en charge, paramètres par défaut et règles de migration avant l'exportation.

Animations ambiantes expérimentales

Room v4 peut connecter des clips d'animation déjà intégrés dans le USDZ à des contrôles visiteurs nommés. chacun ambientAnimations L'entrée identifie une entité et une animation, ainsi que son commutateur initial, sa plage de vitesse et sa plage d'intervalle de relecture.

Les visiteurs peuvent activer ou désactiver toutes les animations expérimentales d'une pièce avec le Mouvement de la pièce Tuile dans les Commandes rapides. dans Paramètres → Mouvement → pièce Ils peuvent basculer sur chaque animation, modifier sa vitesse et son intervalle expérimentaux, puis enregistrer ces valeurs pour cette pièce sur l'appareil actuel. Un intervalle de 0–0 se répète immédiatement ; différentes valeurs minimales et maximales sélectionnent une pause aléatoire fraîche après chaque lecture terminée.

Le support d'animation est expérimental. Les métadonnées, le comportement de lecture, les commandes, la vitesse et les intervalles peuvent changer. Omettez les métadonnées d'animation à moins d'accepter intentionnellement ce risque ; cela s'applique également aux animations dans Room v5.

Construire la plus petite pièce fonctionnelle

le Constructeur de pièces minimaliste Commence à partir d'une scène vide Blender et crée un bureau, un siège calibré, deux murs, un toit et un pendant contrôlé. Il nécessite Blender 5.2 et Python 3 sur macOS. Clonez ou téléchargez ce dépôt afin que le constructeur puisse utiliser le scaffolder de métadonnées intégré ; aucun modèle, texture externe ou connexion MCP n’est nécessaire.

  1. Depuis le racine du dépôt, lancez le constructeur avec un chemin de sortie qui n'existe pas déjà. Il enregistre le fichier editable Blender, un USDZ autonome, une miniature et six images de revue assises.
  2. Inspectez chaque image dans review/. Corrigez la source si l'échelle, la direction du siège, l'espacement ou l'utilisabilité de la surface de travail sont incorrects.
  3. Lancez le packer et le validateur publics, puis importez le ZIP exact via Lieux → Importer → Importer une pièce → Fichiers.
  4. Sélectionner pièce de lecture minimale Dans Places, associez-le à une Vue et entrez dans l'Espace virtuel. Essayez le siège de la table de lecture, la tuile d'éclairage de la pièce dans Contrôles rapides, et Lumière et photo → pièce. L'alignement et le confort sur table réelle nécessitent 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

Utilisez le chemin absolu de votre exécutable Blender si blender n'est pas sur PATH. Le constructeur et le emballeur refusent de surcharger la sortie existante. Conservez la source editable et examinez les images en dehors du fichier ZIP contenant les cinq fichiers. le référence complète de l'interaction en temps d'exécution explique comment les sièges, la sécurité, la comptabilité des collisions, la qualité mesurée, la cartographie des bureaux et les autorisations des auteurs sont connectés à l'application.

Emballer, valider, puis importer le ZIP compatible

Conservez les cinq fichiers sources dans un seul répertoire et exécutez les outils au format plat public sur 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. Résolvez toutes les avertissements ou erreurs de l'exportateur USDZ et du validateur public.
  2. Dans Locus, choisissez Importer une Pièce et sélectionnez le ZIP exact validé.
  3. Appareillez la pièce avec une vue et entrez-la sur Apple Vision Pro.
  4. Essayez chaque siège, la cartographie de bureau facultative, le rôle de rendu et le contrôle de la lumière que vous avez déclarés.
  5. Corrigez la source et reconstruisez le ZIP ; ne modifiez pas l'archive finale à la main.

Construire avec un assistant IA

Transmettez votre échantillon de compétence publique et votre bref au gestionnaire de code IA qui peut exécuter des scripts locaux et inspecter des images. Avec Blender installé, l'itinéraire par défaut utilise Python pour créer une pièce originale, configurer les matériaux, afficher les images d'examen de rendu et exporter le modèle en arrière-plan. Il peut ensuite connecter les sièges et les lumières optionnelles, structurer les cinq fichiers de livraison pour le format de compatibilité et valider le ZIP plat exact. Vous pouvez toujours utiliser un autre flux de travail 3D professionnel si vous préférez.

Aucune fenêtre Blender ou configuration MCP n'est requise. L'agent enregistre les scripts et les rendus, vérifie les images et révise la pièce. Vous n'avez pas besoin d'opérer la vue d'ensemble ou de suivre chaque étape de modélisation.

L'écriture sans tête comprend toujours une révision visuelle. Les rendus sauvegardés aident l'agent à détecter les problèmes de modélisation et de matériel ; la vérification finale dans l'application sur Apple Vision Pro confirme à quoi ressemble et à quoi ressemble la pièce dans Locus. Si l'agent ne peut pas utiliser un outil 3D approprié ou inspecter des images, il doit expliquer quel travail reste incomplet.