Animation fixes for curves that do not start on frame 0
--HG-- branch : nfb
This commit is contained in:
@@ -164,16 +164,8 @@ void KRAnimation::update(float deltaTime)
|
|||||||
KRNode::node_attribute_type attribute_type = attribute->getTargetAttribute();
|
KRNode::node_attribute_type attribute_type = attribute->getTargetAttribute();
|
||||||
|
|
||||||
if(curve != NULL && target != NULL) {
|
if(curve != NULL && target != NULL) {
|
||||||
int frame_number = (int)((m_local_time + m_start_time) * curve->getFrameRate());
|
target->SetAttribute(attribute_type, curve->getValue(m_local_time + m_start_time));
|
||||||
if(frame_number < curve->getFrameStart()) {
|
|
||||||
target->SetAttribute(attribute_type, curve->getValue(m_start_time));
|
|
||||||
} else if(frame_number - curve->getFrameStart() >= curve->getFrameCount()) {
|
|
||||||
target->SetAttribute(attribute_type, curve->getValue(curve->getFrameCount() - 1));
|
|
||||||
} else {
|
|
||||||
target->SetAttribute(attribute_type, curve->getValue(frame_number - curve->getFrameStart()));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user