Unity在物体内部发射射线检测不到物体的解决方式

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

两种方式,建议采用代码,修改设置可能会在其他使用射线的地方鬼畜

使用代码…

        /// <summary>
        /// 射线碰撞检测,正向与反向检测
        /// </summary>
        private bool CheckCloud()
        {
            RaycastHit hit;
            Ray rayForward = new Ray(LinBroth.transform.position, LinBroth.transform.TransformDirection(Vector3.forward));

            if (Physics.Raycast(rayForward, out hit, 3000))
            {
                Debug.DrawRay(LinBroth.transform.position, LinBroth.transform.TransformDirection(Vector3.forward) * hit.distance, Color.yellow);
                Debug.Log("Did Hit+正向射线");
                return true;
            }

            //反向射线
            Ray rayback = Reverse(rayForward, 3000);
            if (Physics.Raycast(rayback, out hit, 3000))
            {
                Debug.DrawRay(LinBroth.transform.position, LinBroth.transform.TransformDirection(Vector3.forward) * hit.distance, Color.yellow);
                Debug.Log("Did Hit+反向射线");
                return true;
            }
            return false;
        }

        /// <summary>
        /// 反转射线
        /// </summary>
        public Ray Reverse(Ray ray, float distance)
        {
            return new Ray(
                ray.origin + ray.direction * distance,
                -ray.direction);
        }

修改设置

在Unity2018.1.18上不大好用。
unity射线检测不到碰撞体,Unity,unity,游戏引擎文章来源地址https://www.toymoban.com/news/detail-607849.html

到了这里,关于Unity在物体内部发射射线检测不到物体的解决方式的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • Unity-Pico高级开发(一)按键状态获取,射线碰到物体变色,射线末端小圆点

    目录 效果展示 前言 获取按键状态 射线碰到物体变色 射线末端小圆点 Unity-Pico高级开发(一)按键状态获取,射线碰到物体     picoXR为Unity提供的Unity XR SDK是基于Unity XR实现的各个功能,针对手柄和头盔的各个按键摇杆事件的获取,均是采用的Unity XR提供的方法。目前UnityXR只

    2024年04月28日
    浏览(123)
  • Ue4用射线检测来将点击的物体显示UI

    给actor打上tag,首先射线检测到actor,获得他的tag,根据tag创建一个actor,创建的这个actor跟一个widget绑定。创建的actor中需要获取到要显示的widget,并将需要显示的信息text传给widget,widget根据传入的值来改变显示的信息。 1.将actor打上tag 2.根据hit到的actor的tag,传入信息,并确

    2024年02月10日
    浏览(50)
  • Unity之OpenXR+XR Interaction Toolkit实现 射线和物体交互事件回调

    前面我们介绍了如何抓取物体,今天我们来说一下如何和3D的物体进行交互,得到接触的事件回调。 交互的两种方式: 1.直接抓取或者射线抓取物体,得到接触回调 2.射线或者手部触摸物体后,得到接触回调 我们需要准备好Unity工程和环境配置 有了前文:Unity之OpenXR+XR Inter

    2024年02月13日
    浏览(82)
  • unity-2D游戏地面检测 三射线检测

        2D游戏中跳跃是不可或缺的功能,要实现跳跃功能,就必须进行地面检测!常规方法是使用一根往角色下方延伸的射线检测,但是这种方法在一些复杂不规则的地面效果通常不尽人意。通过增加射线数量,即可完善这种方法的不足,达到在复杂地面也能正确检测角色是否

    2024年02月15日
    浏览(39)
  • Unity---2d射线检测

    目录 1.目标物体加对应的collider碰撞体  2.调节ProjectSetting里的time 帧速 3.LayerMask设置 4.避坑代码 1.目标物体加对应的collider碰撞体  2.调节ProjectSetting里的time 帧速 ⚠️按需使用 3.LayerMask设置 Layers通常被摄像机用来渲染部分场景,和灯光照射部分场景使用。但是它们也可以用来

    2024年02月11日
    浏览(77)
  • Unity 的射线检测

    Unity版本2020.3.32f1c1 目录 Ray RaycastHit Physics.Raycast() RaycastHit[]   Layer 应用 1.对Bad层级的物体进行着色 2.从相机发射射线与地面进行射线交互 3.运动的物体在场景中进行避障 总结 参考资料 原理是发射一条射线,传入起始点和起始方向当做射线的起点和方向。 在OnDrawGizmos()函数中

    2024年02月07日
    浏览(44)
  • Unity 射线检测

    在Unity中,射线检测(Raycasting)是一种常用的技术,用于检测射线是否与场景中的物体相交。这在游戏开发中用于实现点击物体、射线武器的碰撞检测、角色与环境的交互等方面非常有用。 定义:表示从一个点沿着特定方向延伸的虚拟线段 属性: direction 射线的方向。 orig

    2024年02月13日
    浏览(45)
  • Unity之射线检测

    目录 📕一、射线检测原理 📕1.2、实现实例  📕二、导航 📕2.1 导航网格的使用 📕2.2 创建角色,在地形上移动 📕2.3 动态障碍物  📕2.4 网格链接  📕2.5 自定义网格链接  📕2.6 区域 不知道大家有没有玩过红色警戒 —— 一款即时战略游戏,和罪恶都市一样小编小学的时

    2024年01月20日
    浏览(38)
  • 【超级入门】Unity如何实现画射线+射线检测+NavMeshAgent结合

           “射线检测 是在3D数字世界里选择某个特定物体常用的一种技术,如在3D、VR游戏中检测子弹命中敌人情况或者从地上捡起一支枪,这都要用到 射线检测 , 射线检测 是在3D数字空间中选择虚拟物体的最基本方法。 ” 效果: 我们先创建一个物体,挂脚本 RayTest ,代码

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

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

    2024年03月17日
    浏览(42)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包