Créer des modèles 3D à utiliser dans la page d’accueilCreate 3D models for use in the home

La base de la réalité Windows Mixed est le point de départ où les utilisateurs se trouvent avant de lancer des applications.The Windows Mixed Reality home is the starting point where users land before launching applications. Lorsque vous concevez votre application pour des casques Windows mixtes, utilisez un modèle 3D en tant que lanceur d’applications et placez des liens profond en 3D dans la page d’hébergement de Windows Mixed Reality.When designing your application for Windows Mixed Reality headsets, use a 3D model as an app launcher and place 3D deep links into the Windows Mixed Reality home. Cet article décrit les instructions de création de modèles 3D compatibles avec la page d’hébergement de la réalité mixte Windows.This article outlines the guidelines for creating 3D models compatible with the Windows Mixed Reality home.

Présentation des exigences relatives aux ressourcesAsset requirements overview

Lors de la création de modèles 3D pour Windows Mixed Reality, toutes les ressources doivent remplir les conditions suivantes :When creating 3D models for Windows Mixed Reality, there are some requirements that all assets must meet:

  1. L' exportation des ressources doit être fournie au format de fichier. GLB (binaire glTF)Exporting - Assets must be delivered in the .glb file format (binary glTF)
  2. La modélisation des ressources doit être inférieure à 10 Ko, ne pas comporter plus de 64 nœuds et des sous-maillages 32 par LODModeling - Assets must be less than 10k triangles, have no more than 64 nodes and 32 submeshes per LOD
  3. Matériaux -les textures ne peuvent pas être supérieures à 4096 x 4096 et la plus petite carte MIP ne doit pas être supérieure à 4 sur l’une ou l’autre des dimensionsMaterials - Textures can't be larger than 4096 x 4096 and the smallest mip map should be no larger than 4 on either dimension
  4. Animation : les animations ne peuvent pas dépasser 20 minutes à 30 i/s (images clés 36 000) et doivent contenir <= 8192 sommets cibles MorphAnimation - Animations can't be longer than 20 minutes at 30 FPS (36,000 keyframes) and must contain <= 8192 morph target vertices
  5. Optimisation -les ressources doivent être optimisées à l’aide de WindowsMRAssetConverter.Optimizing - Assets should be optimized using the WindowsMRAssetConverter. Requis sur les versions de système d’exploitation windows <= 1709* et recommandé sur les versions de système d’exploitation Windows >= 1803Required on Windows OS Versions <= 1709* and recommended on Windows OS versions >= 1803

Le reste de cet article comprend une présentation détaillée de ces exigences et des recommandations supplémentaires pour garantir que vos modèles fonctionnent bien avec la page d’hébergement Windows Mixed Reality.The rest of this article includes a detailed overview of these requirements and extra guidelines to ensure your models work well with the Windows Mixed Reality home.

Conseils détaillésDetailed guidance

Exportation de modèlesExporting models

Windows Mixed Reality s’attend à ce que les ressources 3D soient remises à l’aide du format de fichier. GLB avec des images incorporées et des données binaires.The Windows Mixed Reality home expects 3D assets to be delivered using the .glb file format with embedded images and binary data. GLB est la version binaire du format glTF, qui est une norme ouverte libre Royalty pour la remise de ressources en 3D gérée par le groupe Khronos.Glb is the binary version of the glTF format, which is a royalty free open standard for 3D asset delivery maintained by the Khronos group. Comme glTF évolue comme une norme industrielle pour le contenu 3D interopérable, Microsoft prend en charge le format sur les applications et les expériences Windows.As glTF evolves as an industry standard for interoperable 3D content, so will Microsoft’s support for the format across Windows apps and experiences. Si vous n’avez pas créé de ressource glTF avant de pouvoir trouver la liste des exportateurs et convertisseurs pris en charge sur la page GitHub glTF Working Group.If you haven't created a glTF asset before you can find a list of supported exporters and converters on the glTF working group github page.

Instructions de modélisationModeling guidelines

