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

如何利用路由建设网站企业网站托管服务常用指南

如何利用路由建设网站,企业网站托管服务常用指南,个人网站建设联系,建设银行登录网站文章目录 1. 定义2. 重要类和方法2.1 Ray2.2 从屏幕发出射线:2.3 Raycast2.4 RaycastAll2.5 RaycastHit 碰撞信息2.6 layerMask 让射线检测只检测指定层级的对象 1. 定义 在Unity中,射线检测(Raycasting)是一种常用的技术&#x…

文章目录

  • 1. 定义
  • 2. 重要类和方法
    • 2.1 Ray
    • 2.2 从屏幕发出射线:
    • 2.3 Raycast
    • 2.4 RaycastAll
    • 2.5 RaycastHit 碰撞信息
    • 2.6 layerMask 让射线检测只检测指定层级的对象

1. 定义

在Unity中,射线检测(Raycasting)是一种常用的技术,用于检测射线是否与场景中的物体相交。这在游戏开发中用于实现点击物体、射线武器的碰撞检测、角色与环境的交互等方面非常有用。

2. 重要类和方法

2.1 Ray

定义:表示从一个点沿着特定方向延伸的虚拟线段
属性:

  • direction 射线的方向。
  • origin 射线的原点。

构造函数:

public Ray (Vector3 origin, Vector3 direction);

在场景中绘制射线(仅在 Debug 下可见):

 // 创建射线
Ray ray = new Ray(Vector3.zero, Vector3.forward);// 在场景中绘制射线,可选操作(仅用于调试目的)
Debug.DrawRay(ray.origin, ray0.direction * 10f, Color.red);

2.2 从屏幕发出射线:

Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);

void Update()
{if (Input.GetMouseButton(0)) {Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);Debug.DrawRay(ray.origin, ray.direction * 10f, Color.red);}}

2.3 Raycast

定义:射线检测获取相交的单个物体,它可以检测射线是否与某个物体相交,如果相交,还可以获取有关交点的信息

bool Raycast(Ray ray, out RaycastHit hitInfo, float maxDistance, int layerMask);
参数含义:
Ray——射线对象
RaycastHit——碰撞(相交)对象信息
maxDistance——射线检测的最大距离
layerMask——层蒙版(用于只检测特定层对象)
返回值含义:
bool——当射线和物体相交时返回true

void Update()
{if (Input.GetMouseButtonDown(0)) {Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);RaycastHit hitInfo;if (Physics.Raycast(ray, out hitInfo)){// 射线与物体相交Debug.Log($"Name:{hitInfo.collider.name},Point:{hitInfo.point}");}}
}

在这里插入图片描述

2.4 RaycastAll

定义:射线检测获取相交的多个物体
RaycastHit[] RaycastAll(Ray ray, float maxDistance, int layerMask);
RaycastHit[]——当射线和物体相交时,返回相交的物体们,如果没有碰撞到,数组长度为0

void Update()
{if (Input.GetMouseButtonDown(0)) {Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);RaycastHit[] hitInfos;hitInfos = Physics.RaycastAll(ray, int.MaxValue);// 射线与物体相交foreach (var item in hitInfos){Debug.Log($"Name:{item.collider.name},Point:{item.point}");}       }
}

在这里插入图片描述

2.5 RaycastHit 碰撞信息

在这里插入图片描述

2.6 layerMask 让射线检测只检测指定层级的对象

LayerMask.NameToLayer(层名):根据层名字转换为层编号的方法
层编号:
在这里插入图片描述
1 << LayerMask.NameToLayer(“Cube”)

void Update()
{if (Input.GetMouseButtonDown(0)) {Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);RaycastHit hitInfo;// 1 << LayerMask.NameToLayer("Cube") 将 1 左移得到的层级编号位数,得到层级编号的二进制if (Physics.Raycast(ray, out hitInfo, int.MaxValue, 1 << LayerMask.NameToLayer("Cube"))){// 射线与物体相交Debug.Log($"Name:{hitInfo.collider.name},Point:{hitInfo.point}");}}
}

在这里插入图片描述

http://www.yayakq.cn/news/49940/

相关文章:

  • 企业自助建站网发布外链的平台有哪些
  • 网站域名好了下一步网页设计与制作教程欧静美
  • 汕头网站建设平台市场推广方案怎么做
  • 太原网站建设开发企业展厅 设计 公司 平安
  • 阜宁网站建设服务商深圳品牌营销咨询公司
  • 台州网站优化公司商务酒店网站模板
  • 自助网站建设平台访问的网站显示建设中
  • 上海微网站windows 7 wordpress
  • 网站不能添加图片东莞网站建没
  • 做球球棒棒糖网站源码凡科互动游戏修改器
  • 天津智能网站建设制作php 网站伪静态
  • 莆田网站建设招标留言板网页设计图片
  • 如何加入wordpress搜外seo
  • 网站建设服务费费计入什么科目免费网页设计整套模板
  • 做网站一般按什么报价建设银行官方网站首页企业
  • 福建整站优化广告资源对接平台
  • 怎么做像表白墙的网站游戏制作软件有哪些
  • 制作网站地图深圳市做网站前十强
  • 网站信息资料库建设三联网站建设价格
  • 北京网站改版多少钱工作不开心应该辞职吗
  • 河源网站制作wordpress 一些数据表不可用
  • 桂林有帮做公司网站吗微信小程序平台入口
  • 建设网站的源代码的所有权如何搭建购物网站
  • 彩票网站wordpress模板广州网道营销广告有限公司
  • 临海制作网站公司做门窗网站
  • seo公司是什么seo搜索优化服务
  • 建聊天网站wordpress 4.9 google
  • 公司做网站需要准备什么材料电子商务网站建设方案的总结
  • 友汇网站建设一般多少钱免费ppt模板大全下载的网站
  • 比较好的设计网站推荐网站优化入门免费教程