使用Unity开发GearVR应用

    上一章我们介绍了如何运用Unity3D开发Oculus Rift应用,当然,这个便宜且强大的游戏引擎也可以用于GearVR的应用开发,这时我们需要用到Oculus Mobile SDK(移动端SDK)。

配置Unity开发环境

    之间我们以及下载好了Oculus Mobile SDK,并且配置好了安卓环境,同时,我们生成了一个签名文件,现在我们可以利用Oculus Mobile SDK中的Unity开发包进行开发了。我们先来建立一个空项目,启动Unity3D,然后选择File->New Project...,将项目名命为UnityGearVRTest。现在项目已经创建成功了,接着我们来导入SDK然后构建一个简单的应用。

    如图4-3所示,我们导入Oculus Mobile SDK中的UnityIntegration.unitypackage开发包,导入成功以后我们可以在Assets面板中发现多了OVR和Plugins文件夹。很好,这样我们就可以开始开发GearVR应用了。
 
图4-3

一个简单的例子

    一旦你导入了开发包,项目中就已经自带一个简单的例子,下面只需要简单的几步就可以让这个例子运行在你的手机上。图4-4为这个Demo在我的手机(Note4)上运行的截图:
 
图4-4
    下面我们来亲手构建一下这个例子吧!

    选择Assets->OVR->Scenes,其中有一个Cubes的场景,双击这个场景打开,然后你就可以在编辑器中看见这个场景,点击运行按钮进行预览。

    为了构建一个可以运行在手机上的app,我们需要修改一些设置。首先,通过菜单File->Build Settings打开Build Settings对话框,然后进行图4-5所示的设置:
 
图4-5
    注意一下,贴图压缩采用ETC2(GLES3.0)方式。然后点击Player Settings...按钮,在Inspector面板中将Other Settings选项卡中的Rendering Path设置为Forward方式,勾选上Multithreaded Rendering复选框,最后将Graphics Level设置为OpenGL ES 2.0。

    快完成了,现在我们还需要进行一些其他的设置。在Edit->Project Settings选择Time和Quality,然后在切换出的Inspector中将Maximum Allowed Timestep设置为0.0166666(即60FPS),将Pixel Light Count设置为0,将V Sync Count设置为Don’t Sync。

    最后,我们来进行签名文件导入。将之前生成的签名文件放在Assets->Plugins->android->assets中,可以复制粘贴过来,也可以直接拖进来。导入完成以后,点击Build Settings对话框上的Build按钮,它会弹出一个保存对话框,你随便取个名字然后保存即可,构建完成以后会产生一个.apk安装包,将其安装在你的手机上就可以运行啦!

