Unity3D_碰撞检测
来源:互联网 发布:多益网络账号密码找回 编辑:程序博客网 时间:2024/06/16 07:27
欢迎大家关注我的日志,今天介绍下碰撞的检测:
一、碰撞检测
在unity3d中,能检测碰撞发生的方式有两种,一种是利用碰撞器,另一种则是利用触发器。这两种方式的应用非常广泛。为了完整的了解这两种方式,我们必须理解以下概念:
1.碰撞器是一群组件,它包含了很多种类,比如:Box Collider,Capsule Collider等,这些碰撞器应用的场合不同,但都必须加到GameObjecet身上。
2.所谓触发器,只需要在检视面板中的碰撞器组件中勾选IsTrigger属性选择框。
3.给主角添加刚体(Rigidbody)组件,并且取消刚体组件的重力选项UseGravity。
二、触发信息检测
1、当进入触发器
MonoBehaviour.OnTriggerEnter( Collider other )
2、当退出触发器
MonoBehaviour.OnTriggerExit( Collider other )
3、当逗留触发器
MonoBehaviour.OnTriggerStay( Collider other )
// 触发接触的那一帧都被调用
void OnTriggerEnter(Collider other) {
Debug.Log("enter");
Debug.Log(other.gameObject.name);
}
//触发接触的每帧都被调用
void OnTriggerStay(Collider other) {
Debug.Log("Stay");
}
// 触发结束被调用
void OnTriggerExit(Collider other) {
Debug.Log("Exit");
}
三、碰撞信息检测
1、当进入碰撞器
MonoBehaviour.OnCollisionEnter( Collision collisionInfo );
2、当退出碰撞器
MonoBehaviour.OnCollisionExit( Collision collisionInfo );
3、当逗留碰撞器
MonoBehaviour.OnCollisionStay( Collision collisionInfo ) ;
// 碰撞接触的那一帧被调用
void OnCollisionEnter(Collision collision) {
Debug.Log("enter");
Debug.Log(collision.gameObject.name);
}
// 碰撞接触的每帧都被调用
void OnCollisionStay(Collision collision) {
Debug.Log("Stay");
}
// 碰撞结束被调用
void OnCollisionExit(Collision collision) {
Debug.Log("Exit");
}
如果大家还有什么困难的话可以关注我的日志:
http://unity.gopedu.com/home.php?mod=space&do=blog&view=me
还可以关注我们的狗刨网:
http://www.gopedu.com/
- Unity3D_碰撞检测
- 碰撞检测
- 碰撞检测
- 碰撞检测
- 碰撞检测
- 碰撞检测
- 碰撞检测
- 碰撞检测
- 碰撞检测
- 碰撞检测
- 碰撞检测
- 碰撞检测
- 碰撞检测
- 碰撞检测
- 碰撞检测
- 碰撞检测
- 碰撞检测
- 碰撞检测
- newLISP 多核编程
- No package git available
- 生活之一米之外就是阳光
- 北美公司面试经验笔记
- mantis的迁移
- Unity3D_碰撞检测
- FastDFS之添加机器同步
- linux 本地通信实例 AF_UNIX
- utf8转ansi编码
- 卸载浏览器的控件
- HDOJ 2092 整数解
- Easyui - 一个比较复杂的ComboGrid(数据表格下拉框)多选的例子
- C++中delete和delete[]的区别
- Codeforces Round #283 (Div. 2)