esmini的LongSpeedAction,如果shape设置为step的话,DynamicsDimension实际就无效了,
因为step的意思就是直接设置,在LongSpeedAction的Start过程中设置完就结束了,Step就不在
执行。
如果我们在step的情况下,想让LongSpeedAction持续一段时间再结束,可以这么修改。
在Start中去掉OSCAction::End()
if (transition_dynamics_.shape_ == DynamicsShape::STEP){object_->SetSpeed(target_->GetValue());if (!(target_->type_ == Target::TargetType::RELATIVE && ((TargetRelative*)target_)->continuous_ == true)){//OSCAction::End();}}
在Step中加上这一句
if (transition_dynamics_.shape_ == DynamicsShape::STEP && transition_dynamics_.dimension_ == DynamicsDimension::TIME){elapsed_ += dt;if (elapsed_ >= transition_dynamics_.target_value_)OSCAction::End();return;}