Unity物理引擎中的碰撞、角色控制器、Cloth组件(布料)、关节 Joint

本文介绍了Unity3D中的碰撞检测机制,包括碰撞体与触发器的区别,以及如何设置触发条件。角色控制器用于避免刚体碰撞产生的不理想效果,适合角色移动控制。此外,还探讨了布料系统在模拟真实物理效果中的应用,如衣物摆动。最后,详细阐述了各种关节类型,如铰链关节、固定关节、弹簧关节等,及其在游戏中的应用场景。

Unity物理引擎中的碰撞

简介

在Unity3D中,检测碰撞发生的方式有两种:

  • 利用碰撞体
  • 利用触发器

在很多游戏引擎或工具中都有触发器,他被用来触发事件
碰撞体与触发器的区别在于:

  • 碰撞体是触发器的载体
  • 触发器只是碰撞体的一个属性

如果既想要检测到物理的接触,又不想让碰撞检测影响物体的移动,或者要检测一个物体是否经过控件中的某个区域,这是就可以用到触发器
例如:碰撞体适合模拟汽车被撞飞、皮球掉在地上又反弹的效果,而触发器适合模拟人站在靠近门的位置时门自动打开的效果

触发条件

在unity3D中要实现触发检测,需要满足以下条件:
1、两个物体都具有Collider组件
2、至少有一个物体拥有Rigidbody组件
3、至少有一个物体的Collider组件勾选了Is Trigger
触发三阶段:
MonoBehaviour.OnTriggerEnter:当进入触发器时触发
MonoBehaviour.OnTriggerExit:当退出触发器时触发
MonoBehaviour.OnTriggerStay:当逗留在触发器中触发

角色控制器

我们可以使用刚体控制游戏对象行为,刚体会受到里的作用,在与其他刚体发生碰撞的时候,很可能被撞飞,但是在游戏当中大多数时候,我们对于任务角色是不希望产生这种被撞飞的效果的。另外我们在很多时候其实不需要游戏对象按照显示的规律运动,比如说停止运动我们需要角色立即停止运动,如果用刚体去控制物体行为的话,没有办法很好的满足这种需求。
比如,在FPS游戏中,如CS,任务之间是有碰撞,但是不会被碰撞撞飞,停止运动时也不会受到惯性作用,因此,为了更好的满足这样的需求,需要用到角色控制器(Character Controller)。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IT学徒.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值