Unity使用暴风魔镜VR游戏开发

@VR简介


虚拟现实VR(Virtual Reality)和增强现实AR(Argument Reality)的概念其实在很多年前就已经出现,2015年下半年开始变得火热,在各大媒体圈子中频繁出现,而今年2016年成为VR元年,像Facebook、Sony、HTC、Google等行业巨头都在虚拟现实领域推出自己的硬件设备或者专门成立虚拟现实部门做出很大的投入。


虚拟现实首先在人机交互上发生了跨越性的改变,一方面使用遥控手柄代替传统键盘鼠标等输入设备,跟踪玩家头部,玩家可以通过头部运动自然的以自由视角观察整个虚拟世界,能够720全视角观看周边环境,而在此之前,像观看电影屏幕时,120度为最佳视角范围,电影屏幕只是现实世界的一部分小视角,而虚拟现实技术强调的是玩家的“浸入感”,这也是评估VR设备质量的最重要指标,眩晕感、与现实世界的差异感都是VR设备努力避免的缺陷和努力改进之处。


目前虽然VR话题成为热点,相关技术飞速发展,但其面临的挑战十分巨大,几大公司研发的VR头盔普遍很笨重,需要大量的线缆连接,移动性差,同时价格昂贵,短时间难以推广开来。另一方面,像国内的低端VR设备,如“暴风魔镜”,利用手机屏幕做显示设备,移动性好,设备轻便,价格便宜,但其实现的原理实际上是将手机屏幕分成两部分,即牺牲一半的手机分辨率,造成实际体验中颗粒感强,“浸入感”也差,同时受帧率等因素影响眩晕感、眼睛不适感都很强,难以满足人们的期望。



@暴风魔镜开发流程


VR设备中成本最低的属国内的暴风魔镜,最新的暴风魔镜4代仅售199元人民币,其世界第一的VR设备销量和其知名度主要是因为其体型轻便、价格便宜,成为很多游戏玩家的掌上“玩具”。


暴风魔镜为开发者提供了SDK和示例Demo,使开发者可迅速将暴风魔镜加入到游戏工程中作为VR输入交互设备,暴风魔镜支持的游戏引擎为Unity3d和UnrealEngine4,官方提供的开发文档介绍了魔镜设备的开发方法,支付SDK的接入以及参数的回调、工程的配置等等。另外官方提供了暴风魔镜游戏应用发布平台,注册开发者帐号并进行个人认证或企业认证之后便可以提交应用,审核通过便可将应用进行发布以及获取利润。


这里使用暴风魔镜SDK开发一个场景游戏Demo,实现角色在场景中使用手柄控制自由走动,确认按钮人物跳跃,以及跟踪头部运动以720度自由视角观察场景和天空,并将Unity工程导出Xcode工程,进行相关配置后运行在iPhone真机设备上,使用暴风魔镜进行体验。



一、使用暴风魔镜SDK实现Demo中第三人称角色控制自由走动和自由视角的原理过程并打包在iPhone上运行:


         


可以直接改装已有的第三人称角色Demo也可以按照如下方式自行构建:

1.新建一个Unity工程,导入MojingSDK For iOS AndroidUnity暴风魔镜SDK包;

2.创建一个Scene场景,场景中导入一个地形,设置好光源以及背景音乐等;

3.导入一个人物角色模型,绑定骨骼,设置好状态机人物动画,动画主要有休息、前进、跳跃,角色控制器实现上下左右控制人物前进、左转、右转、转身,确认键控制人物跳跃。SDK提供的Demo中MojingThirdCharacterController预设已经实现了上面的功能以及监听手机陀螺仪事件跟踪用户头部运动实现自由视角;

4.设置好角色模型后要将场景中的MainCamera替换为MojingMain预设摄像头,实际上是将左右两个摄像头绑定在一起,将屏幕分成左右两部分;

5.另外加入IntegrateInputManager跨平台交互预设和Overlay聚焦预设,IntegrateInputManager用于获取手柄的按键事件,可以上下左右切换按钮,按确认键选中触发按钮;Overlay预设组件实现场景中心的GazePointer射线准星,用于聚焦UI按钮,聚焦按钮后点击确认键可以触发按钮点击事件;

完成以上步骤后运行Unity工程Game场景中出现两个摄像头视角的场景,键盘方向键可控制人物走动,但自由视角需要在真机上结合暴风魔镜进行测试;

6.使用Unity打包前需要修改Player Setting设置,Graphic APIs修改为OpenGLES2和OpenGLES3,Tartget SDK可以选择Xcode工程使用真机调试还是模拟器调试,这里选择Device SDK真机调试;

7.打出Xcode工程之后需要在工程中添加libz.tbdlibsqlite3.tbd库:


