- 水平方向
前后左右最大速度
空中地面加速度
当前速度
maxForwardSpeed
maxSidewaysSpeed
maxBackwardSpeed
public AnimationCurve slopeSpeedMultiplier = new AnimationCurve(new Keyframe(-90, 1), new Keyframe(0, 1), new Keyframe(90, 0));
maxGroundAcceleration
maxAirAcceleration
velocity
- 竖直方向
是否输入jump
-
计算位移:x = velocity*deltaTime。所以计算速度即可。
1.基于速度进行位移。要实现的效果,是平时给速度的时候不需要减速,给多少速度就是多少速度;
当停下来的时候,才应用减速。
给速度:输入方向,乘上在这个方向上允许的最大速度。
2.飞行的时候也是同理,当往上飞的时候,是不需要重力计算的,当按住空格的时候,需要给它一个根据高度计算出的速度。这个速度应该是在Ability中计算给出的。
计算方式可以是依赖时间,固定时间内保持匀速,当超过时间了开始减速到0。
重力也可以不需要,在Ability中当没有输入的时候开始给向下的速度。 -
velocity = desiredVelocity
网友评论