Skip to content

Latest commit

 

History

History
169 lines (139 loc) · 7.14 KB

features.md

File metadata and controls

169 lines (139 loc) · 7.14 KB

Features

  • Runtime import
  • Fast and small footprint JSON parsing
  • Multi-threading via C# job system
  • Editor import
  • Export

Core glTF features

1: Untested due to lack of demo files.

2: Beta

Extensions

Official Khronos extensions

  • KHR_draco_mesh_compression
  • KHR_materials_pbrSpecularGlossiness
  • KHR_materials_unlit
  • KHR_texture_transform
  • KHR_mesh_quantization
  • 1KHR_texture_basisu
  • KHR_lights_punctual (issue)
  • KHR_materials_clearcoat (issue)
  • KHR_materials_sheen (issue)
  • KHR_materials_transmission (issue)
  • KHR_materials_variants (issue)
  • KHR_xmp

1: Beta

Will not be supported:

  • KHR_techniques_webgl

Vendor extensions

  • EXT_mesh_gpu_instancing (issue)
  • EXT_meshopt_compression (issue)
  • EXT_lights_image_based (issue)

Not investigated yet:

  • AGI_articulations
  • AGI_stk_metadata
  • CESIUM_primitive_outline
  • MSFT_lod
  • MSFT_packing_normalRoughnessMetallic
  • MSFT_packing_occlusionRoughnessMetallic

Will not be supported:

  • ADOBE_materials_clearcoat_specular (prefer KHR_materials_clearcoat)
  • ADOBE_materials_thin_transparency (prefer KHR_materials_transmission)
  • EXT_texture_webp (prefer KTX/basisu)
  • FB_geometry_metadata (prefer KTX_xmp)
  • MSFT_texture_dds (prefer KTX/basisu)

Materials

Material Feature URP HDRP Built-In
PBR1 Metallic-Roughness
PBR1 Specular-Glossiness
Unlit
Normal texture
Occlusion texture
Emission texture
Alpha modes OPAQUE/MASK/BLEND
Double sided / Two sided
Vertex colors
Multiple UV sets
Texture Transform 2 2 2
Clear coat
Sheen
Transmission 3 4 4
Variants

1: Physically-Based Rendering (PBR) material model

2: The texture transform of baseColorTexture (or diffuseTexture for Specular-Glossiness) is re-used for all other textures. If you need different texture transforms for different texture types, create an issue.

3: There are two approximation implementations for transmission in Universal render pipeline. If the Opaque Texture is enabled (in the Universal RP Asset settings), it is sampled to provide proper transmissive filtering. The downside of this approach is transparent objects are not rendered on top of each other. If the opaque texture is not available, the common approximation (see 4 below) is used.

4: Transmission in Built-In and HD render pipeline does not support transmission textures and is only 100% correct in certain cases like clear glass (100% transmission, white base color). Otherwise it's an approximation.

Legend:

  • ✅ Fully supported
  • ✓ Supported partially
  • ℹ Planned (click for issue)
  • ❌ No plan to support (click to create issue)
  • 1Vertex accessors (positions, normals, etc.) that are used across meshes are duplicated and result in higher memory usage and slower loading (see this comment)
  • 1When using more than one samplers on an image, that image is duplicated and results in higher memory usage
  • Texture sampler minification/magnification filter limitations (see issue):
    • 1There's no differentiation between minFilter and magFilter. minFilter settings are prioritized.
    • 1minFilter mode NEAREST_MIPMAP_LINEAR is not supported and will result in NEAREST.
  • When building for WebGL with Unity 2018.1 you have to enable explicitly thrown exceptions (reason unknown - to be investigated)

1: A Unity API limitation.