@另外真机运行可能会出现如下现象崩溃,解决办法在下面的文章中:

http://blog.csdn.net/cordova/article/details/51286551




二、暴风手柄输入按键的适配与获取(可以单独作为游戏输入设备使用):




使用手柄的输入事件需要先将IntergrateInputManager预设添加到场景中,然后在脚本中可以直接像Unity中Input.GetButtonDown(KeyCode)类似的方法获取按键事件,SDK中已经进行了键值的适配,适配在脚本中可以找到:



获取事件的脚本中需要引入:using MojingSample.CrossPlatformInput;

然后在Update周期函数中进行时间判断,比如获取按键按下:if(CrossPlatformInputManager.GetButtonDown("OK")){ }

实例脚本如下:

//
//MojingInput.cs
//
// Created by [JiangXinhou]
//
// Copyright jiangxinhou@outlook.com (http://blog.csdn.net/cordova)
using UnityEngine;
using System.Collections;
using MojingSample.CrossPlatformInput;//引入暴风魔镜跨平台输入类库public class MojingInput : MonoBehaviour {// Update is called once per framevoid Update () {if (CrossPlatformInputManager.GetButtonDown ("LEFT")) {//十字键左键按下}if (CrossPlatformInputManager.GetButtonDown ("RIGHT")) {//十字键右键按下}if (CrossPlatformInputManager.GetButtonDown ("UP")) {//十字键上键按下}if (CrossPlatformInputManager.GetButtonDown ("DOWN")) {//十字键下键按下}if (CrossPlatformInputManager.GetButtonUp ("OK")) {//手柄OK键抬起}if (CrossPlatformInputManager.GetButtonUp ("C")) {//手柄返回键抬起}if (CrossPlatformInputManager.GetButtonUp ("MENU")) {//手柄菜单键抬起}if (CrossPlatformInputManager.GetButtonUp ("CENTER")) {//十字键中心抬起}//获取手柄摇杆水平摆动值float x = CrossPlatformInputManager.GetAxis("Vertical");//获取手柄摇杆竖直摆动值float y = CrossPlatformInputManager.GetAxis("Horizontal");}
}

@目前工作暂时不涉及VR相关,不能更新了~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/252911.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

树莓派魔镜MagicMirror —— 7 安装MagicMirror

本系列文章仅做作业做的记录! 树莓派魔镜MagicMirror: 树莓派魔镜MagicMirror —— 1 前期准备工作 树莓派魔镜MagicMirror —— 2 烧写系统卡 树莓派魔镜MagicMirror —— 3 HDMI连接显示器 树莓派魔镜MagicMirror —— 4 系统安装与配置 树莓派魔…

国王的魔镜|题解

国王的魔镜 题目 题目描述 国王有一个魔镜,可以把任何接触镜面的东西变成原来的两倍——只是,因为是镜子嘛,增加的那部分是反的。 比如一条项链,我们用AB来表示,不同的字母表示不同颜色的珍珠。如果把B端接触镜面的话…

智能魔镜是什么

有一面魔镜,是无数人的梦想,它会告诉你穿的美不美,它会向你推荐更加适合的裤子和颜色,它会帮你比较哪套衣服更适合今天的约会,最后,他会说,你是这个世界上最美的女人。 魔镜,魔镜&am…

魔镜魔镜告诉我,如何挑选靠谱的硬件方案!

随着传统健身房半胁迫顾客进行数万元的预售、办卡后,分分钟遁地跑路的新闻已经在大家心中留下了深深的烙印,再加上良莠不齐的教练、器材质量、永远无法抢到的健身课、以及办卡之后就被“打入冷宫”……可真是苦了每一个无处安放的运动灵魂啊!…

python xlrd Excel xlsx file; not support

之前写的自动化UI测试的代码,转到另外一台机器上执行时,使用xlrd解析文件这一块一直报错,报错内容如下图一所示: 打开cmd,输入pip list查看xlrd的版本号,可以看到xlrd的版本为2.0.1,2.0.1版本只…

python之xlrd使用整理

Xlrd 1.简述:2.xlrd模块的基本操作2.1打开excel文件获取book对象2.2获取xlrd.book.Book 对象中的所有sheet名称2.3获取xlrd.book.Book对象中的所有sheet对象2.4判断xlrd.book.Book对象中某个sheet对象是否导入 3.sheet对象的基本操作3.1行操作①获取所有行数②获取某…

python xlrd_python学习之xlrd的使用

标签: 最近想整一个用Excel表格管理测试用例的自动化框架,因此重新学习了下xlrd,用这个模块读取Excel表格中的数据 一、安装xlrd 到python官网下载http://pypi.python.org/pypi/xlrd,下载后解压,进入解压的目录&…

