Unity 工具 之 简单 镭射 Laser Ray 交互的封装可交互物体 GameObject 和 UI(结合 Curved UI)基于/可用于眼镜插手机上交互

这篇博客介绍了如何在Unity中实现简单的镭射激光交互,包括Editor和手机设备上的实现原理,以及结合Curved UI的交互方式。通过陀螺仪数据生成镭射线,与物体和UI进行交互,并提供了关键代码示例。此外,还提到了注意事项和效果预览。
摘要由CSDN通过智能技术生成

 

Unity 工具 之 简单 镭射 Laser Ray 交互的封装可交互物体 GameObject 和 UI(结合 Curved UI)Unity 工具 之 简单 镭射 Laser Ray 交互的封装可交互物体 GameObject 和 UI(结合 Curved UI)基于/可用于眼镜插手机上交互

 

目录

Unity 工具 之 简单 镭射 Laser Ray 交互的封装可交互物体 GameObject 和 UI(结合 Curved UI)Unity 工具 之 简单 镭射 Laser Ray 交互的封装可交互物体 GameObject 和 UI(结合 Curved UI)基于/可用于眼镜插手机上交互

一、简单介绍

二、实现原理

三、注意事项

四、效果预览

五、实现步骤

六、关键代码

七、参考工程


 

一、简单介绍

Unity 工具类,自己整理的一些游戏开发可能用到的模块,单独独立使用,方便游戏开发。

本节介绍,使用镭射方式,进行 UI 和 物体GameObject 交互,这里简单说明,若有不对,或者您有更好的方法,欢迎留言指正和交流。

 

二、实现原理

1、Editor 通过 鼠标移动转换为旋转为 镭射线的旋转数据

2、手机设备中通过获取陀螺仪 gyro 数据旋转为 镭射线的旋转数据

3、镭射使用(这里使用LookAt方式,具体见代码)上边获取到的旋转数据,然后作为射线发射方向,碰撞到物体的距离作为 镭射实体的长度

4、物体GameObject 挂载脚本,继承 ILaserRayGameObjectListener ,即可获取到镭射进入,退出,点击,抬起,按下等事件

5、UI 使用 Curved UI ,设置为 Custom_Ray 交互,更改对应 EventSystem 交互系统,即可正常 UGUI world 模式使用

6、Shake Phone 摇晃手机 可以Reset 镭射交互方向置于屏幕中间位置区域,便于简单修复由于手机陀螺仪自己漂移造成镭射飘走

 

三、注意事项

1、手机设备上,转动移动手机改变镭射方向,选择交互对象,手指点击手机屏幕,进行点击,抬起,按下等事件交互

2、交互关键就是 Ray 交互到 Collider

3、因为 UI 是 World 模式,且交互也是有 Collider 的,所有注意 Canvas 的大小,空处也会阻挡射线(目前该版本是这样)

4、你可以根据交互事件,实现物体的移动等

 

四、效果预览

 

五、实现步骤

1、打开 Unity,新建一个空工程

 

2、导入 Curved UI 工具包

 

3、 编写 LaserRayTool等 相关代码,实现 Editor 和 Device 端的射线交互

 

4、实现 ShakePhoneWithVibrateWrapper 等脚本 Device 手机摇一摇修正重置镭射到中央功能

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

仙魁XAN

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值