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

网站被k 换个域名可以在线取公司名字 免费

网站被k 换个域名可以,在线取公司名字 免费,服务公司沈傲芳,湘潭网站网站建设目录 知识点一#xff1a;什么是范围检测 知识点二#xff1a;如何进行范围检测 问题#xff1a; Physics.queriesHitTriggers 怎么查看是不是true#xff1f; QueryTriggerInteraction.UseGlobal 参数意味着是否检测触发器将依据全局设置 Physics.queriesHitTrigge…  目录 知识点一什么是范围检测 知识点二如何进行范围检测 问题 Physics.queriesHitTriggers   怎么查看是不是true QueryTriggerInteraction.UseGlobal 参数意味着是否检测触发器将依据全局设置 Physics.queriesHitTriggers 来决定 能不能通俗易懂讲解 1. 球形范围检测Sphere 2. 非分配球形范围检测Sphere NonAlloc 3. 胶囊形范围检测Capsule 4. 非分配胶囊形范围检测Capsule NonAlloc 代码补全 知识点一什么是范围检测 范围检测是一种在游戏开发中常用的技术用于判断某个特定区域内是否存在游戏对象。这种检测通常是瞬时的用于实现如技能伤害、效果施加等不需要物理碰撞响应的交互。 应用场景 玩家释放技能如地刺或火球需要判断技能范围内是否有敌人。玩家使用近战攻击需要判断周围一定范围内是否有可攻击的目标。游戏中的区域触发事件如进入特定区域触发剧情或机关。 特点 范围检测不涉及物理碰撞的响应如弹力或摩擦力。范围检测可以是瞬时的也可以是持续的如每帧检测。 知识点二如何进行范围检测 必备条件 想要被范围检测到的对象必须具备碰撞器Collider因为范围检测是基于碰撞器的形状和位置进行的。 注意点 范围检测API只在执行该代码时进行一次检测它是瞬时的。范围检测API并不会真正产生一个碰撞器它只是进行碰撞判断计算。 范围检测API 盒状范围检测OverlapBox 参数 参数一立方体中心点Vector3参数二立方体三边大小Vector3参数三立方体角度Quaternion参数四检测指定层级LayerMask参数五是否忽略触发器QueryTriggerInteraction返回值在该范围内的碰撞器数组Collider[] 其他范围检测API 球状范围检测OverlapSphere 参数一球体中心点参数二球体半径参数三检测指定层级参数四是否忽略触发器返回值在该范围内的碰撞器数组胶囊状范围检测OverlapCapsule 参数一胶囊的中心点参数二胶囊的半径参数三胶囊的高度参数四胶囊的角度参数五检测指定层级参数六是否忽略触发器返回值在该范围内的碰撞器数组 层级检测 通过 LayerMask.NameToLayer 方法可以通过层级名称获取层级编号。使用位运算左移构建二进制数来表示想要检测的层级。层级编号是0~31对应一个int数的32位。 示例代码 using UnityEngine;public class RangeDetectionScript : MonoBehaviour {void Update(){// 盒状范围检测示例Vector3 center new Vector3(5, 0, 0); // 中心点Vector3 halfExtents new Vector3(1, 1, 1); // 半大小Quaternion direction Quaternion.identity; // 角度LayerMask layerMask (1 LayerMask.NameToLayer(Enemy)); // 只检测Enemy层Collider[] hits Physics.OverlapBox(center, halfExtents, direction, layerMask);foreach (var hit in hits){Debug.Log(检测到对象 hit.gameObject.name);}} } int uiLayer LayerMask.NameToLayer(UI); int defaultLayer LayerMask.NameToLayer(Default); Collider[] colliders Physics.OverlapBox(Vector3.zero, Vector3.one, Quaternion.AngleAxis(45, Vector3.up),(1 uiLayer) | (1 defaultLayer), QueryTriggerInteraction.UseGlobal);for (int i 0; i colliders.Length; i) {Debug.Log(colliders[i].gameObject.name); }// 使用Physics.OverlapBoxNonAlloc进行范围检测传入一个数组进行存储 int count Physics.OverlapBoxNonAlloc(Vector3.zero, Vector3.one, colliders, Quaternion.AngleAxis(45, Vector3.up),(1 uiLayer) | (1 defaultLayer), QueryTriggerInteraction.UseGlobal); if (count 0) {Debug.Log(检测到 count 个碰撞器); }问题 Physics.queriesHitTriggers   怎么查看是不是true 通过 Unity 编辑器界面检查 打开 Unity 编辑器。转到 Edit Project Settings Physics在 Unity 2020 及以后的版本中这个选项可能在 Edit Settings Project Physics 中。查看 Queries Hit Triggers 选项。如果这个选项被勾选那么 Physics.queriesHitTriggers 的值就是 true如果没有勾选那么它的值就是 false 。 QueryTriggerInteraction.UseGlobal 参数意味着是否检测触发器将依据全局设置 Physics.queriesHitTriggers 来决定 能不能通俗易懂讲解 这里的“全局老大”指的是Unity的一个全局设置名字叫做 Physics.queriesHitTriggers。这个设置决定了在物理查询中是否考虑触发器。 如果 Physics.queriesHitTriggers 设置为 true开启状态那么使用 QueryTriggerInteraction.UseGlobal 时物理查询比如 Physics.OverlapBox就会检测触发器。如果 Physics.queriesHitTriggers 设置为 false关闭状态那么即使使用了 QueryTriggerInteraction.UseGlobal物理查询也不会检测触发器。 简单来说QueryTriggerInteraction.UseGlobal 就是让物理查询是否检测触发器取决于Unity编辑器中的那个全局设置。如果全局设置允许检测触发器它就检测如果全局设置不允许它就不检测。这样你可以通过修改全局设置来统一控制所有物理查询是否检测触发器而不需要在每个物理查询中单独设置。 1. 球形范围检测Sphere 用途用于检测指定球形区域内的对象。参数 参数一球体中心点Vector3。参数二球体半径float。参数三检测指定层级LayerMask。如果不填则检测所有层。参数四是否忽略触发器QueryTriggerInteraction。UseGlobal 使用全局设置Collide 检测触发器Ignore 忽略触发器。返回值在该球形范围内的碰撞器数组Collider[]。 2. 非分配球形范围检测Sphere NonAlloc 用途与 OverlapSphere 类似但使用预先分配的数组来存储结果提高性能。参数 参数一球体中心点Vector3。参数二球体半径float。参数三用于存储结果的碰撞器数组Collider[]。返回值碰撞到的碰撞器数量int。 3. 胶囊形范围检测Capsule 用途用于检测指定胶囊形区域内的对象。参数 参数一胶囊的一个中心点Vector3。参数二胶囊的另一个中心点Vector3。参数三胶囊的半径float。参数四检测指定层级LayerMask。如果不填则检测所有层。参数五是否忽略触发器QueryTriggerInteraction。UseGlobal 使用全局设置Collide 检测触发器Ignore 忽略触发器。返回值在该胶囊形范围内的碰撞器数组Collider[]。 4. 非分配胶囊形范围检测Capsule NonAlloc 用途与 OverlapCapsule 类似但使用预先分配的数组来存储结果提高性能。参数 参数一胶囊的一个中心点Vector3。参数二胶囊的另一个中心点Vector3。参数三胶囊的半径float。参数四用于存储结果的碰撞器数组Collider[]。返回值碰撞到的碰撞器数量int。 代码补全 using UnityEngine;public class RangeDetectionScript : MonoBehaviour {void Start(){// 球形范围检测int defaultLayer LayerMask.NameToLayer(Default);Collider[] colliders Physics.OverlapSphere(Vector3.zero, 5, 1 defaultLayer, QueryTriggerInteraction.UseGlobal);foreach (var collider in colliders){Debug.Log(球形检测到对象 collider.gameObject.name);}// 非分配球形范围检测Collider[] sphereBuffer new Collider[100]; // 假设最多检测100个int sphereCount Physics.OverlapSphereNonAlloc(Vector3.zero, 5, sphereBuffer, 1 defaultLayer, QueryTriggerInteraction.UseGlobal);for (int i 0; i sphereCount; i){Debug.Log(非分配球形检测到对象 sphereBuffer[i].gameObject.name);}// 胶囊形范围检测int uiLayer LayerMask.NameToLayer(UI);colliders Physics.OverlapCapsule(Vector3.zero, Vector3.up, 1, 1 uiLayer, QueryTriggerInteraction.UseGlobal);foreach (var collider in colliders){Debug.Log(胶囊形检测到对象 collider.gameObject.name);}// 非分配胶囊形范围检测Collider[] capsuleBuffer new Collider[100]; // 假设最多检测100个int capsuleCount Physics.OverlapCapsuleNonAlloc(Vector3.zero, Vector3.up, 1, capsuleBuffer, 1 uiLayer, QueryTriggerInteraction.UseGlobal);for (int i 0; i capsuleCount; i){Debug.Log(非分配胶囊形检测到对象 capsuleBuffer[i].gameObject.name);}} }
http://www.dnsts.com.cn/news/126597.html