Windows s’attend à ce que les ressources soient générées à l’aide des recommandations de modélisation suivantes pour garantir la compatibilité avec l’expérience d’origine de la réalité mixte.Windows expects assets to be generated using the following modeling guidelines to ensure compatibility with the Mixed Reality home experience. Quand vous modélisez dans votre programme de votre choix, gardez à l’esprit les recommandations et limitations suivantes :When modeling in your program of your choice, keep in mind the following recommendations and limitations:

  1. L’axe vers le haut doit être défini sur « Y ».The Up axis should be set to “Y”.
  2. L’élément multimédia doit être orienté vers l’avant vers l’axe Z positif.The asset should face “forward” towards the positive Z axis.
  3. Toutes les ressources doivent être construites sur le plan de sol à l’origine de la scène (0, 0, 0)All assets should be built on the ground plane at the scene origin (0,0,0)
  4. Les unités de travail doivent être définies sur des compteurs et des ressources afin que les ressources puissent être créées à l’échelle mondialeWorking Units should be set to meters and assets so that assets can be authored at world scale
  5. Vous n’avez pas besoin de combiner tous les maillages, mais cela est recommandé si vous ciblez des appareils à ressources restreintes.All meshes don't need to be combined, but it's recommended if you're targeting resource constrained devices
  6. Tous les maillages doivent partager un matériau, avec un seul jeu de textures utilisé pour l’ensemble de l’élément multimédiaAll meshes should share one material, with only one texture set being used for the whole asset
  7. UVs doit être disposé dans une disposition carrée de l’espace 0-1.UVs must be laid out in a square arrangement in the 0-1 space. Évitez les textures en mosaïque bien qu’elles soient autorisées.Avoid tiling textures although they're permitted.
  8. Plusieurs UVs ne sont pas pris en chargeMulti-UVs aren't supported
  9. Les matériaux recto-verso ne sont pas pris en chargeDouble-sided materials aren't supported

Nombres et niveaux de détails des triangles (LODs)Triangle counts and levels of detail (LODs)

La page d’hébergement Windows Mixed Reality ne prend pas en charge les modèles avec plus de 10 000 triangles.The Windows Mixed Reality home doesn't support models with more than 10,000 triangles. Il est recommandé de facettiser vos mailles avant de les exporter pour vous assurer qu’elles ne dépassent pas ce nombre.It’s recommended you triangulate your meshes before exporting to ensure they don't exceed this count. Windows MR prend également en charge les niveaux de détail Geometry facultatifs (LODs) pour garantir une expérience performante et de haute qualité.Windows MR also supports optional geometry levels of detail (LODs) to ensure a performant and high-quality experience. Le WindowsMRAssetConverter vous permet de combiner 3 versions de votre modèle en un seul modèle. glb.The WindowsMRAssetConverter will help you combine 3 versions of your model into a single .glb model. Windows détermine le LOD à afficher en fonction de la quantité d’écran occupée par le modèle.Windows determines which LOD to display based on the amount of screen real estate the model is taking up. Seuls 3 niveaux de LOD sont pris en charge avec les nombres de triangles recommandés suivants :Only 3 LOD levels are supported with the following recommended triangle counts:

Niveau LODLOD Level Nombre de triangles recommandéRecommended Triangle Count Nombre maximal de trianglesMax Triangle Count
LOD 0LOD 0 10 00010,000 10 00010,000
LOD 1LOD 1 5 0005,000 10 00010,000
LOD 2LOD 2 2 5002,500 10 00010,000

Nombres de nœuds et limites de sous-maillageNode counts and submesh limits

La page d’hébergement Windows Mixed Reality ne prend pas en charge les modèles avec plus de 64 nœuds ou des sous-maillages 32 par LOD.The Windows Mixed Reality home doesn't support models with more than 64 nodes or 32 submeshes per LOD. Les nœuds sont un concept de la spécification glTF qui définit les objets de la scène.Nodes are a concept in the glTF specification that define the objects in the scene. Les sous-maillages sont définis dans le tableau de primitives sur le maillage de l’objet.Submeshes are defined in the array of primitives on the mesh in the object.

