You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Jan 25, 2023. It is now read-only.
The non-master AnimatedModel for a Node can remove the Skeleton in a number of cases, resulting in very broken model renders. Basically, these are edge cases where the same underlying bug of #439 has not been fixed completely.
In certain circumstances just removing the non-master model can do it as well (specifically, if the node heirarchy has been edited to insert nodes between the AnimatedModel's node and the RootBone's node). When being removed from a node, the model has SetNode(nullptr) called on it (in Node::RemoveComponent) and then the component is actually erased from the Vector<SharedPtr<Component>> components_, which calls the destructor (assuming no other references). ~AnimatedModel() then checks for a node on the root bone, and if the node's parent does not have a(nother) AnimatedModel, the skeleton is removed.
I believe either scenario can be solved by adding a check for isMaster_ in AnimatedModel::RemoveRootBone(). However, I'm not sure I am not missing any subtleties that might make this approach fail or break something else.
Are there any thoughts on the matter?
The text was updated successfully, but these errors were encountered:
The non-master AnimatedModel for a Node can remove the Skeleton in a number of cases, resulting in very broken model renders. Basically, these are edge cases where the same underlying bug of #439 has not been fixed completely.
SetModel(nullptr)
callsRemoveRootBone(); // Remove existing root bone if any
SetNode(nullptr)
called on it (inNode::RemoveComponent
) and then the component is actually erased from theVector<SharedPtr<Component>> components_
, which calls the destructor (assuming no other references).~AnimatedModel()
then checks for a node on the root bone, and if the node's parent does not have a(nother) AnimatedModel, the skeleton is removed.I believe either scenario can be solved by adding a check for
isMaster_
inAnimatedModel::RemoveRootBone()
. However, I'm not sure I am not missing any subtleties that might make this approach fail or break something else.Are there any thoughts on the matter?
The text was updated successfully, but these errors were encountered: