Unity中解决碰撞无法检测问题

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

Unity中解决碰撞无法检测问题

Unity版本2021.3.21


问题描述

提示:这里描述项目中遇到的问题:

Unity中两物体碰撞后,没有执行碰撞检测内的代码

Unity中解决碰撞无法检测问题
Unity中解决碰撞无法检测问题
两个物体的组件都是齐全的
代码也没有问题

@Override
	private void OnCollisionEnter(Collision collision)
    {
        Debug.Log(collision.gameObject.name);

        if (collision.gameObject.name == "Gemstones3")
        {
            Debug.Log("Pengzhuang");
            gemstones3.SetActive(true);
        }

        if (collision.gameObject.name == "Gemstones4")
            gemstones4.SetActive(true);
    }

解决方案:

最后看了一下Project Setting界面中的Physics,发现里面碰撞的层级没有勾选
Unity中解决碰撞无法检测问题
将红框内的勾选上,就正常了文章来源地址https://www.toymoban.com/news/detail-515004.html

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

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

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

相关文章

  • Unity的碰撞检测(一)

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

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

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

    2024年02月11日
    浏览(51)
  • Unity碰撞检测(3D和2D)

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

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

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

    2024年03月17日
    浏览(42)
  • Unity常用方法-- Collision碰撞检测

    LayerMask 描述 指定要在 Physics.Raycast 中使用的层。 代码 Physics2D.Raycast 函数结构 public static RaycastHit2D Raycast  (Vector2 origin,  Vector2 direction, float distance= Mathf.Infinity, int layerMask= DefaultRaycastLayers, float minDepth= -Mathf.Infinity, float maxDepth= Mathf.Infinity); 参数 origin 射线在 2D 空间中的

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

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

    2024年02月16日
    浏览(33)
  • Unity入门7——物理系统之碰撞检测

    一、刚体 Rigid Body ​ 刚体利用体积(碰撞器 Collider)进行碰撞计算,模拟真实的碰撞效果,产生力的作用 ​ 碰撞产生的必要条件: 两个物体都有碰撞器 Collider 至少一个物体有刚体 Mass:质量 默认为千克,质量越大惯性越大 Drag:空气阻力 根据力移动对象时影响空气阻力大

    2024年02月09日
    浏览(48)
  • unity碰撞检测的几种函数

    OnCollisionEnter(Collision collision):这个函数用于检测两个物体之间的碰撞事件,当两个物体发生碰撞时被调用。其中,参数collision包含了碰撞的详细信息,例如碰撞点、碰撞法线等等。 OnCollisionStay(Collision collision):这个函数用于检测两个物体之间的持续碰撞事件,当两个物体持

    2024年02月04日
    浏览(38)
  • Unity 射线与碰撞范围检测【踩坑记录】

    射线检测在2D和3D的区别比较大 一定要加上对应的Collider组件 对应的函数只检测对应的Collider, Physics.Raycast 是不会检测到Collider 2D的(这个让我有一次debug了好久才发现) 对应API如下 可以使用 Debug.DrawLine(Vector3 origin,Vector3 destination,Color color) 和 Debug.DrawRay(Vector3 origin,Vector3 dir

    2023年04月08日
    浏览(38)
  • 【Unity 2D AABB碰撞检测】铸梦之路

    视屏教程地址:https://www.taikr.com/user/192182 AABB 代表的是轴对齐碰撞盒 (Axis-aligned Bounding Box) AABB碰撞盒是指与场景基础坐标轴(2D中的是x和y轴)对齐的长方形的碰撞外形。与坐标轴对齐意味着这个长方形 没有经过旋转 并且它的边线和场景中基础坐标轴平行(例如,左右边线和

    2024年02月16日
    浏览(43)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包