FonctionnalitéFeature DescriptionDescription Max pris en chargeMax Supported DocumentationDocumentation
NœudsNodes Objets dans la scène glTFObjects in the glTF Scene 64 par LOD64 per LOD CetteHere
Sous-maillagesSubmeshes Somme des primitives sur tous les maillagesSum of primitives on all meshes 32 par LOD32 per LOD CetteHere

Instructions relatives aux matériauxMaterial guidelines

Les textures doivent être préparées à l’aide d’un flux de travail d’irrégularité du métal PBR.Textures should be prepared using a PBR metal roughness workflow. Commencez par créer un ensemble complet de textures, notamment Albedo, normal, occlusion, métallique et rugueuse.Begin by creating a full set of textures including Albedo, Normal, Occlusion, Metallic, and Roughness. Windows Mixed Reality prend en charge les textures avec des résolutions allant jusqu’à 4096x4096, mais il est recommandé de créer chez 512 x 512.Windows Mixed Reality supports textures with resolutions up to 4096x4096 but it's recommended that you author at 512x512. Les textures doivent être créées à des résolutions par multiples de 4.Textures should be authored at resolutions in multiples of 4. Il s’agit d’une condition requise pour le format de compression appliqué aux textures dans les étapes d’exportation décrites ci-dessous.This is a requirement for the compression format applied to textures in the exporting steps outlined below. Lors de la génération de mappages MIP ou d’une texture, le MIP le plus bas doit être un maximum de 4 x 4.When generating mip maps or a texture, the lowest mip must be a maximum of 4x4.

Taille de texture recommandéeRecommended Texture Size Taille maximale de la textureMax Texture Size MIP le plus basLowest Mip
512 x 512512x512 4096x40964096x4096 4x4 max.max 4x4

Carte Albedo (couleur de base)Albedo (base color) map

Couleur brute sans informations d’éclairage.Raw color with no lighting information. Cette carte contient également les informations de réflectivité et de diffusion pour le métal (blanc dans les cartes métalliques) et l’isolateur (noir dans les surfaces métalliques) respectivement.This map also contains the reflectance and diffuse information for metal (white in the metallic map) and insulator (black in the metallic map) surfaces respectively.

NormalNormal

Carte normale d’espace tangenteTangent Space Normal map

Carte d’irrégularitéRoughness map

Décrit le microsurface de l’objet.Describes the microsurface of the object. Le blanc 1,0 est un espace blanc grossier de 0,0.White 1.0 is rough Black 0.0 is smooth. Ce mappage donne la plus grande partie à la ressource, car elle décrit véritablement la surface.This map gives the asset the most character, as it truly describes the surface. Par exemple, éraflures, empreintes digitales, taches, Grime, etc.For example, scratches, fingerprints, smudges, grime, and so on.

Carte d’occlusion ambianteAmbient occlusion map

Carte de mise à l’échelle des valeurs indiquant les zones de bloqués Light, qui bloque les réflexionsValue scale map showing areas of occluded light, which blocks reflections

Carte métalliqueMetallic map

Indique au nuanceur s’il s’agit d’un métal ou non.Tells the shader if something is metal or not. RAW Metal = 1,0 blanc non Metal = 0,0 noir.Raw Metal = 1.0 white Non-metal = 0.0 black. Il peut y avoir des valeurs de gris transitoires qui indiquent un sujet couvrant le métal brut tel que le saleté, mais en général, cette carte doit être en noir et blanc uniquement.There can be transitional gray values that indicate something covering the raw metal such as dirt, but in general this map should be black and white only.

OptimisationsOptimizations

