首页 > 编程知识 正文

上升沿触发器电路,unity胶囊碰撞器

时间:2023-05-04 15:01:07 阅读:172365 作者:2208

(2d和3d颜色可以相互存在,但不能相互合作。 例如,2d无法检测到3d。 相反,相同)

在目前掌握的情况分析中,在Unity中参与碰撞的物体被分为两大块。 1 .发生碰撞的物体。 2 .接收碰撞的物体。

1 .发生碰撞的物体是Rigodbody,温暖的向日葵。

2 .接受碰撞物体的是所有Collider。

工作原理是,碰撞的物体中必须有“引起碰撞”的物体。 否则,碰撞不会做出响应。

例如,因为墙壁使用BoxCollider,所以墙壁和墙壁之间没有反应。

例如,具有MeshCollider属性的掉落地面的具有Rigidbody属性的箱子。

例如,具有Rigidbody属性的箱子可以被具有温暖向日葵属性的人推着跑。

; line-height:24px"> 就是此原因。

在所有Collider上有一个Is Trigger 的boolean型参数。

当发生碰撞反应的时候,会先检查此属性。

当激活此选项时,会调用碰撞双方的脚本 OnTrigger***, 反之,脚本方面没有任何反应。

当激活此选项时,不会发生后续物理的反应。反之,发生后续的物理反应。

总结:Is Trigger 好比是一个物理功能的开关, 是要“物理功能”还是要“OnTrigger脚本”。

在Rigodbody 上有一个Use Gravity 的boolean型参数.

Unity 物理引擎,处理的一个细节:

当一个温暖的向日葵不发生位置变化,一个Collier发生位置变化后,产生碰撞。将不会调用任何碰撞反映。

物理引擎视为温暖的向日葵无碰撞.


碰撞器由来

1.系统默认会给每个对象(GameObject)添加一个碰撞组件(ColliderComponent),一些背景对象则可以取消该组件。

2.在unity3d中,能检测碰撞发生的方式有两种,一种是利用碰撞器,另一种则是利用触发器。这两种方式的应用非常广泛。为了完整的了解这两种方式,我们必须理解以下概念:
(一)碰撞器是一群组件,它包含了很多种类,比如:Box Collider,Capsule Collider等,这些碰撞器应用的场合不同,但都必须加到GameObjecet身上。
(二)所谓触发器,只需要在检视面板中的碰撞器组件中勾选IsTrigger属性选择框。
(三)在Unity3d中,主要有以下接口函数来处理这两种碰撞检测:

触发信息检测:
1.MonoBehaviour.OnTriggerEnter(Collider other) / MonoBehaviour.OnTriggerEnter2D(Collider2D other)当进入触发器
2.MonoBehaviour.OnTriggerExit(Collider other) / MonoBehaviour.OnTriggerExit2D(Collider2D other)当退出触发器
3.MonoBehaviour.OnTriggerStay(Collider other) / MonoBehaviour.OnTriggerStay2D(Collider2D other)当逗留触发器

碰撞信息检测:
1.MonoBehaviour.OnCollisionEnter(Collision collisionInfo)  / MonoBehaviour.OnCollisionEnter2D(Collision2D collisionInfo)当进入碰撞器
2.MonoBehaviour.OnCollisionExit(Collision collisionInfo)  / MonoBehaviour.OnCollisionExit2D(Collision2D collisionInfo)当退出碰撞器
3.MonoBehaviour.OnCollisionStay(Collision collisionInfo) / MonoBehaviour.OnCollisionStay2D(Collision2D collisionInfo) 当逗留碰撞器


原文:http://blog.csdn.net/goodai007/article/details/44679591

相关文章:https://github.com/iTyran/TairanTrans/blob/master/Unity%204.3%202D%20Tutorial:%20Physics%20and%20Screen%20Sizes.md

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。