Unity3D中的碰撞:

在unity中,有普通碰撞体Collider和触发器(Trigger)两种碰撞体,两个普通碰撞体会发生碰撞并产生力学现象,触发器则像是个无法触碰而又真实存在的东西,也会触发碰撞事件,但另一个物体会穿过它,碰撞发生的前提是两碰撞体有一方携带刚体(Rigidbody)组件。

物体对碰撞体进行处理的三个函数:

void OnCollisionEnter(Collision collision){};//当碰撞体进入当前物体时触发的回调函数
void OnCollisionStay(Collision collision){};//当碰撞体停留当前物体内时触发的回调函数
void OnCollisionExit(Collision collision){};//当碰撞体离开当前物体时触发的回调函数

体对触发器进行处理的三个函数:

void OnTriggerEnter(Collider other){}//当触发器进入当前物体时触发的回调函数
void OnTriggerStay(Collider other){}//当触发器停留在当前物体时触发的回调函数
void OnTriggerExit(Collider other){}//当触发器离开当前物体时触发的回调函数

Unity2D中的碰撞:

概念和Unity3D大致相同

物体对2D碰撞体进行处理的三个函数:

void OnCollisionEnter2D(Collision2D collision){}//当2D碰撞体进入当前物体时触发的回调函数
void OnCollisionStay2D(Collision2D collision){}//当2D碰撞体停留当前物体内时触发的回调函数
void OnCollisionExit2D(Collision2D collision){}//当2D碰撞体离开当前物体时触发的回调函数

体对2D触发器进行处理的三个函数:

void OnTriggerEnter2D(Collider2D other){}//当2D触发器进入当前物体时触发的回调函数
void OnTriggerStay2D(Collider2D other){}//当2D触发器停留在当前物体时触发的回调函数
void OnTriggerExit2D(Collider2D other){}//当2D触发器离开当前物体时触发的回调函数

博主在2D游戏开发的时候遇到几次碰撞没有发生,原因基本都是某一方的碰撞体或者刚体(RigidBody)没有2D后缀。。。。。。。。。。所以不要在2D的项目里出现3D的组件啊,找一天的BUG

Unity学习笔记(4): 碰撞相关API的更多相关文章

  1. ASP.NET MVC Web API 学习笔记---第一个Web API程序

    http://www.cnblogs.com/qingyuan/archive/2012/10/12/2720824.html GetListAll /api/Contact GetListBySex ...

  2. DSP EPWM学习笔记2 - EPWM相关寄存器设置问题解析

    DSP EPWM学习笔记2 - EPWM相关寄存器设置问题解析 彭会锋 本篇主要针对不太熟悉的TZ 故障捕获 和 DB 死区产生两个子模块进行学习研究 感觉TI的寄存器命名还是有一定规律可循的 SEL ...

  3. Unity学习笔记(5):动态加载Prefab

    第一种方法,从Resources文件夹读取Prefab Assets/Resources文件夹是Unity中的一个特殊文件夹,在博主当前的认知里,放在这个文件夹里的Prefab可以被代码动态加载 直接 ...

  4. 学习笔记之html5相关内容

    写一下昨天学习的html5的相关内容,首先谈下初次接触html5的感受.以前总是听说html5是如何的强大,如何的将要改变世界.总是充满了神秘感.首先来谈一下我接触的第一个属性是  input的里面的 ...

  5. rails学习笔记: rake db 相关命令

    rails学习笔记: rake db 命令行 rake db:*****script/generate model task name:string priority:integer script/g ...

  6. Spring框架学习笔记(9)——API接口设计相关知识及具体编码实现

    最近需要设计一个API服务器,想要把API接口搞得规范一下,就通过网上搜集到了一些资料,以下便是自己的一些理解以及相关的具体实现 本文采用的是spring boot+maven的方案 restful规 ...

  7. Unity学习笔记(3):一些常用API和应用场景

    Mathf.Lerp(float a,float b,float t)插值函数,当a < b时往a中插入t,以此来实现颜色,声音等渐变效果. GameObject.FindWithTag(str ...

  8. Unity学习笔记 之 发射小球碰撞物体的代码记录

    绑定在摄像机上的脚本 using UnityEngine; using System.Collections; public class abc : MonoBehaviour { //设置移动速度 ...

  9. TSPL学习笔记(4):数组相关练习

    最近研究函数式编程,都是haskell和scheme交互着看的,所以笔记中两种语言的内容都有,练习一般也都用两种语言分别实现. 本篇练习一些数组有关的问题,之所以与数组相关是因为在命令式编程中以下问题 ...

随机推荐

  1. Nodejs Redis 全部操作方法

    安装  npm install redis --save demo var redis = require('redis'); var client = redis.createClient('637 ...

  2. 【python库安装问题解决】UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc0 in position 121: invalid start byte

    好久没用python了...今天随便pip安装个库突然报错: Exception:‘’ (most recent call last):  File "C:\ProgramData\Anac ...

  3. mysqldump.md

    mysqldump命令 选项 -A, --all-databases:导出全部数据库 -Y, --all-tablespaces:导出全部表空间. -y, --no-tablespaces:不导出任何 ...

  4. android scheme打开天猫,淘宝

    直接上代码 Intent intent = new Intent(); intent.setAction("android.intent.action.VIEW"); /* Str ...

  5. Oracle 表单的创建

    1.-- 连接 conn hu/aaa; -- 创建表空间 Create tablespace computer2005 nologging datafile 'd:/Oracle/product/1 ...

  6. 树上差分学习笔记 + [USACO15DEC]最大流$Max \ \ Flow \ \ By$

    #\(\mathcal{\color{red}{Description}}\) \(Link\) \(FJ\)给他的牛棚的\(N(2≤N≤50,000)\)个隔间之间安装了\(N-1\)根管道,隔间编 ...

  7. (转)WebSocket的原理

    前言:无聊逛知乎,就逛到H5的栏目去了,正好看到了关于Websocket的东西.个人是比较喜欢看这类风格的,转到博客分享,以便自己以后理解. ---------------------分割线----- ...

  8. PCL利用RANSAC自行拟合分割平面

    利用PCL中分割算法. pcl::SACSegmentation<pcl::PointXYZ> seg; ,不利用法线参数,只根据模型参数得到的分割面片,与想象的面片差距很大, pcl:: ...

  9. Delphi 实现不规则窗体

    最近为了要兼容XP系统(守旧的市场),又需要做出产品的特效,不得不从头学习一下这门 “聪明的语言” . 开发环境: win10 Delphi 10.2 Version 25.0.26309.314 产 ...

  10. Python数值运算与赋值的快捷方式

    一种比较常见的操作是对一个变量进行一项数学运算并将运算得出的结果返回给这个变量,因此对于这类运算通常有如下的快捷表达方式: a = 2a = a * 3 同样也可写作: a = 2a *= 3 要注意 ...