La page d’hébergement Windows Mixed Reality offre une série d’optimisations par-dessus les spécifications glTF principales définies à l’aide d’extensions personnalisées.Windows Mixed Reality home offers a series of optimizations on top of the core glTF spec defined using custom extensions. Ces optimisations sont requises sur les versions de Windows <= 1709 et recommandées sur les versions plus récentes de Windows.These optimizations are required on Windows versions <= 1709 and recommended on newer versions of Windows. Vous pouvez facilement optimiser n’importe quel modèle glTF 2,0 à l’aide de Windows Mixed Reality Converter disponible sur GitHub.You can easily optimize any glTF 2.0 model using the Windows Mixed Reality Asset Converter available on GitHub. Cet outil effectuera les optimisations de l’empaquetage et des optimisations de texture, comme indiqué ci-dessous.This tool will perform the correct texture packing and optimizations as specified below. Pour une utilisation générale, nous vous recommandons d’utiliser WindowsMRAssetConverter, mais si vous avez besoin de davantage de contrôle sur l’expérience et que vous souhaitez créer votre propre pipeline d’optimisation, vous pouvez vous référer à la spécification détaillée ci-dessous.For general usage, we recommend using the WindowsMRAssetConverter, but if you need more control over the experience and would like to build your own optimization pipeline then you can refer to the detailed specification below.

Notes

Pour obtenir une liste définitive des possibilités offertes par les limites du modèle, reportez-vous à l’article sur l' optimisation du modèle 3D à utiliser dans les applications Dynamics 365.For a definitive list of what the possibilities are for exact model limits, refer to the 3D model optimization article for use in Dynamics 365 applications.

MatériauxMaterials

Pour améliorer le temps de chargement des ressources dans les environnements de réalité mixte, Windows MR prend en charge le rendu des textures DDS compressées compressées en fonction du schéma de distribution de texture défini dans cette section.To improve asset loading time in Mixed Reality environments Windows MR supports rendering compressed DDS textures packed according to the texture packing scheme defined in this section. Les textures DDS sont référencées à l’aide de l' extension MSFT_texture_dds.DDS textures are referenced using the MSFT_texture_dds extension. La compression des textures est fortement recommandée.Compressing textures is highly recommended.

HoloLensHoloLens

Les expériences de réalité mixte basées sur HoloLens s’attendent à ce que les textures soient emballées à l’aide d’une configuration à 2 textures à l’aide des spécifications suivantes :HoloLens-based mixed reality experiences expect textures to be packed using a 2-texture setup using the following packing specification:

Propriété glTFglTF Property TextureTexture Schéma d’emballagePacking Scheme
pbrMetallicRoughnesspbrMetallicRoughness baseColorTexturebaseColorTexture Rouge (R), vert (G), bleu (B)Red (R), Green (G), Blue (B)
MSFT_packing_normalRoughnessMetallicMSFT_packing_normalRoughnessMetallic normalRoughnessMetallicTexturenormalRoughnessMetallicTexture Normal (RG), rugosité (B), métal (A)Normal (RG), Roughness (B), Metallic (A)

Lorsque vous compressez les textures DDS, la compression suivante est attendue sur chaque carte :When compressing the DDS textures the following compression is expected on each map:

TextureTexture Compression attendueExpected Compression
baseColorTexture, normalRoughnessMetallicTexturebaseColorTexture, normalRoughnessMetallicTexture BC7BC7

Casques immersifs (VR)Immersive (VR) headsets

Les expériences Windows Mixed Reality basées sur PC pour les casques immersifs s’attendent à ce que les textures soient emballées à l’aide d’une configuration à 3 textures à l’aide de la spécification de compression suivante :PC-based Windows Mixed Reality experiences for immersive (VR) headsets expect textures to be packed using a 3-texture setup using the following packing specification:

>du système d’exploitation Windows = 1803Windows OS >= 1803

Propriété glTFglTF Property TextureTexture Schéma d’emballagePacking Scheme
pbrMetallicRoughnesspbrMetallicRoughness baseColorTexturebaseColorTexture Rouge (R), vert (G), bleu (B)Red (R), Green (G), Blue (B)
MSFT_packing_occlusionRoughnessMetallicMSFT_packing_occlusionRoughnessMetallic occlusionRoughnessMetallicTextureocclusionRoughnessMetallicTexture Occlusion (R), ébauche (G), métal (B)Occlusion (R), Roughness (G), Metallic (B)
MSFT_packing_occlusionRoughnessMetallicMSFT_packing_occlusionRoughnessMetallic normalTexturenormalTexture Normal (RG)Normal (RG)

