SlideShare uma empresa Scribd logo
1 de 54
3D Content Guidelines for Microsoft
Jeremy Kersey, Fiona Mok
Version 1.3 2019
00 Introduction
3D Content Guidelines for Office
Guide overview
01 3D Engine Overview
Rendering Overview
What is rendering?
Offline rendering
Real-time rendering
Office 3D Engine
Real-time rendering in Office
Performance targets
Office 3D feature support
02 Sourcing Assets
Acquiring 3D Assets for Office
Acquiring 3D assets overview
Online marketplace search terms
Selecting content
Vendors
03 Content Creation
Creating Custom 3D Assets for Office
Content creation overview
Polygon modelling
Surfacing
Animation
Export Workflows
Export overview
GLB
FBX
OBJ
PLY
STL
3MF
Conversion Workflows
CAD
Intermediate file formats
Optimizing
File size and memory consumption
Performance
Visual Artifacts
Common visual artifacts
04 Additional Resources
Tools
Preview tools
Validation tool
Appendix
Useful links
Introduction
3D Content Guidelines for Office
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.
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
3D Engine Overview
Rendering Overview
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.
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.
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
Office 3D Engine
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.
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.
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
Sourcing Assets
Acquiring 3D Assets for Office
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
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.
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.
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
Content Creation
Creating Custom 3D Assets for Office
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.
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
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.
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
Export Workflows
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.
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.
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.
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.
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.
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
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.
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
Conversion Workflows
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
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.
Optimizing
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
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
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
Visual Artifacts
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
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.
Additional Resources
Tools
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
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.
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.
Appendix
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
3D Content Guidelines for Microsoft

Mais conteúdo relacionado

Mais de Patrick Guimonet

Mais de Patrick Guimonet (20)

2020-02-29 Scottish Summit - Integrate Power Platform with SharePoint and Teams
2020-02-29 Scottish Summit - Integrate Power Platform with SharePoint and Teams2020-02-29 Scottish Summit - Integrate Power Platform with SharePoint and Teams
2020-02-29 Scottish Summit - Integrate Power Platform with SharePoint and Teams
 
2020-02-25 MS Ignite The Tour - Integrate the Power Platform with SharePoint ...
2020-02-25 MS Ignite The Tour - Integrate the Power Platform with SharePoint ...2020-02-25 MS Ignite The Tour - Integrate the Power Platform with SharePoint ...
2020-02-25 MS Ignite The Tour - Integrate the Power Platform with SharePoint ...
 
2020-01-28 MS Ignite The Tour Milan - Mobility with Office 365
2020-01-28 MS Ignite The Tour Milan - Mobility with Office 3652020-01-28 MS Ignite The Tour Milan - Mobility with Office 365
2020-01-28 MS Ignite The Tour Milan - Mobility with Office 365
 
2020 01-27 MS Ignite The Tour Milan - Integrate Power Platform with SharePoin...
2020 01-27 MS Ignite The Tour Milan - Integrate Power Platform with SharePoin...2020 01-27 MS Ignite The Tour Milan - Integrate Power Platform with SharePoin...
2020 01-27 MS Ignite The Tour Milan - Integrate Power Platform with SharePoin...
 
MWCP19 Retour d’Ignite : les nouveautés autour des Content Services et du Pro...
MWCP19 Retour d’Ignite : les nouveautés autour des Content Services et du Pro...MWCP19 Retour d’Ignite : les nouveautés autour des Content Services et du Pro...
MWCP19 Retour d’Ignite : les nouveautés autour des Content Services et du Pro...
 
2019-12-09 MWCP19 Préconférence Les nouveaux usages de Microsoft 365
2019-12-09 MWCP19 Préconférence  Les nouveaux usages de Microsoft 3652019-12-09 MWCP19 Préconférence  Les nouveaux usages de Microsoft 365
2019-12-09 MWCP19 Préconférence Les nouveaux usages de Microsoft 365
 
2019 11-30 SPSMUC19 - Integrate Power Platform with SharePoint
2019 11-30 SPSMUC19 - Integrate Power Platform with SharePoint2019 11-30 SPSMUC19 - Integrate Power Platform with SharePoint
2019 11-30 SPSMUC19 - Integrate Power Platform with SharePoint
 
2019-11-16 SPS Leicester - Integrate Power Platform with SharePoint
2019-11-16 SPS Leicester - Integrate Power Platform with SharePoint2019-11-16 SPS Leicester - Integrate Power Platform with SharePoint
2019-11-16 SPS Leicester - Integrate Power Platform with SharePoint
 
19 11-13 MS Ignite The Tour Paris - Surfing Microsoft 365 waves
19 11-13 MS Ignite The Tour Paris -  Surfing Microsoft 365 waves19 11-13 MS Ignite The Tour Paris -  Surfing Microsoft 365 waves
19 11-13 MS Ignite The Tour Paris - Surfing Microsoft 365 waves
 
