esmini LongSpeedAction修改

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;
	}

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值