unity基础开发 1. 射线&碰撞器的原理和用法

本文详细介绍了Unity3d中碰撞器与触发器的原理,强调了刚体和碰撞器的角色。碰撞检测可以通过碰撞器或触发器实现,区别在于是否需要刚体参与。此外,还探讨了OnTriggerEnter和OnCollisionEnter方法的选择。同时,文章还讲解了射线的基本概念和应用,包括相关API和实例。
摘要由CSDN通过智能技术生成

一. Unity3d 碰撞器与触发器

1. 要产生碰撞必须为游戏对象添加刚体(Rigidbody)和碰撞器,

刚体可以让物体在物理影响下运动。碰撞体是物理组件的一类,它要与刚体一起添加到游戏对象上才能触发碰撞。如果两个刚体相互撞在一起,除非两个对象有碰撞体时物理引擎才会计算碰撞,在物理模拟中,没有碰撞体的刚体会彼此相互穿过。物体发生碰撞的必要条件两个物体都必须带有碰撞器(Collider),其中一个物体还必须带有Rigidbody刚体。

2. 在unity3d中,能检测碰撞发生的方式有两种,一种是利用碰撞器,另一种则是利用触发器。

碰撞器: 一群组件,它包含了很多种类,比如:Box Collider(盒碰撞体),Mesh Collider(网格碰撞体)等,这些碰撞器应用的场合不同,但都必须加到GameObjecet身上。触发器 ,只需要在检视面板中的碰撞器组件中勾选IsTrigger属性选择框。
Is Trigger(是否为触发器) 这个选项是供脚本使用的,如果勾选了这个则不会有碰撞的物理效果,但是游戏引擎会通知脚本有物体发生了碰撞。
Material(碰撞器材质) 在这里可以选择一种物理材质,来模拟更真实的碰撞效果,比如金属之间的碰撞与石头之间的碰撞效果肯定是不一样的。
Center(碰撞器中心点) 可以调整碰撞器离物体中心的距离,也就是移动绿框。
Size(碰撞器大小) 调整碰撞器的缩放大小,调整XYZ可以让碰撞器变成任意大小的长方体。

3. 触发信息检测:

1.MonoBehaviour.OnTriggerEnter(Collider collider)当进入触发器
2.MonoBehaviour.OnTriggerExit(Collider collider)当退出触发器
3.MonoBehaviour.OnTriggerStay(Collider collider)当逗留触发器
碰撞信息检测:
1.MonoBehaviour.OnCollisionEnter(Collision collision) 当进入碰撞器
2.MonoBehaviour.OnCollisionExit(Collision collision) 当退出碰撞器
3.MonoBehaviour.OnCollisionStay(Collision collision)  当逗留碰撞器

4. 两个物体相接触时到底执行OnTriggerEnter还是执行OnCollisionEnter方法,这两个又有什么区别呢?

为了验证碰撞器与触发器的区别,现设计一个简单的游戏,让小汽车与小球发生碰撞。新建一个C#脚本文件,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值