Unity碰撞器检测失败

这篇具有很好参考价值的文章主要介绍了Unity碰撞器检测失败。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.1tag错误

看看是不是误删tag或者tag改变导致碰撞器无法检测

2.1无法触发碰撞检测方法

2.1.1 OnCollisionEnter、OnTriggerEnter、OnTriggerStay方法

OnCollisionEnter:检测与被检测方都应有Collider或者Rigibody,如果都有Rigibody,需勾选isKinematic。
OnTriggerEnter:检测与被检测方至少有一个Rigibody(isKinematic可选可不选),最少有一方勾选上Collider组件上的isTrigger。
OnTriggerStay:运行了一段时间后OnTriggerStay不再被调用,则需要考虑被检测物体的刚体的睡眠模式是否设置为了Never Sleep。

2.1.2测试OnTriggerEnter和OnCollisionEnter的区别


测试:如果两个物体A,B
两者都有碰撞体collider(Box Collider,Sphere Collider,Capsule Collider等)
A,B都有刚体(Rigidbody)
A或者B中有一个勾选isTrigger或者两者都勾选isTrigger A和B都可以进入OnTriggerEnter方法,但是不可进入OnCollisionEnter方法。
A和B都不勾选isTrigger,A和B能进入OnCollisionEnter方法但是不能进入OnTriggerEnter方法。
结论:
OnCollisionEnter方法必须是在两个碰撞物体都不勾选isTrigger的前提下才能进入,反之只要勾选一个isTrigger那么就能进入OnTriggerEnter方法。
OnCollisionEnter和OnTriggerEnter是冲突的不能同时存在的。
OnTriggerEnter和OnCollisionEnter的选择。
如果想实现两个刚体物理的实际碰撞效果时候用OnCollisionEnter,Unity引擎会自动处理刚体碰撞的效果。
如果想在两个物体碰撞后自己处理碰撞事件用OnTriggerEnter。文章来源地址https://www.toymoban.com/news/detail-828200.html

到了这里,关于Unity碰撞器检测失败的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • DOTS Unity.Physics物理引擎碰撞事件处理

    最近DOTS发布了正式的版本,同时基于DOTS的理念实现了一套高性能的物理引擎,今天我们给大家分享和介绍一下这个物理引擎的碰撞事件处理以及核心相关概念。 Unity.Physics 物理引擎的主要流程与P ipeline   Unity.Physics物理引擎做仿真迭代计算的时候主要通过以下步骤来执行:   

    2024年01月18日
    浏览(48)
  • Unity --- 物理引擎 --- 触发器 与 碰撞器详解

    对第一个条件进行补充 --- 不仅要两者都具有碰撞组件,同时还需要两者的碰撞组件中都没有勾选 Is Trigger属性  1.上一篇文章中说了那么多,其实也可以总结为两个碰撞条件 --- a.两个游戏物体都具有碰撞器组件 ,如果没有的话,连碰撞检测都不会发生,也就没有所谓的碰不

    2024年02月07日
    浏览(43)
  • DOTS Unity.Physics物理引擎碰撞查询核心分析

      最近DOTS发布了正式的版本,同时基于DOTS的理念实现了一套高性能的物理引擎,今天我们给大家分享和介绍一下这个物理引擎的碰撞查询以及核心相关概念。 Unity.Physics碰撞查询概述   碰撞查询(Collison Qurey)是Unity.Physics物理引擎中的一个很重要的功能。很多游戏逻辑都需

    2024年04月25日
    浏览(46)
  • Unity --- 物理引擎 ---- 刚体RigidBody 与 碰撞器 collider

      1.RigidBody(刚体)的作用是让物体具有物理特性(比如说重力,摩檫力等等) 2.如果想让物体能够与其它物体发生碰撞的话,我们还需要一个组件 --- Colider碰撞器组件 1.上图就是Unity中提供的已经准备好的各种形状的碰撞器组件 2.形成不同形状的碰撞器所需的面数不同,面数

    2024年02月16日
    浏览(38)
  • Unity的碰撞检测(一)

    (一)测试前准备工作         1.创建两个游戏对象,分别取名为” Player ”和” Enemy ”,并且为名为” Player ”的游戏对象设置Tag也为” Player ”,二者在场景中如图1所示: 图 1 绿为Enemy,红为Player         2.编写脚本组件” TriggerTest ”,并挂载到 Enemy 上,代码如下

    2024年02月08日
    浏览(38)
  • Unity 3D之碰撞检测

    一、碰撞器 碰撞检测两大必备条件:1.其中一方具备刚体,碰撞双方碰撞器 1、刚体 2、盒子碰撞器   3、碰撞检测方法  二、触发器 触发检测两大必备条件:1.其中一方具备刚体,碰撞双方触发器 1、刚体 2、盒子触发器  3、触发检测方法

    2024年02月11日
    浏览(49)
  • 【Unity入门】24.碰撞检测

        大家好,我是Lampard~~     欢迎来到Unity入门系列博客,所学知识来自B站阿发老师~感谢    (1)Collider组件     上节课我们有学习到,unity的物理系统提供了更方便的碰撞检测机制,就是 提供各种的Collider组件去检测碰撞需求 Unity 中有以下几种 Collider 组件: 1. Box Coll

    2024年02月06日
    浏览(37)
  • unity中的射线碰撞检测

    在Unity中,射线碰撞检测是一种常用的技术,通常用于确定射线与场景中的物体是否相交,并获取相交点的信息。 1.创建射线: 使用 Ray 类或 RaycastHit 结构体创建射线。 Ray 表示射线的起点和方向,而 RaycastHit 用于存储射线与物体相交的信息,如相交点、法线等。 2.发射射线:

    2024年03月17日
    浏览(41)
  • Unity碰撞检测(3D和2D)

    碰撞检测可以说时学习Unity中最重要的一个部分,以为在游戏中,想要游戏进行交互,碰撞时非常重要的,而我在网上查了很多教程,但是都没有成功,后来经过我的仔细检查代码与修改,终于成功了 简单Unity跑酷游戏 简单跑酷游戏 在 zhong_dot 和 Player 两个实体都加上 碰撞体

    2024年02月10日
    浏览(43)
  • Unity中实现碰撞检测的方式

    Unity内置了物理引擎,如Unity Physics和Unity Physics 2D,可以通过给物体添加刚体组件和碰撞体组件来实现碰撞检测。 物理引擎使用物理模拟和碰撞检测算法,可以处理物体之间的物理交互、碰撞响应和力学效果。 物理引擎适用于需要真实物理模拟和动态交互的场景,但对性能要

    2024年02月16日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包