Unity3D关于蓄力跳跃
2016年2月18日18:47:29
关于角色跳跃,蓄力跳的更高,并带有动画。
思路是,设置一个蓄力值Current,一个最大值MAX和一个最小值MIN。如果键盘某键一直被按住的话一直增加这个蓄力值cu+= Time.deltaTime*10f,但肯定有个限度的,当增加到最大值时就保持当前值等于最大值不再增加了cu=MAX,然后把这个值给物体一个向上的速度(用获取的刚体组件).velocity = new Vector3(0f, current, 0f)。基本就是这样,下面看具体实现一下。Unity3D版本是5.3.2f1
1.新建场景,一个Plan,一个空物体名字叫Player下面有个Cube,去掉Cube的BoxCollider
2.为这个Player创建4个动画片段,(PS:动画部分不是重点,只是为了更形象,此处可以省略,但需要将代码中播放动画的代码部分注释掉就行)分别是:
Idle(待机状态):保持缩放不变,位置不变;
InPressure(蓄力状态):高度变小,X Z 轴变大,来回变大还原的动画;
Jump(跳跃):高度变大,X Z 轴变小,也就是变的瘦小细长;
DownUp(颤动恢复原形):先变胖,在变回原样(缩放为1,1,1)