Rigidbody、CharacterController和NavMeshAgent的区别

本文详细介绍了Unity中三种主要物理组件的功能区别:Rigidbody用于模拟真实物理效果,CharacterController适用于角色操作游戏,NavMeshAgent则用于实现自动寻路功能。文中还提供了如何在不同场景下选择合适的物理组件的指导。
摘要由CSDN通过智能技术生成

Rigidbody是用来模拟真实物理效果的,它可以设置重力,可以为对象施加外力。只有Rigidbody才能被施加外力,这个力可能是被直接施加的,也可能是被其它Rigidbody碰撞产生的间接力;而Collider是用来设置碰撞的一些参数。简单说:没有Rigidbody就不会动,没有Collider就不能碰撞或被碰撞。这个用于赛车类需要真实物理效果的游戏比较合适。

CharacterController除了重力效果之外,它是不能受物理力的。本身自带了一个胶囊碰撞体,可以用来产生碰撞。只有调用Move或SimpleMove,对象才能移动。所以它被称为角色控制器,一般的角色操作类游戏用这个比较合适。

NavMeshAgent属于寻路系统,它也带有一个圆柱体形的碰撞体。

具体如何运用:

如果你的角色要寻路,那么添加了NavMeshAgent后就不要再添加Rigidbody或CharacterController,如果要对另外一个动态对象产生碰撞,就为那个对象加上Navmesh Obstacle组件。

如果不进行寻路操作,那么CharacterController和Rigidbody也不要混用。如果对象之间需要产生真实的推力效果,就用Rigidbody;否则,用CharacterController。

转载于:https://www.cnblogs.com/wuwenbo/p/8057197.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值