Lorsque vous compressez les textures DDS, la compression suivante est attendue sur chaque carte :When compressing the DDS textures the following compression is expected on each map:

TextureTexture Compression attendueExpected Compression
normalTexturenormalTexture BC5BC5
baseColorTexture, occlusionRoughnessMetallicTexturebaseColorTexture, occlusionRoughnessMetallicTexture BC7BC7
<du système d’exploitation Windows = 1709Windows OS <= 1709

Propriété glTFglTF Property TextureTexture Schéma d’emballagePacking Scheme
pbrMetallicRoughnesspbrMetallicRoughness baseColorTexturebaseColorTexture Rouge (R), vert (G), bleu (B)Red (R), Green (G), Blue (B)
MSFT_packing_occlusionRoughnessMetallicMSFT_packing_occlusionRoughnessMetallic roughnessMetallicOcclusionTextureroughnessMetallicOcclusionTexture Rugosité (R), métal (G), occlusion (B)Roughness (R), Metallic (G), Occlusion (B)
MSFT_packing_occlusionRoughnessMetallicMSFT_packing_occlusionRoughnessMetallic normalTexturenormalTexture Normal (RG)Normal (RG)

Lorsque vous compressez les textures DDS, la compression suivante est attendue sur chaque carte :When compressing the DDS textures the following compression is expected on each map:

TextureTexture Compression attendueExpected Compression
normalTexturenormalTexture BC5BC5
baseColorTexture, roughnessMetallicOcclusionTexturebaseColorTexture, roughnessMetallicOcclusionTexture BC7BC7

Ajout de Mesh LODsAdding mesh LODs

Windows MR utilise un nœud Geometry LODs pour restituer des modèles 3D à différents niveaux de détail en fonction de la couverture à l’écran.Windows MR uses geometry node LODs to render 3D models in different levels of detail depending on on-screen coverage. Bien que cette fonctionnalité ne soit techniquement pas nécessaire, elle est recommandée pour toutes les ressources.While this feature is technically not required, it's recommended for all assets. Actuellement, Windows prend en charge 3 niveaux de détail.Currently Windows supports 3 levels of detail. Le LOD par défaut est 0, ce qui représente la meilleure qualité.The default LOD is 0, which represents the highest quality. Les autres LODs sont numérotés séquentiellement, par exemple 1, 2 et sont progressivement plus bas en qualité.Other LODs are numbered sequentially, for example, 1, 2 and get progressively lower in quality. Le convertisseur Windows Mixed Reality Asset prend en charge la génération de ressources qui répondent à cette spécification LOD en acceptant plusieurs modèles glTF et en les fusionnant dans une seule ressource avec des niveaux de LOD valides.The Windows Mixed Reality Asset Converter supports generating assets that meet this LOD specification by accepting multiple glTF models and merging them into a single asset with valid LOD levels. Le tableau suivant présente le classement LOD attendu et les cibles de triangle :The following table outlines the expected LOD ordering and triangle targets:

Niveau LODLOD Level Nombre de triangles recommandéRecommended Triangle Count Nombre maximal de trianglesMax Triangle Count
LOD 0LOD 0 10 00010,000 10 00010,000
LOD 1LOD 1 5 0005,000 10 00010,000
LOD 2LOD 2 2 5002,500 10 00010,000

Lorsque vous utilisez LODs, spécifiez toujours 3 niveaux de LOD.When using LODs always specify 3 LOD levels. Un LODs manquant entraîne le non-rendu du modèle de manière inattendue, car le système LOD passe au niveau de LOD manquant.Missing LODs will cause the model to not render unexpectedly as the LOD system switches to the missing LOD level. glTF 2,0 ne prend pas actuellement en charge LODs dans le cadre de la spécification de base. LODs doit être défini à l’aide de l' extension MSFT_LOD.glTF 2.0 doesn't currently support LODs as part of the core spec. LODs should be defined using the MSFT_LOD extension.