《VR入门系列教程》之21---使用Unity开发GearVR应用的更多相关文章

  1. 《VR入门系列教程》之14---面向大众的Unity3D

    大众化的游戏引擎--Unity3D     并不是所有VR应用都是游戏,然而现在做VR开发的几乎都会用专业游戏引擎来做,因为游戏引擎既满足了一个引擎的要求又可以方便地制作出高品质的VR应用.一个游戏引 ...

  2. 《VR入门系列教程》之20---使用Oculus移动端SDK

    使用Oculus移动端SDK     在基于安卓系统的GearVR上开发应用需要用到Oculus的移动端SDK,下面的网址可以下载SDK:http://developer.oculus.com     ...

  3. 《VR入门系列教程》之15---配置Oculus的开发环境

    安装Oculus SDK     在使用类似Unity3D之类的引擎开发Oculus Rift应用之前,你必须先安装Oculus的SDK,在Oculus的官网上可以下载:http://develope ...

  4. 《VR入门系列教程》之8---GearVR

    高端移动虚拟现实设备---三星GearVR     Oculus Rift也许是虚拟现实头显的典范,但是它还是存在许多问题.首先,它需要基于一个具有强大图形计算能力的计算机,而使用一般的笔记本.苹果A ...

  5. 《VR入门系列教程》之18---Oculus代码剖析

    代码剖析 原文作者:Tony Parisi     那么,Unity究竟是如何支持Oculus VR运行的?首先,我们来看看Unity场景是如何构建的.在Unity集成开发包中有一个相机预设体,这个预 ...

  6. 《VR入门系列教程》之17---发布第一个应用

    发布运行     Unity可以支持多种目标平台的发布,包括:桌面端.Web端.移动端.游戏主机端.     发布运行之前的Cubes场景至桌面端,我们先选择File->Build Settin ...

  7. 《VR入门系列教程》之16---第一个OculusVR应用

    第一个VR应用    之前我们已经将Oculus的开发包导入到空工程中了,现在我们来构建第一个桌面VR的示例.开发包中已经有一个示例场景,只需要几步就可以让这个场景运行起来.我们将要构建的这个Demo ...

  8. 《VR入门系列教程》之10---3D图形学初识

    第三章 基于Oculus Rift开发桌面端VR应用     接下来的几个章节中我们会进行VR开发的实际操练,本章就从Oculus Rift开发开始,我们会介绍如何开发一个桌面端的VR应用.虽然只是介 ...

  9. 《VR入门系列教程》之6---VR硬件介绍及DK1

    第二章 VR硬件介绍     本章主要介绍当前比较流行的消费版VR设备,包括VR头显以及应用运行的PC和手机平台.     即使是在这工业高速发展的时代,一些大厂(比如Facebook的Oculus ...

随机推荐

  1. spring通过注解方式依赖注入原理 (私有成员属性如何注入)

    一.spring如何创建依赖的对象 用过spring的都知道我们在dao.service层加上@repository.@Service就能将这两个对象交给spring管理,在下次使用的时候使用@res ...

  2. HTML连载7-表单练习

    昨天因为晚上有事情,未更新,但是今天中午发也不晚,因为是同一天只是时间早晚而已,因此今日傍晚还将更新一次,废话不多说. 1.表单的综合练习,我们要创建一个综合的注册页面.运用到我们前面所学的所有知识. ...

  3. Node.js实现PC端类微信聊天软件(二)

    Github StackChat 用到的React-Router React-Router是React路由的解决方案之一,也可以使用别的库 安装 npm install react-router -- ...

  4. JS中的闭包 详细解析大全(面试避必考题)

    JS中闭包的介绍   闭包的概念 闭包就是能够读取其他函数内部变量的函数. 一.变量的作用域 要理解闭包,首先必须理解Javascript特殊的变量作用域. 变量的作用域无非就是两种:全局变量和局部变 ...

  5. octavia的实现与分析(一)·openstack负载均衡的现状与发展以及lvs,Nginx,Haproxy三种负载均衡机制的基本架构和对比

    [负载均衡] 大量用户发起请求的情况下,服务器负载过高,导致部分请求无法被响应或者及时响应. 负载均衡根据一定的算法将请求分发到不同的后端,保证所有的请求都可以被正常的下发并返回. [主流实现-LVS ...

  6. Dungeon Master POJ - 2251(bfs)

    对于3维的,可以用结构体来储存,详细见下列代码. 样例可以过,不过能不能ac还不知道,疑似poj炸了, #include<iostream> #include<cstdio> ...

  7. mysql中TINYINT的取值范围

    在MySQL的数据类型中,Tinyint的取值范围是:带符号的范围是-128到127.无符号的范围是0到255(见官方<MySQL 5.1参考手册>http://dev.mysql.com ...

  8. CentOS 常用命令合集

    tail -f ../logs/catalina.out    在Tomcat中的bin目录下查看Tomcat日志 ps -ef|grep java                 查看Tomcat服 ...

  9. C++智能指针的几种用法

    auto在c++11中已经弃用. 一.auto_ptr模板 auto_ptr与shared_ptr.unique_ptr都定义了类似指针的对象,可以将new到的地址赋给这一对象,当智能指针过期时,析构 ...

  10. js实现使用文件流下载csv文件

    1. 理解Blob对象 在Blob对象出现之前,在javascript中一直没有比较好的方式处理二进制文件,自从有了Blob了,我们就可以使用它操作二进制数据了.现在我们开始来理解下Bolb对象及它的 ...