简单粗暴,一个插件让你无代码实现VR交互

开发环境steamVR2.0+unity2017.1.0f1
steamVR2.0下载地址
一、总体目标
Unity+HTC VIVE 开发:
1、场景漫游+摄像机自动漫游
2、启动动画+滚动条
3、对墙壁、地板进行纹理修改
4、对场景中的某个家具进行旋转、移动、删除、添加功能
5、灯的开启和关闭
6、电视的开启和关闭
7、音乐的开启和关闭
8、实时获取当前系统时间
9、动态天空盒
10、有样板菜单,进入另一个场景,能够整体查看,样板房可以旋转,放大缩小和复位,高亮显示客厅

1、场景的主体模型如下图所示

实现过程
项目的前期准备工作
1、新建一个项目
2、将steamVR插件导入导目中
3、将项目所需要的模型以及材质导入场景中去
4.2 项目各功能详细介绍:
(1)在场景中加入steamVR的插件如下图所示:

SteamVR中的player预制体自身带有碰撞体和移动脚本等还有手柄、头盔识别等插件。
(2)场景漫游
给地板复制一层,略高于原来的地板,在Hierachy面板拖入Teleporting组件,地板加入

即可实现场景漫游
(3)摄像机自动漫游,给另一个Camera自定义一个动画路径

需要自动漫游的时候,点击按钮,开启camrea的自动漫游,隐藏Player下的camera,漫游结束再开启


核心代码:

(4)启动动画
在Player setting设置一下:

运行打包好的exe文件,开始就是启动动画

进度条的实现,主要是利用异步加载多线程方法,
新建场景如下图设置:

核心代码:

实现:

(5)对墙壁.地板进行纹理修改

利用Button点击事件,button添加UI Element和box collider组件,如上图设置即可
对墙纹理修改:

对地板纹理修改:

(6)电视和音乐的开关
分别给电视和音响添加Video Player和Audio Source,然后添加视频和音乐

默认不勾选,然后按钮开关控制电视和音乐的开启和关闭

当手柄触碰开关按钮即可控制电视和音乐的开启和关闭。
(7)灯的开关
关灯

开灯

(8)1.可以控制物体的移动,比如拿起遥控器,在遥控器那里添加组件

2.花瓶的旋转
写一个脚本控制旋转,核心代码如下:

把脚本挂在物体上,用按钮控制,勾选事件即可
3.删除功能
删除场景中的花瓶,核心代码:

添加功能
可以生成一本书,核心代码:

(8)动态天空盒的功能
可以实现让天空盒转动,具有比较真实的效果,写脚本实现,核心代码:

(9)实时获取当前系统时间
核心代码:


(10)样板菜单,进入另一个场景,整体查看

1.有旋转功能,样板房添加之前写好的Rotate脚本,可控制x,y,z轴转动
2.有放大缩小功能,位置复位功能,核心代码:


3.客厅高亮功能,核心代码


通过这次虚拟现实开发技术的实习,学习了很多新知识,知道怎么实时获取当前系统的时间,利用脚本可以实现天空盒的动态运行,特别掌握了如何异步加载进度条切换场景.最大的收获是加强了我的VR开发技能 ,对SteamVR插件又有了一些很深的认识。当然实现这个系统也遇到了不少的问题,如果用Throwable组件拾取物体的话,物体必须是非静态的才可以,在写判断动画播放方法的时间,写在了update函数外,后面问了老师才知道,判断动画播放结束必须是要放在update函数里的,这样它才能不断的监听动画播放结束。

这样的VR交互简直不要太简单了。

