From c931e5a6d6ffcde36bb0fb4fd40518a23e3a4003 Mon Sep 17 00:00:00 2001 From: devZoGok Date: Sun, 21 Feb 2021 12:40:04 +0200 Subject: [PATCH] empty value bugfix --- animationController.cpp | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/animationController.cpp b/animationController.cpp index 9c0d621..6ad9d26 100644 --- a/animationController.cpp +++ b/animationController.cpp @@ -42,6 +42,19 @@ namespace vb01{ Vector3 currentPos; Quaternion currentRot; Vector3 currentScale; + bool objectNode = node && node->getName() == transformNode->getName(); + if(objectNode){ + currentPos = transformNode->getPosition(); + currentRot = transformNode->getOrientation(); + currentScale = transformNode->getScale(); + } + else{ + Bone *channelBone = (Bone*)transformNode; + currentPos = channelBone->getPosePos(); + currentRot = channelBone->getPoseRot(); + currentScale = channelBone->getPoseScale(); + } + vector keyframeChannels = animation->getKeyframeChannelsByNode(transformNode); for(KeyframeChannel keyframeChannel : keyframeChannels){ Keyframe pastKeyframe = findKeyframe(channel, keyframeChannel, true); @@ -55,7 +68,7 @@ namespace vb01{ setFrameValue(value, keyframeChannel.type, currentPos, currentRot, currentScale); } - if(node && node->getName() == transformNode->getName()){ + if(objectNode){ transformNode->setPosition(currentPos); transformNode->setOrientation(currentRot); transformNode->setScale(currentScale);