基础交互入门(碰撞交互事件OnTriggerEnter和OnCollisionEnter)一、碰撞交互事件OnTriggerEnter二、碰撞交互事件OnCollisionEnter三、总结一、碰撞交互事件OnTriggerEnter1、在场景中添加两个几何体(例如Cube和Sphere)2、添加Rigidbody(刚体)component点击Cube(正方体)对象,在面板找到这个按钮,添加component搜索Rigidbody默认状态下collider(碰撞)是被开启的。3、创建C#脚本,增加OnTriggerEnter事件usingSystem.Collections;usingSyst
Unity中的OnCollisionEnter和OnTriggerEnter两个函数在日常的开发中很常见但也容易混淆,下面说一说两者的区别。碰撞器(Collider)与触发器(Trigger)的概念碰撞器(Collider)和触发器(Trigger)都是Unity中用于检测物体之间交互的组件。它们的主要区别在于对物体之间交互的处理方式。碰撞器(Collider)用于检测两个物体之间的碰撞。当两个物体进入彼此的碰撞边界时,它们会发生碰撞,此时会触发OnCollisionEnter函数。触发器(Trigger)用于检测一个物体是否进入另一个物体的触发边界。当一个物体进入另一个物体的触发边界时,会触
最近学习的时候遇到不触发碰撞检测的问题,搜了很多都不是,后来还是没有解决,不过我有另一个解决的方案先说一下碰撞的条件:两个都是碰撞器,其中一个有刚体碰撞器勾选isTrigger方法:第一步:把2D碰撞器都换成3D的(什么形状碰撞器都行)第二步:把OnTriggerEnter2D()换成OnTriggerEnter()第三步:是我之前代码问题本来我的代码是这样的:privatevoidOnTriggerEnter2D(Colliderother){if(other.tag=="Player") { Debug.Log("碰撞成功"); audio.PlayOneShot(a
1、给玩家标签设为Player 2、给碰撞的物体增加碰撞盒,并勾选isTrigger 3、编写脚本挂载到物体上 实现碰撞后物体会消失。usingSystem.Collections;usingSystem.Collections.Generic;usingUnityEngine;publicclassluobo:MonoBehaviour{privatevoidOnTriggerEnter2D(Collider2Dcollision){if(collision.tag=="Player"){Destroy(gameObject);}}}4、测试注意玩家身上必须也挂载碰撞盒组件,
满足触发条件:两个物体都要有collider(勾选IsTrigger),且其中一个物体包含刚体。若是满足以上的条件。脚本中的OnTriggerEnter()方法却不执行,可点击unity菜单栏,Edit->ProjectSettings->Physics,修改如下图
OnTriggerEnter2D:触发器和OnCollisionEnter2D:碰撞器①触发器是碰撞器的一个功能②在想要做碰撞检测时使用碰撞器③碰撞器生效的必要条件,碰撞的双方A,B都必须有Collider,其中有一方要带有rigidbody。④当想要做碰撞检测却又不想产生碰撞效果时,就可以用isTrigger,在这个状态下触发检测生效,碰撞检测失效。publicoverridevoidOnTriggerEnter2D(Collider2Dcollision){if(collision.tag=="Player"&&BisonController.Instance.bisonState==Bi
1.物理碰撞检测响应函数现有:Lesson16脚本的代码:usingSystem.Collections;usingSystem.Collections.Generic;usingUnityEngine;publicclassLesson16:MonoBehaviour{//1.碰撞发生时自动执行此函数//参数Collision就是碰到"我"的那个对象privatevoidOnCollisionEnter(Collisioncollision){//Collision的关键信息://1.得到Collision的碰撞器:collision.collider//2.得到Collision依附的对象