个人介绍
我叫XXX,今年上大二,主学游戏开发虚幻引擎、Unity引擎,在校期间开发了很多小Demo我严格要求自己,自觉、遵纪、守时。本人坦诚且有责任心,有独立进取的品性,勤于动手、善于动脑,适应新环境能力很强。能够在最短时间内完成从学生到职业工作人员的转型,尽自己最大的努力融入新的工作生活。
新学期目标
①:学好新学期课程,好好学习天天向上💪
②:参加VR虚拟现实比赛
③:继续提升学历~争取考公务员💪
④:程序员坚持每天锻炼💪
⑤:
项目准备与介绍
前期准备如下:
①:SteamVR下载步骤 : 下载Steam链接 → 下载SteamVR1.2.2
②:VRTK3.2.1下载 :下载链接
项目介绍
☺:课程使用HTC Vive设备开发,使用 SteamVR1.2.2 和 VRTK3.2.1 版本开发。
☺:将游乐项目在VR里体验,使用新版VRTK实现了射线与UI的交互、新版VRTK的使用。
设备模样
设备图:
实现效果如下
导入素材
资源:
SteamVR:
VRTK:
夸克网盘下载 ☑:下载链接
提取码:PCks
导入+ 创建相关文件夹如下图:
开始页UI简单搭建
效果如下:
开发步骤
1、使用预制体 Galaxy:
2、调整 Galaxy 和 SteamVR摄像机
如下图所示:
3、使用SteamVR摄像机
4、VR模拟UI界面搭建效果图如下:
1.摄像机使用世界坐标:
2.创建UI调整
5、VRTK 3.2.1v的相关使用
1.创建VRTK(添加VRTK_SDK Manager) 👉 创建空GameObject (添加VRTK_SDK Setup组件)
如👇:
6、手臂发射射线
要与UI交互需要添加 3个组件:
把renderer添加到PointerRenderer如下:
添加右手炳到RightController
效果如下:
7、UI交互
效果如 👇:
bug(射线移进Canvas就会碰撞检测)
解决如下:
射线与UI碰撞的原理如下:
检测自带的碰撞体与刚体如下:
效果如下:
8、射线触发UI播放对于的视频
9、创建LodingPageUI
效果如下:
10、完成过山车场景
VR设画面如下:
10.1、车到达终点播放声音
如下图:
11、托马斯场景泪水过山车
VR场景如下:
开发相关脚本
StartPage 脚本
实现的功能:开始结束按钮的相关逻辑
usingUnityEngine; usingUnityEngine.UI; usingUnityEngine.SceneManagement; publicclassStartPage : MonoBehaviour { //结束按钮privateButtonstartBut; //退出按钮privateButtonexitBut; privatevoidAwake() { //获取相关组件startBut=transform.Find("StartBut").GetComponent<Button>(); exitBut=transform.Find("EquitBut").GetComponent<Button>(); } privatevoidStart() { //开始按钮绑定相关事件startBut.onClick.AddListener(() => { SceneManager.LoadScene("Scene2"); }); //结束按钮绑定相关事件exitBut.onClick.AddListener(() => { Application.Quit(); }); } }