【零基础入门unity游戏开发——unity3D篇】3D物理系统之 —— 碰撞检测和触发器检测的特殊生命周期函数
考虑到每个人基础可能不一样,且并不是所有人都有同时做2D、3D开发的需求,所以我把 【零基础入门unity游戏开发】 分为成了
C#篇、unity通用篇、unity3D篇、unity2D篇
。
- 【C#篇】:主要讲解C#的基础语法,包括变量、数据类型、运算符、流程控制、面向对象等,适合没有编程基础的同学入门。
- 【unity通用篇】:主要讲解unity的基础通用的知识,包括unity界面、unity脚本、unity资源管理、unity动画、unity摄像机等,适合unity初学者入门。
- 【unity3D篇】:主要讲解unity3D的知识,unity3D角色、unity3D物理系统、unity3D光照等,适合只想做2D游戏的开发者学习。
- 【unity2D篇】unity2D篇:主要讲解unity2D的知识,包括unity2D角色、unity2D物理系统、unity2D光照等,适合只想做3D游戏的开发者学习。
这样方便大家按需选择性的去学习,比如有编程基础的大概率可以直接从unity通用篇开始入门,没有编程基础的建议从C#篇开始学习。只想做2D游戏的话,可以直接从unity2D篇开始学习,3D篇大概率就不需要看了,节约学习时间成本。
文章目录
- 前置知识
- 一、碰撞检测函数
-
- 1、物理碰撞检测响应函数
-
- 1.1 OnCollisionEnter(Collision collision)
- 1.2 OnCollisionExit(Collision collision)
- 1.3 OnCollisionStay(Collision collision)
- 2、触发器检测响应函数
-
- 2.1 OnTriggerEnter(Collider other)
- 2.2 OnTriggerExit(Collider other)
- 2.3 OnTriggerStay(Collider other)
- 3、Collision 参数
- 4、注意事项
- 二、实战
-
- 1、场景设置
- 2、脚本编写
- 3、运行效果
- 专栏推荐
- 完结
前置知识
- 两个游戏物体之间要产生碰撞,
两个物体都有碰撞器,至少一个物体有刚体
。 - 触发器的作用是让两个物体碰撞没有物理效果,只进行碰撞处理
一、碰撞检测函数
Unity 提供了多个用于处理碰撞和触发事件的函数,这些函数属于特殊的生命周期函数,会在特定条件下自动调用。
参考:事件函数执行顺序
1、物理碰撞检测响应函数
1.1 OnCollisionEnter(Collision collision)
- 触发时机:当两个物体
发生碰撞
时调用一次。
private void OnCollisionEnter(Collision collision)
{
Debug.Log(this.name + " 与 " + collision.gameObject.name + " 发生了碰撞");
}
1.2 OnCollisionExit(Collision collision)
- 触发时机:当两个物体
结束碰撞
时调用一次。
private void OnCollisionExit(Collision collision)
{
Debug.Log(this.name + " 与 " + collision.gameObject.name +