diff options
author | 风青山 <idleman@yeah.net> | 2024-05-30 07:46:36 +0800 |
---|---|---|
committer | 风青山 <idleman@yeah.net> | 2024-05-30 07:46:36 +0800 |
commit | 9fe902b29622de74db39729b4ca2ebce030cb27e (patch) | |
tree | 082088aef99a26b74b1f2de3a1bcd46bb91d8e95 /core/math/transform_interpolator.cpp | |
parent | 25519867f249961f7c2a7d6aa6772cb39377e85c (diff) | |
download | redot-engine-9fe902b29622de74db39729b4ca2ebce030cb27e.tar.gz |
Fix errors when re-importing 3D asset files
Some 3D asset files are treated as scenes and may cause some errors when
importing.
When working through different scene tabs, we need to temporarily add
the scene root to the SceneTree to ensure that `editor_selection->add_node()`
can work smoothly. This avoids the error message: `ERROR: Condition
"!p_node->is_inside_tree()" is true.`
This also ensures that no other scenes are accidentally added to the
SceneTree causing the wrong display. When there is an inherited scene
tab open and it is not the current tab, the new root node is accidentally
added as a child node of `scene_root` during replacement.
Instantiate the scene early so caches in SceneState that are cleared
due to loading are rebuilt early. This avoids numerous error messages:
`This operation requires the node cache to have been built.`
Diffstat (limited to 'core/math/transform_interpolator.cpp')
0 files changed, 0 insertions, 0 deletions