Releases: atteneder/glTFast
Releases · atteneder/glTFast
glTFast 6.8.0
Added
- (Import) Setting to create textures readable. This allows users to access resulting textures from their scripts.
- (Export) Non-readable meshes can be exported as well now.
- (Export) Added support for exporting meshes with vertex compression enabled (effectively converting 16-bit float positions/normals/tangents/texture coordinates to 32-bit floats).
- (Export) Buffer view targets are set properly now.
- (Import) Support for mesh primitive modes
TRIANGLE_STRIP
andTRIANGLE_FAN
(thanks @Hexer611 for #22)
Fixed
- (Export) Writing to files on the web via IndexedDB now works (fixes #625)
- (Export) test results are validated again.
- (Export) Removed expendable JSON content when exporting unlit materials without color or texture applied.
- Primitve mode LINE_LOOP works as expected (thanks @Hexer611 for #22).
- (Test) Fail export test if glTF JSON contains unexpected or misses expected properties.
- Increased resilience against invalid animation data.
- Broken link in
CONTRIBUTING.md
(thanks @Hexer611 for #22). - Loading glTFs with unknown texture extensions (e.g. WebP,
EXT_texture_webp
) now works (fixes #705).
glTFast 6.7.1
Fixed
- (Export) Cases of corrupt glTFs when not all vertex attributes of a mesh were exported.
- Alpha blending via baseColorTexture's alpha value is now in correct color space, less opaque and as a result consistent with other glTF viewers (affected URP and built-in render pipeline projects in linear color space; fixes #700).
glTFast 6.7.0
Added
- (Import) Support for materials variants extension.
- Serialization support for material extensions IOR, Sheen and Specular.
- (Import) Ability to load a glTF from a generic
Stream
(GltfImport.LoadStream
; thanks @sandr01d for #10).
Changed
- (Import) Prefabs imported from glTF assets (at design-time) don't have the glTF logo icon assigned to them anymore. This makes it more consistent with other file types (like FBX; fixes #557).
Deprecated
MetaMaterialExport
. Always useMaterialExport.GetDefaultMaterialExport
to get the correct material export.
Fixed
- (Export) glTFast shader based materials and textures are exported correctly when using the default render pipeline.
- Added missing entries to the API documentation.
- (Export) Base colors are now in correct, linear color space.
- Alpha mode blend now works as expected in HDRP 11 and newer as well (fixes #699).
- (Export) Fixed mesh min/max when using Draco compression.
glTFast 6.6.0
Added
- Serialization/de-serialization (only) support for the KHR_materials_variants extension.
Fixed
- Compatible with Entities 1.2.0.
- Black materials when using low standard shader quality with the built-in render pipeline (thanks @Kushulain for #595).
- (UI) Quantity of report items is not shown in importer inspector anymore. Report items cannot be removed anymore (thanks @krisrok for #630).
glTFast 6.5.0
Added
- (Export) Support for exporting glTFast shader based materials. This reduces data loss on import-export round trips considerably.
- (Export) Support for setting a custom scene origin via transform matrix.
- Dependency on Unity Collections package.
- Added Apple Privacy Manifest documentation.
- Export sample code.
- XML documentation comments.
float4x4.Decompose
overload that outputs rotation as typequaternion
.
Changed
- Faster buffer conversion jobs due to batching via
IJobParallelForBatch
. - (Export) Material exporter implementation is chosen based on used shader by default.
- (Export) Vertex attributes are discarded if they are not used/referenced.
- (Export) Root level nodes' positions are based on their GameObject's world positions (and not their local position anymore).
Fixed
- (Export) Discrepancy in color due to export of unused vertex colors.
- Incorrect copyright text in some SPDX headers.
Deprecated
float4x4.Decompose
overload that outputs rotation as typefloat4
(quaternion values).
Removed
- Soft dependency on deprecated Unity Jobs package.
- Legacy code for Unity versions older than the minimum required 2020 LTS.
glTFast 6.4.0
Added
- Tests for all
GltfImport.Load
overloads. - Tests for all import Burst jobs.
ICodeLogger.Log
for dynamic LogType usage.
Changed
- Emission sub graph uses shader define
SHADEROPTIONS_PRE_EXPOSITION
for HDRP usage detection (replacing a custom function node that checked forUNITY_HEADER_HD_INCLUDED
). - BaseColor sub graph uses built-in shader define
UNITY_COLORSPACE_GAMMA
for project color space detection (replacing a custom function node).
Fixed
- Shader sub graphs BaseColor and Emission are now compatible with PolySpatial visionOS.
- On Apple visionOS, textures are always created readable, so that PolySpatial visionOS is able to convert them.
- Draco compressed tangents import tangents correctly now.
- Removed invalid attempt to calculate normals or tangents on point or line meshes.
- Consistent log message when a glTF extension cannot be supported due to a missing Unity package depenency (e.g. KTX for Unity).
- All missing extensions are logged (not just the first one).
- There's now a single message per missing package.
- Depending on whether that extension is required the message's type is warning or error.
- Added explicit message when meshoptimizer decompression for Unity is missing.
glTFast 6.3.0
Added
- Runtime import tests.
- Runtime export tests.
- (Export) Added development-time checks for valid JSON string literals.
- Added Apple Privacy Manifest file to
/Plugins
directory.
Changed
- Refactored test scripts folder layout.
- (Export) Normal maps are exported in PNG format by default.
- (Export) HDRP area lights are still exported as spot-lights, but their intensity is taken from
Light.intensity
(still incorrect, but more consistent). - Switched from asset-path-based to GUID-based shader loading (in the Editor 2021 and newer) in order to allow for a flexible folder layout without risking breaks/regressions should the layout change in the future.
- Avoid expensive UnityEngine.Object null check when accessing cached default shaders.
Fixed
- Exception when required glTF shader is not included.
- Compiler errors when safe mode (
GLTFAST_SAFE
scripting define) is enabled. - Compiler error with High Definition Render Pipeline version 17 (2023.3)
- Removed usage of obsolete APIs in High Definition Render Pipeline version 17 (2023.3)
- (Export) Area light's range value is exported accurately (as shown in the inspector).
- Various occasions of
NullReferenceException
when no logger is used/provided. - Proper error handling when trying to load unsupported sparse texture coordinates.
- Ensure that special chars in string values don't lead to invalid JSON.
- Using invariant culture
ToLower
/ToUpper
variants on all non-language-specific data. - Added missing
GetHashCode
implementation (removes compiler warning). - Compiler errors and warnings on newer HDRP versions (16.x/17.x)
- URP clearcoat shader loading at runtime.
- HDRP stack-lit shader loading at runtime.
glTFast 6.2.0
Added
- Deprecated soft-dependency packages are detected and a warning with upgrade instructions is shown in the console.
Changed
- Support for Draco 3D Data Compression is now provided by Draco for Unity (com.unity.cloud.draco), which is a fork of and replaces DracoUnity (com.atteneder.draco).
Fixed
- Compiler error when Newtonsoft JSON package was not installed.
- All Draco vertex attributes are assigned by identifier instead of type. As a result, tangents are now decoded properly instead of recalculated.
- Compilation error when scripting define
GLTFAST_BUILTIN_SHADER_GRAPH
is set. GltfImport.IsTextureYFlipped
returns correct result for non-KTX textures.
glTFast 6.1.0
Added
- (Documentation) Explanation and user case for the add-on API
GltfImport.IsTextureYFlipped
to support non-default texture orientations
Changed
- Documentation improvements
- Auto-formatted all markdown, USS, UXML and shader code
- CI maintenance
Fixed
- Updated references to KTX for Unity
glTFast 6.0.1
Fixed
- Compilation error when Animation module is disabled and Newtonsoft JSON package installed.