Unity中的两种射线检测方式(物理与UI)
创始人
2024-12-17 09:35:02
0
射线检测的总归思路就是先创建一条射线射向某个位置,将碰撞到的物体信息存起来进行比对,下面针对物理射线检测以及UI适用的射线检测分别解释

一、射线检测(物理)

定义你需要射向的位置坐标并确定他是屏幕坐标,这里我用鼠标位置

1.1获取鼠标位置:Input.mousePosition;这是一个三维向量,用Vector3接受

1.2屏幕向鼠标位置发射射线:Camera.main.ScreenPointToRay(mousePos);

1.3定义RaycastHit用来存储射线碰撞信息

1.4进行判断

代码如下:

void Update() {     if (Input.GetMouseButtonDown(0))      {         Vector3 mouseposition = Input.mousePosition;         Ray ray = Camera.main.ScreenPointToRay(mouseposition);         RaycastHit hit;         if (Physics.Raycast(ray, out hit))         {             Debug.Log("射线击中了物体: " + hit.collider.name);         }     } }

二、射线检测(UI)

流程思路与之前相同:

1.创建PointerEventData对象,PointerEventData专门用来存储和传递指针信息,例如鼠标。EventSystem.current代表当前正在活动的事件系统。获取鼠标的位置。

2.RaycastResult用来存储Unity事件系统中的射线信息

3.EventSystem.current.RaycastAll(SaveMousePosition, result);表示从SaveMousePosition位置发射一条射线,经过的ui信息都存储于result中。

4.遍历result中存储的信息进行判断

代码如下:

 PointerEventData SaveMousePosition = new PointerEventData(EventSystem.current);  SaveMousePosition.position = Input.mousePosition;  List result = new List();  EventSystem.current.RaycastAll(SaveMousePosition, result);  foreach (RaycastResult raycast in result)  {}

结尾:有任何错误请指出,补充请评论,看到会第一时间回复,谢谢。

相关内容

热门资讯

科普!微信金花房卡哪里有卖,牛... 微信游戏中心:牛牛房卡,添加微信【55051770】,进入游戏中心或相关小程序,搜索“微信牛牛房卡”...
正版授权!牛牛房卡怎么获得天启... 正版授权!牛牛房卡怎么获得天启联盟/房卡价格表多少钱一张Sa9Ix苹果iPhone 17手机即将进入...
金花房卡购买平台推荐/微信牛牛... 牛牛是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:86909166许多玩家在游戏中会购买房卡来享受...
终于知道”新云游如何买房卡“金... 终于知道”新云游如何买房卡“金花牛牛房卡充值游戏中心打开微信,添加客服【113857776】,进入游...
玩家攻略,金花房卡官网盘古大厅... 您好!微信盘古大厅大厅链接获取房卡可以通过以下几种方式购买: 1.微信渠道:(盘古大厅)大厅介绍:...
科普!炸金花链接房间从哪里买,... 微信游戏中心:炸金花房卡,添加微信【33903369】,进入游戏中心或相关小程序,搜索“微信炸金花房...
终于知道”新道游如何买房卡“拼... 终于知道”新道游如何买房卡“拼三张房卡充值 微信牛牛房卡客服微信号微信游戏中心打开微信,添加客服【1...
正规平台有哪些,金花房卡批发海... 海贝之城房卡更多详情添加微:33549083、 2、在商城页面中选择房卡选项。 3、根...
终于找到“微信群牛牛房卡去哪买... 美猴王牛牛是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:44346008许多玩家在游戏中会购买房卡...
正版授权!金花房卡是正规的海贝... 正版授权!金花房卡是正规的海贝之城/正规房卡平台有哪些海贝之城是一款非常受欢迎的游戏,咨询房/卡添加...
科普!微信链接炸金花买房卡怎么... 微信游戏中心:拼三张房卡,添加微信【8488009】,进入游戏中心或相关小程序,搜索“微信拼三张房卡...
科技实测!金花房卡专卖店黄帝大... 微信游戏中心:黄帝大厅房卡在哪里买打开微信,添加客服微信【88355042】,进入游戏中心或相关小程...
终于知道”龙鼎房卡获取“金花牛... 第二也可以在游戏内商城:在游戏界面中找到 “微信金花,斗牛链接房卡”“商城”选项,选择房卡的购买选项...
头条推荐!金花微信链接市场价格... 头条推荐!金花微信链接市场价格表天道联盟/随意玩/房卡微信链接Sa9Ix苹果iPhone 17手机即...
微信牛牛金花链接版房卡充值方式... 牛牛是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:44346008许多玩家在游戏中会购买房卡来享受...
科普!微信群打炸金花链接房卡,... 微信游戏中心:拼三张房卡,添加微信【55051770】,进入游戏中心或相关小程序,搜索“微信拼三张房...
正版授权!牛牛房卡怎么获得超游... 您好!微信超游联盟大厅链接获取房卡可以通过以下几种方式购买: 1.微信渠道:(超游联盟)大厅介绍:...
终于知道”新西部是如何购买的“... 终于知道”新西部是如何购买的“拼三张房间卡怎么购买微信房卡充值 添加房卡批售商:微【11385777...
科普!微信炸金花房卡链接怎么弄... 微信游戏中心:炸金花房卡,添加微信【33903369】,进入游戏中心或相关小程序,搜索“微信炸金花房...
牛牛房卡批发平台/微信牛牛房卡... 牛牛是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:44346008许多玩家在游戏中会购买房卡来享受...