Unity3d碰撞器
一.碰撞发生的必要条件:
1.产生碰撞效果需要具备两个因素
a.发起碰撞的物体
b.接收碰撞的物体
2发起碰撞的物体
a.Rigidbody
b.CharacterController
3.接受碰撞的物体
a.所有的Collider
二.在unity3d中,能检测碰撞发生的方式有两种,一种是利用碰撞器,另一种则是利用触发器。
触发信息:
1.MonoBehaviour.OnTriggerEnter( Collider other )当进入触发器
2.MonoBehaviour.OnTriggerExit( Collider other )当退出触发器
3.MonoBehaviour.OnTriggerStay( Collider other )当逗留触发器
碰撞信息:
1.MonoBehaviour.OnCollisionEnter( Collision collisionInfo ) 当进入碰撞器
2.MonoBehaviour.OnCollisionExit( Collision collisionInfo ) 当退出碰撞器
3.MonoBehaviour.OnCollisionStay( Collision collisionInfo ) 当逗留碰撞器
三.举例
A物体和B物体要发生碰撞,则A和B中必须要带有Collider组件,并且A和B中至少一个物体携带Rigidbody
1.新建一个场景,添加CubeA,CubeB,Ground 三个物体,三个物体创建自Cube,默认带有BoxCollider组件
2.新建一个脚本,TestCollider,复写四个方法
OnCollisionenter,OnCollistionExit,OnTriggerEnter,OnTriggerExit
一.碰撞发生的必要条件:
1.产生碰撞效果需要具备两个因素
a.发起碰撞的物体
b.接收碰撞的物体
2发起碰撞的物体
a.Rigidbody
b.CharacterController
3.接受碰撞的物体
a.所有的Collider
二.在unity3d中,能检测碰撞发生的方式有两种,一种是利用碰撞器,另一种则是利用触发器。
触发信息:
1.MonoBehaviour.OnTriggerEnter( Collider other )当进入触发器
2.MonoBehaviour.OnTriggerExit( Collider other )当退出触发器
3.MonoBehaviour.OnTriggerStay( Collider other )当逗留触发器
碰撞信息:
1.MonoBehaviour.OnCollisionEnter( Collision collisionInfo ) 当进入碰撞器
2.MonoBehaviour.OnCollisionExit( Collision collisionInfo ) 当退出碰撞器
3.MonoBehaviour.OnCollisionStay( Collision collisionInfo ) 当逗留碰撞器
三.举例
A物体和B物体要发生碰撞,则A和B中必须要带有Collider组件,并且A和B中至少一个物体携带Rigidbody
1.新建一个场景,添加CubeA,CubeB,Ground 三个物体,三个物体创建自Cube,默认带有BoxCollider组件
2.新建一个脚本,TestCollider,复写四个方法
OnCollisionenter,OnCollistionExit,OnTriggerEnter,OnTriggerExit

本文介绍了Unity3d中碰撞检测的基本概念和实现方式。碰撞发生的必要条件包括带有Collider的发起碰撞物体和接收碰撞物体,至少一个物体需带有Rigidbody。Unity支持碰撞器和触发器两种检测方式,分别对应OnCollision和OnTrigger系列方法。通过调整Collider的IsTrigger属性,可以在物理碰撞和触发事件之间切换,以满足不同场景需求。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



