最近自制了一个的角色控制器(没有重力的角色)时发现,角色碰撞到墙壁之后会有一个小小的反弹力导致角色有一个微弱的反弹位移,这样给人一种不好的感觉。
研究了一下,除了限制坐标轴( Rigidbody---Constraints---Freeze Rotation)外,还需要在FixedUpdate(注意这里是物理特性,应在这里写而不是Update函数内)里面写一句代码如下:

player.GetComponent<Rigidbody>().velocity = Vector3.zero;( Vector3.zero=new Vector3(0, 0, 0))

角色添加的组件Rigidbody设置如图所示:

Unity中物体碰撞后去掉相互之间的反弹力-LMLPHP

04-29 03:52