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

Unity物理射线滤除某层

关键点:使用LayerMask,针对Physics里检测collider的射线(raycast、OverlapSphere...)都适用

1.使用layerMask过滤层

int ignoreLayer = LayerMask.NameToLayer("IgnoreRaycast");// 获取要忽略的层
int layerMask = ~(1 << ignoreLayer);// 取反,忽略这个层

if(Physics.Raycast(ray,out hit,maxDistance,layerMask))
{
    Debug.Log("射线击中了:"+ hit.collider.name);
}

        1 << ignoreLayer 计算出该层的二进制掩码

2.只检测某些层

if(Physics.Raycast(ray,out hit.maxDistance,LayerMask.GetMask("Enemy","Player")))
{

}

3.使用QueryTriggerInteraction只过滤触发器

如果只想忽略触发器(Trigger)的话

if(Physics.Raycast(ray,out hit,maxDistance,Physics.AllLayers,QueryTriggerInteraction.Ignore))
{
}

忽略 isTrigger = true 的Collider,只检测普通的碰撞体 

http://www.dtcms.com/a/74969.html

相关文章:

  • FPGA中级项目1——IP核(ROM 与 RAM)
  • 黑马JUC学习笔记-上
  • LabVIEW烟气速度场实时监测
  • 路径问题(greedy):地下城游戏
  • Word 小黑第40套
  • 微服务无状态服务设计
  • token升级(考虑在分布式环境中布置token,结合session保证请求调用过程中token不会过期。)
  • 数据结构第一轮复习--第二章线性表(包含课程作业代码)
  • 设计模式 二、创建型设计模式
  • Harmony NEXT开发之创建自定义组件
  • API 返回的PDF是一串字符,如何转换为PDF文档
  • ruoyi-vue部署2
  • Java学习——数据库查询操作
  • PHP工程师转向Java开发定制的教材及教程信息,结合两种语言的差异点进行针对性推荐
  • 搭建opensbi+kernel+rootfs及基本设备驱动开发流程
  • java使用(Preference、Properties、XML、JSON)实现处理(读写)配置信息或者用户首选项的方式的代码示例和表格对比
  • 基于 Python 爬取 TikTok 搜索数据 Tiktok爬虫(2025.3.17)
  • C++: <bits/stdc++.h>详细介绍
  • Kotlin语言基础笔记
  • 拦截网页中的 Fetch 和 XMLHttpRequest 请求方式方法
  • 《jQuery UI 使用指南》
  • WD5202L超低成本 Buck 电源芯片的特性与应用电路解析, 将市电转换为 5V 电压
  • 力扣Hot100——136. 只出现一次的数字
  • 突破连接边界!O9201PM Wi-Fi 6 + 蓝牙 5.4 模块重新定义笔记本无线体验
  • 低空经济安全保障体系构建方案
  • 【Unity】 HTFramework框架(六十二)Agent编辑器通用智能体(AI Agent)
  • 【NLP】 5. Word Analogy Task(词类比任务)与 Intrinsic Metric(内在度量)
  • “量超融合”突破 澳Quantum Brilliance融资2000万美元探索量子与超算协同
  • 事件驱动架构(EDA):微服务世界的未来趋势
  • UNI-APP uts插件 支持ANDROID 监听手机状态