当前位置: 首页 > article >正文

unity npc射线检测碰撞

源代码

计算碰撞体的高度一半,用于将射线的起点从物体的中心点偏移到底部。
 

var offset = m_collider.size.y * 0.5f;
var hit = Physics2D.Raycast(
    transform.position - new Vector3( 0, offset, 0 ), // 射线起点
    dir,                                              // 射线方向
    m_collider.size.x * 0.55f,                        // 射线长度
    Globals.ENV_MASK                                  // 仅检测 ENV_MASK 层
);

原项目使用效果

是刚好超出碰撞体x长度0.05的

新项目使用效果

问题

我也是0.5怎么就取不到一半

结果

他喵的整个对象的大小变了,结果碰撞体的长度也影响了,最终值就错了

原:

新:

(亏我调了几个钟可恶)

解决:

加个bound就行了

    var raycastLength = m_collider.bounds.size.x * 0.55f;

 对比

var offset = m_collider.size.y * 0.5f;
var hit = Physics2D.Raycast(
    transform.position - new Vector3( 0, offset, 0 ), // 射线起点
    dir,                                              // 射线方向
    m_collider.size.x * 0.55f,                        // 射线长度
    Globals.ENV_MASK                                  // 仅检测 ENV_MASK 层
);
        var offset = m_collider.size.y * 0.5f;
        var raycastLength = m_collider.bounds.size.x * 0.55f; // 适配缩放
        var hit = Physics2D.Raycast(
            transform.position - new Vector3(0, offset, 0),
            dir,
            raycastLength,
            Globals.ENV_MASK
        );

结果:无论对象大小多少,都不影响射线整体比例 

//调试射线代码
Debug.DrawRay(transform.position - new Vector3(0, offset, 0), dir * (raycastLength), Color.red, 1f);

 


http://www.kler.cn/a/596253.html

相关文章:

  • 《前端秘籍:JS语法+DOM操作,从新手到高手》
  • 代码随想录算法训练营第十五天 | 数组 |长度最小的子数组和螺旋矩阵II
  • 【ESP32】虚拟机Ubuntu20.04下ESP32环境搭建
  • 基于deepseek的智能语音客服【第二讲】后端异步接口调用封装
  • 在 Elasticsearch 中扩展后期交互模型 - 第 2 部分 - 8.18
  • CTF题目《easy_tornado》(护网杯 2018)Write Up
  • Flink相关面试题
  • 分析K8S中Node状态为`NotReady`问题
  • C++进阶(一)
  • (C语言)理解 回调函数 和 qsort函数
  • 【Redis】Redis中的热点key问题如何解决?
  • 阿里云服务器环境部署 四 MySQL主从配置
  • ubuntu忘记密码问题解决。进入恢复模式修改密码
  • MySQL和Oracle所学的知识点相通吗?
  • 零基础入门机器学习:用Scikit-learn实现鸢尾花分类
  • 如何优化 TCP/IP 的 NCCL 通信
  • 【课堂笔记】定理:样本越多,测量的经验损失越接近真实损失
  • vscode终端不识别npm 无法解析npm
  • 对 Docker 理解的补充 docker容器虚拟化技术有什么用?怎么使用?
  • STT-MRAM CIM 赋能边缘 AI:高性能噪声鲁棒贝叶斯神经网络宏架构详解