Couverture de l’écranScreen coverage

Les LODs sont affichés dans Windows Mixed Reality en fonction d’un système piloté par la valeur de la couverture d’écran définie sur chaque LOD.LODs are displayed in Windows Mixed Reality based on a system driven by the screen coverage value set on each LOD. Les objets qui consomment actuellement une plus grande partie de l’espace d’écran sont affichés à un niveau plus élevé de LOD.Objects that are currently consuming a larger portion of the screen space are displayed at a higher LOD level. La couverture d’écran ne fait pas partie de la spécification Core glTF 2,0 et doit être spécifiée à l’aide de MSFT_ScreenCoverage dans la section « Extras » de l' extension MSFT_lod.Screen coverage isn't a part of the core glTF 2.0 spec and must be specified using MSFT_ScreenCoverage in the “extras” section of the MSFT_lod extension.

Niveau LODLOD Level Plage recommandéeRecommended Range Plage par défautDefault Range
LOD 0LOD 0 100%-50%100% - 50% 0,50.5
LOD 1LOD 1 Moins de 50%-20%Under 50% - 20% 0.20.2
LOD 2LOD 2 Moins de 20%-1%Under 20% - 1% 0.010.01
LOD 4LOD 4 Moins de 1%Under 1% -

Instructions d’animationAnimation guidelines

Notes

Cette fonctionnalité a été ajoutée dans le cadre de la mise à jour 2018 d’avril de Windows 10.This feature was added as part of Windows 10 April 2018 Update. Dans les versions antérieures de Windows, ces animations ne sont pas lues, mais elles sont toujours chargées si elles sont créées conformément aux instructions de cet article.On older versions of Windows these animations won't play back, however, they will still load if authored according to the guidance in this article.

La page d’hébergement de la réalité mixte prend en charge les objets glTF animés sur les casques HoloLens et immersif (VR).The mixed reality home supports animated glTF objects on HoloLens and immersive (VR) headsets. Si vous souhaitez déclencher des animations sur votre modèle, vous devez utiliser l’extension de la carte d’animation au format glTF.If you wish to trigger animations on your model, you'll need to use the Animation Map extension on the glTF format. Cette extension vous permet de déclencher des animations dans le modèle glTF en fonction de la présence de l’utilisateur dans le monde, par exemple déclencher une animation lorsque l’utilisateur est proche de l’objet ou qu’il l’examine.This extension lets you trigger animations in the glTF model based on the user's presence in the world, for example trigger an animation when the user is close to the object or while they're looking at it. Si vous glTF objet contient des animations, mais ne définit pas les déclencheurs, les animations ne sont pas lues.If you glTF object has animations, but doesn't define triggers the animations won't be played back. La section ci-dessous décrit un flux de travail pour l’ajout de ces déclencheurs à n’importe quel objet glTF animé.The section below describes one workflow for adding these triggers to any animated glTF object.

OutilsTools

Tout d’abord, téléchargez les outils suivants si vous ne les avez pas déjà.First, download the following tools if you don't have them already. Ces outils facilitent l’ouverture de tout modèle glTF, la préversion, la modification et l’enregistrement d’une sauvegarde en tant que glTF ou. glb :These tools will make it easy to open any glTF model, preview it, make changes and save back out as glTF or .glb:

  1. Visual Studio CodeVisual Studio Code
  2. Outils glTF pour Visual Studio CodeglTF Tools for Visual Studio Code

Ouverture et aperçu du modèleOpening and previewing the model

Commencez par ouvrir le modèle glTF dans VSCode en faisant glisser le fichier. glTF dans la fenêtre de l’éditeur.Start by opening up the glTF model in VSCode by dragging the .glTF file into the editor window. Si vous disposez d’un fichier. GLB au lieu d’un fichier. glTF, vous pouvez l’importer dans VSCode à l’aide du module complémentaire outils glTF que vous avez téléchargé.If you've a .glb instead of a .glTF file you can import it into VSCode using the glTF Tools addon that you downloaded. Accédez à « View-> Command palette », puis commencez à taper « glTF » dans la palette de commandes et sélectionnez « glTF : import from GLB », qui contiendra un sélecteur de fichier pour importer un fichier. GLB avec.Go to "View -> Command Palette" and then begin typing "glTF" in the command palette and select "glTF: Import from glb", which will pop up a file picker for you to import a .glb with.

