GLTFExporter: Preventing to write null
for attenuationDistance
.
#29035
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixed #29034
Description
Having no
material.attenuationDistance
set in the material, defaults to+Infitity
.+Infitity
cannot explicitilly be set in GLTF file and automatically is set to NULL by Three.js. NULL property is not allowed in JSON and makes the file invalid. It then cannot be read by various softwares, for example - Blender 4 - > onwards.According to KHR_materials_volume in order to convey infinity, the value should be ommited. We propose adding check if the
material.attenuationDistance !== Infinity
we either send that parameter if its set, or don't send it if its default.