前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Unity3D+VR的实现

Unity3D+VR的实现

作者头像
py3study
发布2020-01-14 15:32:29
5500
发布2020-01-14 15:32:29
举报
文章被收录于专栏:python3python3

针对CardBoard一类的眼镜用Unity3D开发VR内容。

1、创建VRCamera: 使用Dive插件,从DiveUnityDemo提取摄像机和有关的脚本并export出来。

2、对象选择: 视选模式:从眼睛发射一条射线,选择看到的对象。 手柄模式:蓝牙手柄上的按键来选择对象。

3、视选模式的实现: 视选:使用Raycast检测,RaycastHit返回碰撞到的物体信息。 private RaycastHit rayHitInfo; public Transform goPoint;//为射线发出点,是两个摄像机中间的一个点。 if (Physics.Raycast(goPoint.position, goPoint.forward, out rayHitInfo)) { Debug.Log("RaySelect: " + rayHitInfo.collider.gameObject.name); } 焦点:新建一个Plane,和Point放在同一个局部坐标系下,然后调整transform,使其放到视野中间,去选Mesh collider。 给焦点开发动画效果:Texture循环播放。 给视选设置一个停留时间:不是说看到某个物体就触发,而是盯着某个物体一定时间才触发。

4、手柄模式的实现: 检测手柄是否存在: if ((Input.GetJoystickNames().Length > 0) && (!Input.GetJoystickNames()[0].Equals(""))) { //手柄存在 } void Start () { InvokeRepeating("detect", 0, 5);//每隔5s调用一次detect函数,做检测手柄动作。 } 检测手柄按键: if (Input.GetKeyDown(KeyCode.Joystick1Button0)) { //手柄键1 } else if (Input.GetKeyDown(KeyCode.Joystick1Button1)) { //手柄键2 } //以此类推 设置并检测手柄摇杆: 设置摇杆通过在input里面增加axis的手柄,4个方向,要新增设置四个。 检测摇杆: if (Input.GetAxis("AxisName")) { //摇杆的一个方向 }

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-07-04 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档