相关文章:

  • 做的时间长的网站制作公司哪家好张家界酒店网站建设
  • 企业建设网站的好处有哪些郑州软件外包公司
  • 做网站 带宽 多少钱建设银行 钓鱼网站
  • 关于网站集约化建设公函网页设计工资一般多少2017
  • 怎么用vs做网站开发推广培训班
  • 网站开发需要学什么语言网络推广运营外包
  • 福州专业网站制作设计南昌市有帮做网站的吗
  • 企业网站开发实训心得崇明做网站公司
  • 男女直接做的视频网站网上注册公司申请入口
  • 怎么做招聘网站怎么屏蔽ip段访问网站
  • 外卖网站建设的策划电子商务网站建设含代码
  • 网站建设一般用英文怎么说长治做网站
  • 具有营销型网站有哪些企业员工餐解决方案
  • 南京网站建设培训班外贸公司起名
  • 在线教育网站建设方案百度竞价排名魏则西事件分析
  • 江山市城乡建设局网站装修公司室内装饰
  • 网站一键生成手机网站网站不备案
  • 一个新手建设网站怎么简单做网站百度一下
  • 采用html5网站做网站注意什么问题
  • 自定义优定软件网站建设电商网站费用
  • 美食网站开发的目的和意义网站建设服务提供商
  • 做静态网站的参考文献网站流量 盈利
  • 图片滤镜网站开发app商城软件
  • 以鹦鹉做头像的网站wordpress高级模板下载
  • 网站建设硬件投入表wordpress站外连接
  • 青岛网站平台开发上海高端建站
  • 菜谱网站后台代码中企动力网站推广
  • 深圳福田区住房和建设局官方网站导入视频生成3d动画
  • 做网站备案要处省的电话号码网站建设衤首选金手指10
  • 互联国际网站ui设计是什么专业的