想实现一下减速的效果,但是出了点问题
unity3d吧
全部回复
仅看楼主
level 9
二十一号七
楼主
下面是代码,问题就是无论怎么改else语句块的代码,或者设置减速度,debug里面减速的输出语句,只会有一帧的时间,无论速度有没有减到0都会进入idle状态,这是什么原因呢
2024年03月21日 15点03分
1
level 9
二十一号七
楼主
我看到b站上有个搬运的视频,说是用addforce来加速减速的,跟用mathf有什么不同吗,还是说他的实现方式更好
2024年03月21日 16点03分
2
level 7
宇宙岛🌟
我猜你这应该是2d横版游戏?在没有输入的情况下,inputx的值为0,若y轴也没有速度的话,playervel的值就是(0,0),相乘之后rigibody的速度就被你设置为0了,自然就进入idle状态了。建议打印一下playervel的值验证一下。
2024年03月21日 17点03分
3
二十一号七
那我该怎么修改这句呢
2024年03月22日 01点03分
二十一号七
对,我怎么没看出来
2024年03月22日 00点03分
宇宙岛🌟
@二十一号七
可以判断inputx是否为0,若为0直接使rigibody的velocity等于currentspeed,不为0就使用原来的公式
2024年03月22日 02点03分
宇宙岛🌟
@二十一号七
还有,你的movetowards用法不对,https://docs.unity.cn/cn/2020.3/ScriptReference/Mathf.MoveTowards.html看看文档再修改
2024年03月22日 03点03分
1