xlrd

xlrd是Python语言中,读取excel的扩展工具 先建一个excel文件,可以使用相对路径或绝对路径 使用时需要先import xlrd r应该是read的意思 注意row_values()和col_values()的参数

周末开心下

收集了一些有趣的神图,周末开心下。 微信表示很尴尬 和杠精吵架 互联网公司都爱用动物起名? 炒股的秘密 这个文案可以 来都来了 为什么十几年前没有充电宝,诺基亚一天下来耗电1% 现在就差16亿了 谁再让你拼多多砍价, 先填一下这个…

祝大家周末快乐

今天是周末,这个星期过得好累呀,又是搬家,又是加班的,明天终于可以睡懒觉了!!祝大家周末快乐!

周末总结啦

今天是2022年10月22号,又是一个星期六,距离上次的第一篇博客已经有几天了。今天来总结总结这几天的学习内容。 1、源码,反码,补码的关系——正数的三码归一;负数的反码等于源码除了符号位,其余位全部取反&a…

周末到了~周末愉快哦

Finally,Friday is come,Cool 周末到了就是爽啊,而且是不用加班的周末哦,祝自己快乐,也祝你快乐! 昨天晚上看了 意大利 VS 捷克 的比赛,可真悬呐。意大利去年世界杯止步小组赛,今年…

s8 android调用相机,教你如何在安卓手机上使用谷歌 pixel相机

谷歌pixel手机的拍照效果一直被人称赞,除了有着彪悍的硬件外,其自身的相机算法也是有着相当强大的作用,今天我们就找到了一款这样的软件,可以将谷歌pixel的相机移植到安卓手机上,已达到提到相机拍照的效果,…

s8计算机功能在哪里,三星Galaxy S8新功能曝光,手机直接当电脑用!

原标题:三星Galaxy S8新功能曝光,手机直接当电脑用! 每时每刻「报点」你想要的!Hello 大家好!我是龙二_VD 在Windows 10上有一项名为Continuum功能,相信大家没用过也都听说过,简单来说就是将手机…

三星s8是否支持html,真正的全面屏!国行三星S8终于支持导航栏隐藏

自从三星发布了Galaxy S8之后,就掀起来一股热潮。我们暂且不看 外观设计和性能配置,光凭那超高的全面屏设计,就足够让用户们为之追捧。毕竟国内手机市场中的智能手机已经逐渐的趋于同质化,不是我像你,就是你像我。唯一…

s8 android 8.0变化,等待很长时间!三星S8系列手机现在可以升级到Android 8.0系统的稳定版本!...

Android 8.0系统正式发布已经过去了半年,但是由于支离破碎,大多数用户仍然无法升级到最新的Android系统. 对于三星用户来说更是如此. 即使在2月,他们仍然没有收到Android 8.0的推送更新. 但是对于三星S8用户而言三星手机怎么升级最新版本&…

三星s8怎么分屏操作_日渐加快的生活节奏 让三星Galaxy Z Fold2 5G帮你轻松应对

(原标题:日渐加快的生活节奏 让三星Galaxy Z Fold2 5G帮你轻松应对) 这两年,“丧文化”成为了一种特定时期的文化现象。在996的工作与家庭生活间来回穿梭,在老板日常催促的Deadline前冲锋陷阵……日渐加快的生活节奏,让我们不得不…

三星s8怎么分屏操作_一心三用 三星Galaxy Z Fold2 5G成多任务处理大师_

2020年10月23日 11:15 作者:黄页 编辑:黄页 这两年,“丧文化”成为了一种特定时期的文化现象。在996的工作与家庭生活间来回穿梭,在老板日常催促的Deadline前冲锋陷阵……日渐加快的生活节奏,让我们不得不抓紧时间一心…

三星s8怎么分屏操作_一心三用 三星Galaxy Z Fold2 5G成多任务处理大师-三星 ——快科技(驱动之家旗下媒体)-...

这两年,“丧文化”成为了一种特定时期的文化现象。在996的工作与家庭生活间来回穿梭,在老板日常催促的Deadline前冲锋陷阵……日渐加快的生活节奏,让我们不得不抓紧时间一心多用。可以说,多任务处理已成为日常生活、工作的真实写照…

三星s8怎么分屏操作_三星Galaxy Z Fold2帮你应对快节奏生活

这两年,“丧文化”成为了一种特定时期的文化现象。在996的工作与家庭生活间来回穿梭,在老板日常催促的Deadline前冲锋陷阵……日渐加快的生活节奏,让我们不得不抓紧时间一心多用。可以说,多任务处理已成为日常生活、工作的真实写照…