Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions scene/3d/xr/xr_nodes.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,16 @@

////////////////////////////////////////////////////////////////////////////////////////////////////

void XRCamera3D::_validate_property(PropertyInfo &p_property) const {
if (!Engine::get_singleton()->is_editor_hint()) {
return;
}
// Hide properties that are managed by XRInterface or otherwise not applicable for XRCamera3D.
if (p_property.name == "fov" || p_property.name == "projection" || p_property.name == "size" || p_property.name == "frustum_offset" || p_property.name == "keep_aspect") {
p_property.usage = PROPERTY_USAGE_NO_EDITOR;
}
}

void XRCamera3D::_bind_tracker() {
XRServer *xr_server = XRServer::get_singleton();
ERR_FAIL_NULL(xr_server);
Expand Down
2 changes: 2 additions & 0 deletions scene/3d/xr/xr_nodes.h
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,8 @@ class XRCamera3D : public Camera3D {
StringName pose_name = SceneStringName(default_);
Ref<XRPositionalTracker> tracker;

void _validate_property(PropertyInfo &p_property) const;

void _bind_tracker();
void _unbind_tracker();
void _changed_tracker(const StringName &p_tracker_name, int p_tracker_type);
Expand Down