博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Unity学习笔记(4): 碰撞相关API
阅读量:7093 次
发布时间:2019-06-28

本文共 1163 字,大约阅读时间需要 3 分钟。

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

转载于:https://www.cnblogs.com/NightFrost/p/10792609.html

你可能感兴趣的文章
C 语言 restrict 关键字的使用
查看>>
ASP.NET 自定义成员资格提供程序 Part.4(使用自定义提供程序类)
查看>>
ASP.NET调用V3版本的Google Maps API
查看>>
苹果面试8大难题及答案
查看>>
.NET:动态代理的 “5 + 1” 模式
查看>>
《Java Concurrency》读书笔记,Java并发编程实践基础
查看>>
jQuery 2.0.3 源码分析Sizzle引擎 - 超级匹配
查看>>
ubuntu中查看各种设备和资源的命令汇总
查看>>
Chrome好用的扩展插件
查看>>
封装jQuery Validate扩展验证方法
查看>>
轮播组件iceSlider
查看>>
Spark编程指南
查看>>
python入门语法总结 zz
查看>>
向GridView的模板列绑定OnClientClick的函数时出现了奇怪的问题
查看>>
Android之代码创建布局
查看>>
xss实例-输出在<script></script>之间的情况
查看>>
Jquery操作table
查看>>
高并发处理案例
查看>>
在matlab中clear,clc,clf,hold作用介绍
查看>>
[物理学与PDEs]第1章习题8 磁场分布 $\ra$ 电流分布
查看>>