Une fois que vous avez ouvert votre modèle glTF, vous devez voir le JSON dans la fenêtre de l’éditeur.Once you've opened your glTF model, you should see the JSON in the editor window. Vous pouvez également afficher un aperçu du modèle dans une visionneuse 3D en direct à l’aide du en cliquant avec le bouton droit sur le nom de fichier et en sélectionnant le raccourci de commande « glTF : Preview 3D Model » dans le menu contextuel.You can also preview the model in a live 3D viewer using the by right-clicking the file name and selecting the "glTF: Preview 3D Model" command shortcut from the right click menu.

Ajout des déclencheursAdding the triggers

Les déclencheurs d’animation sont ajoutés au modèle JSON glTF à l’aide de l’extension de mappage d’animation.Animation triggers are added to glTF model JSON using the Animation Map extension. L’extension de mappage d’animation est documentée publiquement ici sur GitHub (Remarque : il s’agit d’une extension de brouillon).The animation map extension is publicly documented here on GitHub (NOTE: THIS IS A DRAFT EXTENSION). Pour ajouter l’extension à votre modèle, faites défiler jusqu’à la fin du fichier glTF dans l’éditeur et ajoutez le bloc « extensionsUsed » et « extensions » à votre fichier s’ils n’existent pas déjà.To add the extension to your model just scroll to the end of the glTF file in the editor and add the "extensionsUsed" and "extensions" block to your file if they don't already exist. Dans la section « extensionsUsed », vous allez ajouter une référence à l’extension « EXT_animation_map » et dans le bloc « extensions », vous ajouterez vos mappages aux animations dans le modèle.In the "extensionsUsed" section, you'll add a reference to the "EXT_animation_map" extension and in the "extensions" block you'll add your mappings to the animations in the model.

Comme indiqué dans la spécification , vous définissez ce qui déclenche l’animation à l’aide de la chaîne « sémantique » sur une liste d' « animations », qui est un tableau d’index d’animation.As noted in the spec you define what triggers the animation using the "semantic" string on a list of "animations", which is an array of animation indices. Dans l’exemple ci-dessous, nous avons spécifié l’animation à lire lorsque l’utilisateur est Gazing au niveau de l’objet :In the example below we've specified the animation to play while the user is gazing at the object:

  "extensionsUsed": [
    "EXT_animation_map"
  ],
  "extensions" : {
      "EXT_animation_map" : {
            "bindings": [
                {
                    "semantic": "GAZE",
                    "animations": [0]
                }
            ]
      }
  }

L’animation suivante déclenche la sémantique est prise en charge par la page d’hébergement Windows Mixed Reality.The following animation triggers semantics are supported by the Windows Mixed Reality home.

  • « ALWAYs » : boucler constamment une animation"ALWAYS": Constantly loop an animation
  • « DÉTENU » : en boucle pendant toute la durée d’un objet."HELD": Looped during the entire duration an object is grabbed.
  • « Point de regard » : en boucle pendant qu’un objet est consulté"GAZE": Looped while an object is being looked at
  • « PROXIMITE » : en boucle alors qu’une visionneuse est proche d’un objet"PROXIMITY": Looped while a viewer is near to an object
  • « POINTing » : en boucle pendant qu’un utilisateur pointe sur un objet"POINTING": Looped while a user is pointing at an object

Enregistrement et exportationSaving and exporting

Une fois que vous avez apporté les modifications à votre modèle glTF, vous pouvez l’enregistrer directement en tant que glTF.Once you've made the changes to your glTF model, you can save it directly as glTF. Vous pouvez également cliquer avec le bouton droit sur le nom du fichier dans l’éditeur et sélectionner « glTF : exporter vers GLB (fichier binaire) » pour exporter un. glb.You can also right-click the name of the file in the editor and select "glTF: Export to GLB (binary file)" to export a .glb.

