Unity关于移动时会穿透的一些问题

个人 Unity Shader 基础学习专栏 :【Unity Shader】基础学习及相关应用

持续更新中,写得不好,还望多多支持!!!

在大部分游戏里面,我们的游戏主角在移动过程中都是无法穿透场景里面的物体的(除特殊情况外),这就涉及到人物的移动与碰撞的问题了。

相信unity里面的移动方法大家都会的,最简单的应该就是Translate()了,同时关于碰撞,一般的做法就是给场景物体添上collider,给人物添上刚体rigibody和collider,如果怕被撞飞,就锁定x ,y , z。

那么问题来了,有时候我们明明添了colider,人物也添加了刚体,为什么还是会穿透呢?

事实上移动中的碰撞应该用Rigibody.MovePosition()或者Rigidbody.velocity等刚体方法。这些方法会模拟物理状态来达到一些接近于现实世界的物理效果。而且切记这些方法应该放在FixUpdate里。

而Translate则是直接的位置position赋值,会破坏刚体环境。所以如果出现了穿透问题的朋友不妨尝试把translate改为Rigibody.MovePosition()或者Rigidbody.velocity等刚体方法

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值