diff --git a/libraries/animation/src/AnimClip.h b/libraries/animation/src/AnimClip.h index 24acdcf20a..7f201f94e7 100644 --- a/libraries/animation/src/AnimClip.h +++ b/libraries/animation/src/AnimClip.h @@ -55,6 +55,8 @@ public: float getFrame() const { return _frame; } void loadURL(const QString& url); + AnimBlendType getBlendType() const { return _blendType; }; + protected: virtual void setCurrentFrameInternal(float frame) override; diff --git a/libraries/animation/src/Rig.cpp b/libraries/animation/src/Rig.cpp index 0be05f843e..efb3bd451a 100644 --- a/libraries/animation/src/Rig.cpp +++ b/libraries/animation/src/Rig.cpp @@ -545,7 +545,8 @@ QStringList Rig::getAnimationRoles() const { auto clipNode = std::dynamic_pointer_cast(node); if (clipNode) { // filter out the userAnims, they are for internal use only. - if (!clipNode->getID().startsWith("userAnim")) { + // also don't return additive blend node clips as valid roles. + if (!clipNode->getID().startsWith("userAnim") && clipNode->getBlendType() == AnimBlendType_Normal) { list.append(node->getID()); } }