RestrictionsRestrictions

Les animations ne peuvent pas dépasser 20 minutes et ne peuvent pas contenir plus de 36 000 images clés (20 minutes à 30 i/s).Animations can't be longer than 20 minutes and can't contain more than 36,000 keyframes (20 mins at 30 FPS). En outre, lorsque vous utilisez des animations basées sur une cible morphe, vous ne dépassez pas 8192 sommets de cible morphe ou moins.Additionally when using morph target-based animations don't exceed 8192 morph target vertices or less. Si vous dépassez ces nombres, la ressource animée sera non prise en charge dans la page d’hébergement de la réalité mixte Windows.Exceeding these counts will cause the animated asset to be unsupported in the Windows Mixed Reality home.

FonctionnalitéFeature MaximaleMaximum
DurationDuration 20 minutes20 minutes
Images clésKeyframes 36 00036,000
Vertex cible MorphMorph Target Vertices 8 1928192

Remarques sur l’implémentation de glTFglTF Implementation notes

Windows MR ne prend pas en charge le retournement de géométrie à l’aide d’échelles négatives.Windows MR doesn't support flipping geometry using negative scales. La géométrie avec des échelles négatives entraîne probablement des artefacts visuels.Geometry with negative scales will likely result in visual artifacts.

La ressource glTF doit pointer vers la scène par défaut à l’aide de l’attribut Scene qui doit être rendu par Windows MR.The glTF asset MUST point to the default scene using the scene attribute to be rendered by Windows MR. En outre, le chargeur Windows MR glTF avant la mise à jour 2018 de Windows 10 avril requiert des accesseurs :Additionally the Windows MR glTF loader before the Windows 10 April 2018 update requires accessors:

  • Doit avoir des valeurs min et max.Must have min and max values.
  • Le type scalaire doit être componentType UNSIGNED_SHORT (5123) ou UNSIGNED_INT (5125).Type SCALAR must be componentType UNSIGNED_SHORT (5123) or UNSIGNED_INT (5125).
  • Le type VEC2 et VEC3 doit être componentType FLOAT (5126).Type VEC2 and VEC3 must be componentType FLOAT (5126).

Les propriétés de matériau suivantes sont utilisées à partir de Core glTF 2,0 Spec, mais pas obligatoire :The following material properties are used from core glTF 2.0 spec but not required:

  • baseColorFactor, metallicFactor, roughnessFactorbaseColorFactor, metallicFactor, roughnessFactor
  • baseColorTexture : doit pointer vers une texture stockée dans DDS.baseColorTexture: Must point to a texture stored in dds.
  • emissiveTexture : doit pointer vers une texture stockée dans DDS.emissiveTexture: Must point to a texture stored in dds.
  • emissiveFactoremissiveFactor
  • alphaModealphaMode

Les propriétés de matériau suivantes sont ignorées à partir des spécifications principales :The following material properties are ignored from core spec:

  • Tous les UVsAll Multi-UVs
  • metalRoughnessTexture : doit utiliser à la place la compression de texture optimisée Microsoft définie ci-dessousmetalRoughnessTexture: Must instead use Microsoft optimized texture packing defined below
  • normalTexture : doit utiliser à la place la compression de texture optimisée Microsoft définie ci-dessousnormalTexture: Must instead use Microsoft optimized texture packing defined below
  • normalScalenormalScale
  • occlusionTexture : doit utiliser à la place la compression de texture optimisée Microsoft définie ci-dessousocclusionTexture: Must instead use Microsoft optimized texture packing defined below
  • occlusionStrengthocclusionStrength

Windows MR ne prend pas en charge les lignes et les points en mode primitif.Windows MR doesn't support primitive mode lines and points.

Un seul attribut de vertex UV est pris en charge.Only a single UV vertex attribute is supported.

Plus de ressourcesMore resources

Voir aussiSee also