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

在网上做网站四川网站推广公司

在网上做网站,四川网站推广公司,抖音开放平台橡塑app,西部数码网站管理助手 mysql保存路径一、Physics碰撞检测 1.Physics.Raycast射线投射 Physics.Raycast 是 Unity 中用于执行射线检测(Raycasting)的方法。它允许你从一个点沿特定方向发射一条无形的“射线”,并检查这条射线是否与场景中的任何碰撞体相交。这个功能非常有用&am…

一、Physics碰撞检测

1.Physics.Raycast射线投射

Physics.Raycast 是 Unity 中用于执行射线检测(Raycasting)的方法。它允许你从一个点沿特定方向发射一条无形的“射线”,并检查这条射线是否与场景中的任何碰撞体相交。这个功能非常有用,可以用来检测玩家前方是否有障碍物、确定点击位置的对象等。

使用场景:用于检测射线是否与场景中的物体发生碰撞
触发条件:通过发射一条射线来检测碰撞
参数:参数包括射线的起点、方向、最大距离、层掩码等

bool hit = Physics.Raycast(transform.position, transform.forward, out RaycastHit hitInfo, 100f);
if (hit) {Debug.Log("Ray hit: " + hitInfo.collider.gameObject.name);
}

2.Physics.CapsuleCast胶囊体投射

Physics.CapsuleCast 是 Unity 中用于执行胶囊体投射(Capsule Cast)的方法。与 Raycast 类似,但它基于胶囊形状而非直线,这使得它非常适合用于检测具有类似胶囊形状的对象(如大多数游戏角色使用的碰撞体)在移动时是否会遇到障碍物。

使用场景: 用于检测一个胶囊体形状的射线是否与场景中的物体发生碰撞
触发条件: 通过发射一个胶囊体形状的射线来检测碰撞
参数: 参数包括起点、方向、胶囊体的半径、高度、最大距离、层掩码等

bool hit = Physics.CapsuleCast(transform.position, transform.position + Vector3.up * 2f, 1f, transform.forward, out RaycastHit hitInfo, 100f);
if (hit) {Debug.Log("CapsuleCast hit: " + hitInfo.collider.gameObject.name);
}

二、Layer(层)、LayerMask(遮罩层)

Layers通常被摄像机用来渲染部分场景,和灯光照射部分场景使用。但是它们也可以用来做射线检测时忽略一些collder或Collision使用

Unity中是用int32来表示32个Layer层。int32表示二进制一共有32位(0—31)

在Unity中每个GameObject都有Layer属性,默认的Layer都是Default。在Unity中可编辑的Layer共有24个(8—31层),官方已使用的是0—7层,默认不可编辑!

1,layer层查看与创建

任意选择场景中的一个GameObject即可查看该GameObject所在的层

 点击 Add Layer...(前面的序号是所在层序号)

 在可以编辑的地方取个一个层名即可

 新建的 layer 就会显示在层中

2.LayerMask 的介绍和使用

LayerMask 实际上是一个位码操作,在Unity3D中一共有32个Layer层,并且不可增加。

Unity 中的使用:

LayerMask mask = 1 << 3;表示开启Layer3。

LayerMask mask = 0 << 8;表示关闭Layer8。

LayerMask mask = 1<<1|1<<9;表示开启Layer1和Layer9。

LayerMask mask = 0<<4|0<<5;表示关闭Layer4和Layer5。

LayerMask mask = ~(1 << 0) 打开所有的层。

LayerMask mask = ~(1 << 9) 打开除了第9之外的层。

//LayerMask 的使用(Physics.Raycast)[SerializeField] private LayerMask ClearCounterLayerMask;float interactDictance = 2.0f;if (Physics.Raycast(transform.position, lastInteractDir, out RaycastHit raycastHit, interactDictance, ClearCounterLayerMask))
{if (raycastHit.transform.TryGetComponent(out ClearCounter clearCounter)){clearCounter.Interact();}
}

http://www.dtcms.com/wzjs/168724.html

相关文章:

  • 律师网站建设费用广州中小企业seo推广运营
  • 主机屋怎么做网站谷粉搜索谷歌搜索
  • 200m的空间可以做大大的网站2345浏览器导航页
  • JSP做网站起到的作用安徽网站设计
  • wordpress安装创建数据库文件优化关键词排名推广
  • 企业网站系统建设毕业论文云建站模板
  • 竞价推广外包seo网站排名
  • 可靠的机票网站建设网络营销的推广方法有哪些
  • 网站建设科技公司外部环境分析网站广告投放价格表
  • 重庆网站建设要点江苏提升关键词排名收费
  • 如何推销网站建设google play官网入口
  • 网站开发需求评估西安网络推广营销公司
  • 企业网站被黑后如何处理百度sem优化师
  • 国外公司网站设计快速建站工具
  • 吉安市网站制作百度快照客服
  • 网站开发源代码mvc公众号怎么推广
  • 哪里有零基础网站建设教学公司seo整站优化
  • xv10相同网站现在有哪些培训学校
  • wordpress限制ip访问次数网站seo优化价格
  • 网站 做英文 翻译 规则seo标题生成器
  • 深圳专业建设网站邯郸seo营销
  • 阿里云搭建网站教程西安百度快照优化
  • 强化网站建设和监管广州seo工资
  • 快递物流公司网站模板软文怎么写比较吸引人
  • 网站建设员课程培训机构专业
  • 顺德品牌网站建设信息武汉大学人民医院地址
  • 销售行业怎样做网站seo排名推广工具
  • 网站设计分析报告360优化大师app
  • 国内html5网站欣赏推广赚钱的平台有哪些
  • 个人微信crm系统成都纯手工seo