5. Introduction
Guide overview
Whether you are a Microsoft Office 365 user looking to acquire
3D assets for your documents or a 3D professional creating
content for your clients, this guide is designed to help you be
more successful with 3D in Office.
The guide is split into four major parts:
01 3D Engine Overview
02 Sourcing Assets
03 Content Creation
04 Additional Resources
If 3D in Office 365 is new to you, be sure to check out this quick
start guide and video. These templates are also a great way to
explore using 3D in PowerPoint and Word.
6. Introduction
Guide overview
Each of the four major parts of the guide can be read in sequence or independently in any order you choose.
01 3D Engine Overview
Learn about the inner workings of the
real-time 3D engine used in Office
and how it compares to other
methods of rendering 3D content.
02 Sourcing Assets
Tips and tricks for finding quality 3D
content in online marketplaces and
working with vendors to build your
custom assets.
03 Content Creation
Step through the process of creating
content for real-time rendering in
Office. From modelling, surfacing and
animation through to optimizing and
exporting your assets.
04 Additional Resources
Discover tools for viewing, analyzing
and validating your 3D content as
well as links to other valuable
resources.
Recommended reading for:
Everyone
Recommended reading for:
Office users looking to acquire 3D assets
Recommended reading for:
3D Professionals
Recommended reading for:
3D Professionals
Office users reviewing 3D content
9. 3D Engine Overview
What is rendering?
To create the computer-generated images used in today’s films,
video games and applications, 3D models are created with
complex materials and textures and then lit and animated in
virtual simulations of real-world physical properties.
Rendering is the process of calculating the results of these
simulations and turning it into the final image on screen.
Depending on the intended usage of the resulting images,
different types of renderers can be used to achieve varying
levels of quality and accuracy versus the time it takes to render.
Learn more about the process of computer graphics rendering on
Wikipedia.
Recursive Ray Tracing of a sphere, which incorporates the effects
of diffuse interreflection, limited depth-of-field and area light
sources. Generated using a custom Java renderer.
Tim Babb, 2018. Wikipedia license.
10. 3D Engine Overview
Offline rendering
Offline rendering makes use of a technique called Ray Tracing to
achieve the photorealism and ultra high precision seen in
today’s films and product visualizations.
Ray Tracing aims to replicate the way light interacts with objects
and reflects to your eyes in the real world. This simulation of
physical properties is what creates realistic surfaces, lighting
phenomenon, accurate reflections and shadows.
This level of quality comes at a high computational cost and is
usually carried out on large server farms and can take several
minutes or even hours to produce a single high-resolution
image of complex scenes.
Illustration of the Ray Tracing algorithm for rendering an image.
Henrik, 2018. Wikipedia license.
Ray Tracing is commonly used in offline rendering, where as most
of today’s real-time renderers rely explicitly on Rasterization. For
more information on the differences see Nvidia’s article here.
11. 3D Engine Overview
Real-time rendering
The power of real-time rendering really shines in interactive
experiences where the action on screen in not predetermined.
Rasterization is a real-time rendering technique used in today’s
video games and simulators. Rasterization is hardware
accelerated by the Graphics Processing Unit or “GPU” in your
computer to achieve a constant frame rate with smooth
interactions and fluid animations.
Rendering complex scenes at this pace on today’s hardware
requires some tradeoffs in physical accuracy compared to an
offline renderer where speed is less of a constraint.
Visit Scratchapixel for an in-depth breakdown of a Rasterization
implementation.
Principle of the geometrical perspective projection.
Joachim Baecker, 2005. Wikipedia license
13. 3D Engine Overview
Real-time rendering in Office
Office is using a real-time Rasterization renderer to create the
resulting images you see when you insert a 3D model.
glTF or “GL Transmission Format” is the open source 3D file
format used by Office to store and render all 3D models.
Many different 3D file formats can be imported and are
automatically converted to glTF before rendering in Office,
because of this it is important to understand the feature set of
the glTF specification.
GLB is the binary version of glTF which allows you to store complex
3D assets in a single file for maximum portability.
GLB is recommend when exporting to the glTF format for Office.
Supported 3D File Formats
File Extension Meshes Materials UVs Textures Vertex Colors Animation
GLB Yes Yes Yes Yes Yes Yes
FBX Yes Yes Yes Yes Yes Yes
OBJ Yes Yes Yes Yes No No
PLY Yes No No No Yes No
STL Yes No No No No No
3MF Yes Yes Yes Yes Yes No
Each supported 3D file format has its own limitations that need to be considered when
authoring content. Click the links in the table above to jump to the export guide for each
format in the Content Creation section.
14. 3D Engine Overview
Performance targets
The hardware and the resolution of the screen used to view or present your 3D documents will have
a direct impact on what fidelity of models you will be able to display while remaining performant.
This table defines some conservative targets to aim for when acquiring or authoring 3D content for
a range of hardware. When in doubt, target models to the Mid-Range profile for a balance of fidelity
and performance.
Low End Mid-Range High End
Processor and Graphics i3 i5, Integrated Graphics i7/i9, Discrete GPU
Triangle Count Maximum 25k 40k 60k
Texture Count Maximum 5 9 12
Texture Resolution Maximum 512x512 2048x2048 4096x4096
Texture Resolution Average 256x256 1024x1024 2048x2048
Draw Calls Maximum 4 6 8
Joint Count Maximum 40 100 180
Joint Count Mapped to Vertices Maximum 20 50 100
Multiple Texture Passes per Material Not Recommended Yes Yes
3D file sizes should be kept below 50mb whenever possible.
Large 3D file sizes will directly affect the size of your documents
and make them less portable. Share large documents easily using a
cloud service such as OneDrive or SharePoint.
15. 3D Engine Overview
Office 3D feature support
Depending on the version of Office you are working
with, there will be differences in the available 3D
features.
Office 365 receives regular updates and will provide
access to the latest features as they become available.
3D features are supported on:
• Office for Mac
• Office for Windows
• Office Mobile for Windows 10
Documents authored with 3D content will still be viewable by users
on the web clients or previous versions of Office. However, 3D
models will be displayed as images with no embedded animation
or interaction capabilities.
3D Feature Office on *Windows PC Office on **Mac
3D Model Support
Mesh Primitives with Physically Based Rendering (PBR)
Metallic Roughness material workflow
Office 2019
Office 365 Subscription
Office 2019
Office 365 Subscription
Points and Lines Primitives - -
Animated 3D Model Support
Skinned skeletal animation Office 365 Subscription -
Node transform animation - -
Morph Target animation - -
glTF Extension Support
KHR_materials_pbrSpecularGlossiness
Office 2019
Office 365 Subscription
Office 2019
Office 365 Subscription
KHR_materials_unlit
Office 2019
Office 365 Subscription
Office 2019
Office 365 Subscription
*Supported Windows PC Versions: Win7 (with latest updates), Win8 and Win10
**Mac 2012 or greater with OS X Sierra or greater
18. Sourcing Assets
Acquiring 3D assets overview
There are a couple of options to consider when acquiring 3D content,
each has its own advantages depending on your needs.
Online marketplace
Advantages
• Plenty of pre-made content in many different art styles
• Assets ready for immediate download
• Attractive pricing
Disadvantages
• You may not be able to find a suitable asset
• Assets may require modifications to be glTF compliant and performant
• Licensing terms may prevent the intended usage
Vendors
Advantages
• Completely custom assets built to your specifications
• glTF compliant and performant
• Assets can be owned outright when the proper agreement is in place
Disadvantages
• Lead time
• Requires more time investment up front and during development
• High quality vendors can come at a high cost
19. Sourcing Assets
Filters
• Setup a filter for the supported
file types such as .GLB and .FBX
• Filter by license type to avoid
unusable content
• Content categories. Examples:
animals, dogs, animated
Visual Style
• Use keywords that describe the
art style
• Examples: realistic dog, hand
painted fire hydrant, cartoon
sports car, photorealistic human
Animated Content
• Animated content should be in
.GLB or .FBX
• Animation style terms: squash
and stretch, exaggerated, realistic,
motion capture, mo-cap
• Technical terms: rigged, skinned,
takes, clips, looping, walk cycles
Technical Specifications
• Technical keywords can help
focus on options that will work
out of the box with Office
• Examples: glTF compliant, Real-
time, no plug-ins, polygons,
triangles, clean topology, UVs,
texture, PBR, Metallic Roughness
Online marketplace search terms
There are many online marketplaces offering a huge selection of
content which means that finding the right 3D asset can be challenging.
Here are some things to keep in mind while searching marketplace
content to help narrow down the selection quickly.
20. Sourcing Assets
Licensing
• Pay close attention to the details of the licensing agreement before
making a purchase and when using the content.
• Each piece of content is subject to its own license terms which may
impose limitations on its usage such as redistribution restrictions.
• Some content may have 3rd party branding. In this case usage
clearances need to be requested directly from the original rights holder.
Selecting content
After narrowing down the options using filters and search terms
there are still a few things to consider before making a purchase.
Quality Listings
• Always look for highly rated assets with artists who are active and
responsive to feedback on their listings.
• Many marketplaces display certification badges or tags for assets that
have been verified for quality.
• Most marketplaces sell content provided by many different vendors, so
don’t be afraid to ask questions or request fixes if the asset received is
not as advertised.
Technical Notes
• 3D content creation applications provide many workflows that are not
supported by glTF and the Office 365 renderer.
• Be aware that these types of assets may have to be heavily modified
before they are ready to use in Office.
• Examples of unsupported features to avoid: NURBS, subdivision
surfaces, parametric solids, procedural materials, subsurface scattering,
curvature maps, cavity maps, height maps, displacement, hair and fur
simulations, cloth and muscle simulations
Refer to Performance targets in the 3D Engine Overview section to
ensure that asset fidelity is aligned with hardware requirements.
21. Sourcing Assets
Vendors
There are plenty of readily available vendors that could help
build custom 3D assets for your project.
Here are some suggestions to keep in mind when choosing and
working with a vendor.
Choosing a vendor
• Demonstrates clear communication skills and responsiveness to clients
• Proven track record of successful job completion
• Portfolio containing examples of the required art style or asset type
• Experience producing assets for real-time rendering
• Local time zone of the vendor may impact the scheduling and communication
Provide to a vendor
• Detailed delivery schedule for major milestones
• Work in progress review terms
• Asset delivery terms: method of delivery, final file format, source files
• Reference package: Art targets, color palettes, animation style examples, object
reference images or drawings, dimensions
• Technical specifications: Draw call limits, texture resolutions, texture counts, triangle
count, joint count, file size targets
• Quick turnaround on feedback and answering questions
24. Content Creation
Content creation overview
Following the overview of feature support, the Content Creation guidance is
split into four major sections.
The guidance may be read in sequence or you can jump to the section that is
most relevant to your workflow.
Export Workflows
Example export workflows for each of
the supported 3D file formats and
tips for avoiding common issues.
Conversion Workflows
General guidance on converting
parametric CAD models and working
with intermediate 3D file types.
Optimizing
Guidance for reducing file size and
memory consumption as well as tips
for resolving common performance
bottlenecks.
Visual Artifacts
Tips for identifying and resolving
common visual rendering artifacts.
25. Textured Mesh Vertex colors Blended Result
Content Creation
Polygon modelling
Create meshes with real-time rendering in mind and
use the performance targets to inform your modelling
budgets.
Combine sub-meshes whenever possible to reduce
draw calls. Be aware that glTF will split meshes with
multiple materials into a sub-mesh per material.
Supported Mesh Features
• Triangles or quads
• Vertex normals for hard or soft edges
• 2 UV sets
• UV tiling
• 1 vertex color set
All meshes will be triangulated when exporting to .GLB or during
the conversion process that occurs while importing any of the other
supported 3D file formats into Office.
Autodesk Maya
26. Content Creation
Surfacing
glTF and the Office renderer makes use of Physically
Based Rendering or “PBR” with a Metallic Roughness
workflow.
A detailed breakdown of the PBR texture and material
creation process is covered for a variety of applications
in the Khronos Group’s Art Pipeline for glTF.
Supported Textures
• Base Color
• Normal
• Metallic
• Roughness
• Ambient Occlusion
• Emission
Metallic Roughness is the standard PBR workflow for glTF. Specular
Glossiness is also supported via a glTF extension. For an example of
Specular Glossiness usage see FBX export workflow.
27. Content Creation
Animation
Animations can be embedded in .GLB and .FBX files
and show up as “Scenes” in Office. These Scenes can
be triggered just like any other animation type found
in Office.
See the Export Workflows section for more details on
exporting multiple animations to .GLB or .FBX.
Supported Animation Features
• Skinned skeletal joint hierarchies
• 4 influences per vertex maximum
• Normalized weighting
• 30 frames per second with keys on frame recommended
• glTF animation interpolation: linear, cubic spline
• FBX animation interpolation: linear
• Up to 18 animations within one .GLB or .FBX file
Support for node transform animation and morph target
animation is coming soon. Check the Office 3D feature support
table for updates.
Autodesk Maya
29. Content Creation
Export overview
Now that your 3D content is complete, you will need
to export it in a supported 3D file format which can
handle all the features the asset requires.
glTF is the open source 3D file format recommended
for Office. If your content creation package doesn’t
have a glTF exporter yet, we recommend exporting to
.FBX for animated and textured assets.
No glTF exporter? Consider requesting one from your software
vendor or the glTF community on the Khronos Group’s GitHub.
glTF Exporters
Content Creation Package Compliance Description
Blender.org Blender glTF 2.0 Native import / export Blender 2.8 or later
Autodesk 3DS Max glTF 2.0 Babylon.JS plug-in for Max 2015 or later
Autodesk Maya glTF 2.0 Babylon.JS plug-in for Maya 2018 or later
Trimble SketchUp glTF 2.0 Separate extensions for export and import
Allegorithmic Substance Painter glTF 2.0 Native exporter
SideFX Houdini glTF 2.0 Native import / export
Foundry Modo glTF 2.0 Native exporter
Visit Khronos Group on GitHub for a full list of glTF Import, Export and Conversion tools.
30. Content Creation
GLB
Exporting directly to GLB from your content creation
tools is the best option for more direct control over
how your assets will look in Office.
The Babylon.JS plug-ins for Autodesk Maya and 3DS
Max allow you to work directly with the glTF metallic
roughness workflow; further reducing the conversion
that needs to happen during the export process.
Create multiple animations on the timeline and use
the Babylon.JS Animation Groups panel to define
frame ranges and export multiple animation clips in a
single file.
Read more about the glTF file format here on Wikipedia.
glTF workflow documentation
• The Art Pipeline for glTF from Khronos Group provides an excellent breakdown of the whole glTF
workflow in a variety of applications.
• Autodesk Maya | Babylon.JS:
• Metallic roughness workflow with Stingray PBS or the Arnold Standard Surface material
• Autodesk Maya | Babylon.JS:
• Multiple animations in a single GLB file
• Autodesk 3DS Max | Babylon.JS:
• Metallic roughness workflow with PBR materials or the Arnold Standard Surface material
• Autodesk 3DS Max | Babylon.JS:
• Multiple animations in a single GLB file
Tools
Content Creation Package Compliance Description
Autodesk Maya glTF 2.0 Babylon.JS plug-in for Maya 2018 or later
Autodesk 3DS Max glTF 2.0 Babylon.JS plug-in for Max 2015 or later
Visit Khronos Group on GitHub for a full list of glTF Import, Export and Conversion tools.
31. Content Creation
FBX
Wide availability and feature support make FBX the
next best choice after GLB when exporting content for
Office.
When authoring FBX files you must use the Specular
Glossiness workflow. This can be achieved in Autodesk
Maya with a standard Phong material.
Use the Embed Media export option to package
textures inside the exported FBX file. If your exporter
does not have an embed option, textures must be in
the same directory as the FBX file on a local drive.
Textures must be referenced with relative paths.
Importing FBX files into Office will result in a GLB that uses the
Specular Glossiness glTF extension. FBX files that reference loose
textures must be imported from a local drive.
Autodesk Maya: Phong Specular Gloss workflow mappings for glTF
glTF attribute Phong attribute Texture type
Base Color Color RGB + A for optional transparency
Specular Specular Color RGB + A for Glossiness
Glossiness Specular Color A channel of Specular texture
Normal Bump / Normal RGB
Emission Incandescence RGB
Ambient Occlusion Ambient Color RGB
glTF only supports .PNG and .JPG textures, all other image formats will be converted during the import process.
Color factors can be used in place of textures for Base Color, Transparency, Specular, Emission and Ambient
Occlusion.
Embed Media option in the Maya FBX exporter dialogue.
32. Content Creation
FBX
Multiple animations can be authored on a single
timeline or by arranging clips with the Time Editor in
Autodesk Maya.
Frame ranges of multiple animations can be defined in
the Animation Clips tab of the Game Exporter.
The Time Editor tab in the Game Exporter is used to
select which animations clips will be exported and
their desired frame ranges.
Read more about the FBX file format here on Wikipedia.
Three animations defined for export in the Animation Clips tab of Maya’s Game Exporter panel.
33. Content Creation
OBJ
When authoring OBJ files you must use the Specular
Glossiness workflow. This can be achieved in Autodesk
Maya with a standard Phong material.
Exporting an OBJ will also create an MTL file. The MTL
file can be opened in a text editor to see material
settings and references to texture files.
The OBJ, MTL and loose texture files must all exist in
the same directory on a local drive when importing
OBJ files in Office.
Read more about the OBJ file format here on Wikipedia.
Autodesk Maya: Phong Specular Gloss workflow mappings for glTF
glTF attribute Phong attribute Texture type
Base Color Color RGB + A for optional transparency
Specular Specular Color RGB + A for Glossiness
Glossiness Specular Color A channel of Specular texture
Normal Bump / Normal RGB
Emission Incandescence RGB
Ambient Occlusion Ambient Color RGB
glTF only supports .PNG and .JPG textures, all other image formats will be converted during the import process.
Many OBJ exporters will interpret normal maps as bump maps on export.
34. Content Creation
PLY
PLY files were primarily designed to store mesh data
from 3D scanners. Vertex normals can be used to
create hard and soft edges. A single vertex color set
with alpha is also supported.
Both binary and ASCII versions of PLY are available.
Read more about the PLY file format here on Wikipedia.
SideFX Houdini
35. Content Creation
STL
STL files are commonly used in 3D printing workflows
and only describe surface geometry with hard edged
faces.
All color, texture and UV information will be stripped
on export. STL files contain no scale information and
the units are arbitrary.
Most STL exporters provide an option to output files
in either binary or ASCII.
Read more about the STL file format here on Wikipedia.
36. Content Creation
3MF
The 3D Manufacturing Format or 3MF, is a 3D printing
format designed for interoperability of full fidelity
models across platforms, applications and services.
3MF files can be imported into Office with vertex
colors, UVs and embedded textures for base color.
Read more about 3MF and the consortium here.
3D Builder
38. Content Creation
CAD
Modelling tools in most CAD applications use sets of adjustable
mathematical parameters to define parametric solids.
Parametric solids are highly accurate volumes that can be used
to carry out engineering simulations and manufacturing
processes.
glTF and the Office renderer require models to be represented
as a triangulated polygon surface.
Additional Notes
• Many CAD applications can perform the required tessellation step
when exporting to another file format.
• CAD assemblies often contain large amounts of individual parts each
with their own material assignments.
• Refer to the Content Creation guidance on Draw Calls and Hierarchy
Complexity to improve the performance of exported CAD files. If your application does not support tessellation on export, there
are several 3rd party solutions on the market for converting CAD
models to polygon surfaces.
SideFX Houdini
39. Content Creation
Intermediate file formats
Even if your content creation package cannot export
to any of the supported 3D file formats, you may be
able to export your assets to an intermediate file
format which can be converted with another tool.
The widely supported COLLADA exchange file format
is the precursor to glTF from Khronos Group.
COLLADA’s .DAE files can be imported and exported
with a variety of applications.
.ZAE is the archive version of .DAE. Changing the extension from
.ZAE to .ZIP will allow you to unpack the contents.
Example .DAE to .GLB conversion workflow
• Install the OpenCollada plug-in for Autodesk Maya or 3DS Max
• Install the Babylon.JS exporter for Autodesk Maya or 3DS Max
• Launch Autodesk Maya or 3DS Max and enable the OpenCollada and Babylon.JS plug-ins
• Import the .DAE file
• Use the Babylon.JS exporter to generate a .GLB
• Alternatively, export as .FBX with embedded media
Tools
Content Creation Package Compliance Description
Autodesk Maya | 3DS Max glTF 2.0 OpenCollada plug-in
Autodesk Maya glTF 2.0 Babylon.JS plug-in for Maya 2018 or later
Autodesk 3DS Max glTF 2.0 Babylon.JS plug-in for Max 2015 or later
Visit Khronos Group on GitHub for a full list of glTF Import, Export and Conversion tools.
41. Content Creation
Textures
• Reducing the resolution and the amount of textures will have the
largest impact on memory consumption and file size on disk.
• Reduce textures based on their visual impact. For example metallic
roughness maps can often be half the resolution of base color and
normal maps with no discernable reduction of quality.
• JPG compression and PNG quantization will further reduce file size
on disk, however it will have no impact on the memory required at
runtime when the asset is loaded.
Unused Data
• Be sure to remove any data that is not required by your Office
document. Extra nodes, meshes, materials and textures can add up
quickly.
• Animations can consume a lot of disk space, especially in assets
with large skeletal hierarchies. Remove all key frames on channels
that are not changing for the duration of the animation.
• Remove any extraneous animations and trim the range of the
required animations to only the frames you need.
Triangle Reduction
• It takes a massive reduction in triangle count to make a meaningful
change to file size. Use this method when it is the only remaining
option.
• If the model usage is known ahead of time, use that to inform
triangle reduction choices. Focus on less important areas with high
mesh density while being mindful of the silhouette impact.
• Fine geometric surface details can often be replaced by baking
them into normal and occlusion maps for large triangle savings.
File size and memory consumption
Use 3D Viewer to compare stats and visualize optimization results.
Autodesk Maya
42. Draw Calls
• The most common runtime performance bottleneck can usually be
attributed to large amounts of draw calls.
• While there are many reasons an asset may incur more draw calls
the most likely cause is simply many materials assigned to the
meshes in the scene.
• Create texture atlases out of multiple materials and merge the
meshes together to consolidate draw calls.
Transparency
• Transparency has significantly more cost to render compared to a
fully opaque material.
• Split texture sets into opaque and transparent materials to
minimize the amount of geometry rendered with alpha.
• If the model only has one texture set, duplicate the material,
remove the transparency and assign the newly created material to
all the opaque triangles of the mesh.
Textures
• Large textures require a lot of system resources and can be
especially taxing on devices without a discrete GPU.
• Reduce textures based on their visual impact. For example metallic
roughness maps can often be half the resolution of base color and
normal maps with no discernable reduction of quality.
• Consider completely removing textures based on their visual
impact, especially if you are targeting a lower end hardware
specification.
Performance
Content Creation Use 3D Viewer to compare stats and visualize optimization results.
Autodesk Maya
43. Content Creation
Hierarchy Complexity
• Grouping, parenting and large amounts of nodes such as nulls,
locators, meshes and joints can contribute to poor runtime
performance.
• Simplify your hierarchy, remove unnecessary nodes and combine
meshes where possible.
• glTF will create a mesh per material, atlas materials together to
reduce node count and draw calls.
• For animated models consider how the model needs move and
consolidate the hierarchy into as few nodes as possible.
Triangle Reduction
• High triangle or vertex counts can hinder performance especially
on devices without a discrete GPU.
• If the model usage is known ahead of time, use that to inform
triangle reduction choices. Focus on less important areas with high
mesh density while being mindful of the silhouette impact.
• Fine geometric surface details can often be replaced by baking
them into normal and occlusion maps for large triangle savings.
Joint and Skin Count
• Skeletal hierarchies with large amounts of joints skinned to vertices
can be costly at runtime especially if there are multiple skin
clusters.
• While it may increase the complexity of the skin weighting process,
reducing skin clusters by combining meshes is one of the best
options for improving skin and skeletal performance.
• Remove joints that won’t be used in the required animations.
Consider reducing joint count in dense parts of the hierarchy, often
a similar deformation can be achieved with skin weighting
adjustments.
Performance
Use 3D Viewer to compare stats and visualize optimization results.
Autodesk Maya Autodesk MayaAllegorithmic Substance Painter
45. Content Creation
Coplanar Geometry
• Flickering can occur when geometry faces are coplanar or nearly
coplanar. This is especially prevalent when the model is animating.
• Increasing the distance between geometry faces by a small amount
will resolve the flickering issues in most cases.
Inverted Face Normals
• Inverted face normals can cause the model to be shaded
incorrectly.
• Flip the normals of the incorrectly shaded faces to resolve the
rendering issues.
Common visual artifacts
Use 3D Viewer to identify visual artifacts and test your revisions.
Autodesk Maya
46. Content Creation
Alpha Sorting
• A mesh with a single material for both opaque and transparent
faces can introduce sort order artifacts depending on the position
of the model.
• Texture sets should always be split into opaque and transparent
materials to improve render sorting.
• If the model only has one texture set, duplicate the material,
remove the transparency and assign the newly created material to
all the opaque triangles of the mesh.
A single mesh with both opaque and
transparent faces that overlap can cause
sort order artifacts.
Common visual artifacts
Use 3D Viewer to identify visual artifacts and test your revisions.
Tangent Basis
• A conflicting tangent basis can cause your normal maps to appear
inverted.
• If you don’t export tangents with your model, glTF and the Office
renderer will assume right-handedness.
• Export your model with tangents if you are baking tangent space
normal maps in a left-handed setup. Alternatively you could invert
the green channel (Y axis) of your normal map.
49. Additional Resources
Preview tools
3D Viewer is a Microsoft Store application built on the
same 3D rendering engine used in Office 365. This is
the fastest way to preview how your assets will look in
the renderer.
Asset stats and the detailed visualizations found in
3D Viewer can help identify performance bottlenecks.
Import supported 3D file types and save them as .GLB.
3D files on your local hard drive can also be previewed in Windows
File Explorer by enabling the Preview pane under the View menu.
3D Viewer can be found in the Windows 10 Start menu
50. Additional Resources
Preview tools
Babylon.JS Sandbox is a drag and drop web tool built
on the fully glTF compliant Babylon.JS renderer.
Preview .glTF, .GLB, .OBJ and .Babylon files in your web
browser.
Files that are performant and render well in Babylon.JS Sandbox
will most likely render as expected in the Office renderer.
51. Additional Resources
Validation tool
The Khronos glTF Validator is a drag and drop web
tool that verifies the output from your glTF exporter or
converter against the glTF specification.
When loading a glTF file, the tool will generate a pass
or fail state as well as a detailed report that outlines
any errors that have been encountered.
The errors can be used by developers to determine if
there are any issues with the tools used to generate
the glTF file.
Your software vendor or developer may be able to use this data to
improve the compliance of their glTF tools.
53. Additional Resources
Useful links
glTF Specification
The official glTF specification from Khronos Group
Babylon.JS
Open source 3D engine based on WebGL and JavaScript
Windows Mixed Reality
Development guidelines for Windows Mixed Reality headset experiences
HoloLens
Development guidelines and resources for HoloLens experiences
Allegorithmic PBR Guide Part 1
Excellent guide on the theory behind Physically Based Rendering
Allegorithmic PBR Guide Part 2
A guide to authoring PBR textures and materials focused on the Substance toolset