基于unity+HTC VIVE的室内漫游交互(教你如何“无代码”VR交互)相关推荐

  1. 使用Unity+HTC VIVE做VR时如何创建用户体验较强的菜单

    该文章仅作为本人工作过程中的开发笔记,难免有不严谨不深刻的地方,适合刚入门Unity+HTC VIVE新手制作VR菜单时作为参考,望大神勿喷. 在使用Unity+HTC VIVE制作VR游戏或者严肃游 ...

  2. Unity HTC VIVE VR一体机基础操作

    Unity HTC VIVE VR一体机基础操作 VIVE Focus 触摸板 VIVE Focus 按键操作 VIVE Focus 碰撞触发 VIVE Focus 动态输出 VIVE Focus 指 ...

  3. 眼球追踪技术 Unity+ HTC vive Pro + DroolonF1 (二)

    本篇将如何开发,如果您喜欢请收藏.点赞.打赏~ 博主使用环境:Unity 2018.3.7.   Win 10 x64. HTC vive Pro demo下载:下载地址 1.新建Camera 2.V ...

  4. 眼球追踪技术 Unity+ HTC vive Pro + DroolonF1 (一)

    本篇博客主要讲开发前的配置,如安装配置问题. 开发前需要准备: 1.DroolonF1设备 2.SR_Runtime驱动 3.SRinipal SDK 4.Unity开发引擎 建议2017.3版本以上 ...

  5. unity HTC vive开发笔记一

    一.首先是介绍下HTC手柄. 1.菜单按钮 这个按键没有脚本控制 就是打开个HTC的开关键 2.触控板 即是pad  可触屏 可点击 可以相当于鼠标 和 触摸屏 3.系统按钮 4.状态指示灯 5.Mi ...

  6. Unity HTC VIVE Por 开发文档

    HTC VIVE Poe 开发文档 配置 在资源商店导入SteamVR插件和Vive Input Utility 将[CameraRig]和[SteamVR] 预制体拖入Hierarchy面板中. U ...

  7. unity HTC vive开发笔记二

    今天来介绍 HTC vive开发之操作GUI 也就是实现手柄对物体的点击 Step 1 安装好我们需要的两个插件之后 删除我们的mainCamera 加入 assets-steamvr-cameraR ...

  8. Unity +HTC VIVE 虚拟现实开发— 手柄控制

    <p>Hello 大家好,我是帅气的交换机,这是我人生中第一次写博客,但绝不是最后一次,哈哈,想想都好激动啊.</p><p>言归正传,写这篇文章的原因主要是因为现在 ...

  9. 眼球追踪技术 Unity+ HTC vive Pro + DroolonF1 (三)

    英伟达VRS,通过改变帧的不同区域的着色速率来提高渲染性能和质量. 下载SDK:Unity 应用商店>> Vive Foveated Rendering 导入插件:在摄像机上挂载ViveF ...

最新文章

  1. curl用法:获取网站的header头及状态码
  2. CTFshow php特性 web106
  3. wpf项目源代码_C# WPF开源控件库:MahApps.Metro
  4. 134. 加油站(贪心算法)
  5. boost::safe_numerics模块实现检测到的数据类型溢出的测试程序
  6. python自定义安装哪些不需要_【1】python模块:自定义模块的3种导入方式
  7. 深度学习之图像识别基础篇——神经元与感知机
  8. 新晋“网红”Cat1 是什么
  9. android 混淆方法名,android – 如何告诉Proguard混淆类名
  10. redis 命令 释放连接_Redis---gt;02
  11. 错误处理与调试[下]
  12. 汇编语言 第一单元 整理(补充)
  13. c 转易语言源码,易语言代码转HTML 测试(源码方式)
  14. android 把file资源转file,Android文件管理器选择文件,获得文件路径URI转File
  15. VMware vmdk文件打开方法
  16. IDEA 在hdfs中创建目录
  17. Mapper method 'comxx' has an unsupported return type
  18. Fiddler抓部分app时网络连接失败
  19. ORACLE:子查询
  20. 职业发展--优势和性格测试

热门文章

  1. 【git】忽略文件两种方式
  2. Navigation的简单使用
  3. 小时候java大富翁游戏有哪些_成就你的富翁梦!童年经典《大富翁》系列10款游戏玩到爽!...
  4. 本题要求编写程序,将一个给定的整数插到原本有序的整数序列中,使结果序列仍然有序
  5. RPC or noRPC,这是个问题
  6. 【网络协议】互联网协议入门(一)
  7. ​表面修饰阳离子磁性/表面螯合金属离子磁性二氧化硅微球/镱离子掺杂二氧化硅微球​
  8. C和C++语言的注释
  9. Win7系统下搭建NFS服务器
  10. pytorch dataload 出错:: invalid argument 0: Sizes of tensors must match except in dimension 0