2019 11-13 MS Ignite The Tour Paris - Integrate Power Platform with SharePoin...
2019 11-13 MS Ignite The Tour Paris - Integrate Power Platform with SharePoin...2019 11-13 MS Ignite The Tour Paris - Integrate Power Platform with SharePoin...
2019 11-13 MS Ignite The Tour Paris - Integrate Power Platform with SharePoin...
 
2019 11-13 MS Ignite The Tour Paris - Mobility with Office 365
2019 11-13 MS Ignite The Tour Paris - Mobility with Office 3652019 11-13 MS Ignite The Tour Paris - Mobility with Office 365
2019 11-13 MS Ignite The Tour Paris - Mobility with Office 365
 
2019-10-19 aOS KL Surfing the waves of Office 365
2019-10-19 aOS KL Surfing the waves of Office 3652019-10-19 aOS KL Surfing the waves of Office 365
2019-10-19 aOS KL Surfing the waves of Office 365
 
2019-10-08 aOS Aachen - Integrate the Power Platform with SharePoint
2019-10-08 aOS Aachen - Integrate the Power Platform with SharePoint2019-10-08 aOS Aachen - Integrate the Power Platform with SharePoint
2019-10-08 aOS Aachen - Integrate the Power Platform with SharePoint
 
2019-09-28 SPS Helsinki - Integrate the Power Platform with SharePoint
2019-09-28 SPS Helsinki - Integrate the Power Platform with SharePoint2019-09-28 SPS Helsinki - Integrate the Power Platform with SharePoint
2019-09-28 SPS Helsinki - Integrate the Power Platform with SharePoint
 
2019 09-26 aOS Monaco Intégrer la Power Platform avec SharePoint
2019 09-26 aOS Monaco Intégrer la Power Platform avec SharePoint 2019 09-26 aOS Monaco Intégrer la Power Platform avec SharePoint
2019 09-26 aOS Monaco Intégrer la Power Platform avec SharePoint
 
2019-07-09 aOS Moscow Integrate the Power Platform with SharePoint
2019-07-09  aOS Moscow Integrate the Power Platform with SharePoint2019-07-09  aOS Moscow Integrate the Power Platform with SharePoint
2019-07-09 aOS Moscow Integrate the Power Platform with SharePoint
 
2019-06-12 aOS Aix Marseille Integrer la Power Platform avec SharePoint
2019-06-12 aOS Aix Marseille Integrer la Power Platform avec SharePoint2019-06-12 aOS Aix Marseille Integrer la Power Platform avec SharePoint
2019-06-12 aOS Aix Marseille Integrer la Power Platform avec SharePoint
 
2019-06-12 aOS Aix Marseille - Integrer la Power Platform avec SharePoint
2019-06-12 aOS Aix Marseille - Integrer la Power Platform avec SharePoint2019-06-12 aOS Aix Marseille - Integrer la Power Platform avec SharePoint
2019-06-12 aOS Aix Marseille - Integrer la Power Platform avec SharePoint
 
2019-06-04 aOS Strasbourg - Réussir la promesse d'Office 365 - Patrick Guimonet
2019-06-04 aOS Strasbourg - Réussir la promesse d'Office 365 - Patrick Guimonet2019-06-04 aOS Strasbourg - Réussir la promesse d'Office 365 - Patrick Guimonet
2019-06-04 aOS Strasbourg - Réussir la promesse d'Office 365 - Patrick Guimonet
 
SPC2019 - Integrate Power Platform with SharePoint an end to-end real life sc...
SPC2019 - Integrate Power Platform with SharePoint an end to-end real life sc...SPC2019 - Integrate Power Platform with SharePoint an end to-end real life sc...
SPC2019 - Integrate Power Platform with SharePoint an end to-end real life sc...
 

Último

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Último (20)

Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 

3D Content Guidelines for Microsoft

  • 1. 3D Content Guidelines for Microsoft Jeremy Kersey, Fiona Mok Version 1.3 2019
  • 2. 00 Introduction 3D Content Guidelines for Office Guide overview 01 3D Engine Overview Rendering Overview What is rendering? Offline rendering Real-time rendering Office 3D Engine Real-time rendering in Office Performance targets Office 3D feature support 02 Sourcing Assets Acquiring 3D Assets for Office Acquiring 3D assets overview Online marketplace search terms Selecting content Vendors 03 Content Creation Creating Custom 3D Assets for Office Content creation overview Polygon modelling Surfacing Animation Export Workflows Export overview GLB FBX OBJ PLY STL 3MF Conversion Workflows CAD Intermediate file formats Optimizing File size and memory consumption Performance Visual Artifacts Common visual artifacts 04 Additional Resources Tools Preview tools Validation tool Appendix Useful links
  • 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
  • 17. Acquiring 3D Assets for Office
  • 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
  • 23. Creating Custom 3D Assets for Office
  • 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.
  • 48. Tools
  • 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