Skip to content

KHR_node_visibility support #2597

@aaronfranke

Description

@aaronfranke

Is your feature request related to a problem? Please describe.
In Godot 4.4 and earlier, invisible nodes were excluded from export. In Godot 4.5 and later, we added support for KHR_node_visibility, and made it a required extension on export, which ensures that user models are always rendered correctly (or not at all), and users have to opt-in to allow their models to be rendered incorrectly. If this was optional by default, the display of models exported by the user may end up changing without their knowledge. However, this required by default choice means such models can't be imported into Blender, which does not yet support this extension.

Describe the solution you'd like
Implement this Khronos extension, KHR_node_visibility: KhronosGroup/glTF#2410

Describe alternatives you've considered
The only alternative is to wait, it needs to be done this way, with this extension. It is possible that any extension may be changed prior to ratification, but... this is a simple boolean, it's not going to change.

Additional context
This extension is already implemented in:
Godot: godotengine/godot#93722
Unity: KhronosGroup/UnityGLTF#822
Babylon.JS: BabylonJS/Babylon.js#15754 and https://doc.babylonjs.com/typedoc/classes/BABYLON.GLTF2.Loader.Extensions.KHR_node_visibility
StereoKit: StereoKit/StereoKit#1231 (not yet merged)
glTF Sample Viewer: https://github.khronos.org/glTF-Sample-Viewer-Release/interactivity/

Issues tracking this in other projects:
Bevy: bevyengine/bevy#17524

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions