添加VR插件
为了为您选择的平台创建VR游戏,我们需要下载几个插件。出于本教程的目的,我将向您展示如何上传到Android平台。要上传到iOS,您需要下载 Xcode。

现在让我们下载Unity的Google VR SDK插件。在本教程中,它是在1.110版本上。你可以在GitHub上找到它 。将所有文件解压缩并解压缩到新文件夹中。这有助于您整理文件。

此外,如果您还没有它,则可能需要Java SE Development Kit。按照Oracle网站上的说明进行操作。

注意:您可能还需要下载 Android SDK。

让我们创建一个项目
打开Unity来创建一个新项目。它会询问您是否要下载资产。我们下载环境包。

项目打开后,转到资产 > 导入包 > 自定义包 > 导入 用于Unity的Google VR S DK > 导入。

我们需要为VR平台准备我们的项目。我们需要告诉Unity我们正在为Android构建并启用场景VR。首先,转到File> Build 并选择Android。这也是选择La ndscape Left的好时机。然后单击底部的Switch Platform 并关闭窗口。

是时候启用VR设置了。如果您在执行上述操作之前尝试玩游戏,则会收到错误消息。转到“ 编辑”>“项目设置”>“播放器”,然后在“ XR设置”下的右侧,单击“ 虚拟现实支持”。

别忘了选择SDK。在本教程中,选择Cardboard(如上所示)。

我们的环境

最初,我们将使用GVR演示场景(如上所示)。在“ 项目”选项卡中打开资源,然后转到“ 场景”>“GVRDemo”。文件打开后,我们将改变环境。我们将删除层次结构中的以下对象:

DemoSceneManager

DemoInputManager

CubeRoom

立方体

地板画布

现在,我们将保持其他一切完整。我们将简要讨论为什么,正如GoogleSDK开发人员所解释的那样。

GvrControllerVisual为白日梦控制器提供视觉反馈。

GvrEditorEmulator在Unity编辑器中提供鼠标控制的头部跟踪仿真。

GVR控制器为玩家提供键盘输入。

让我们开始自己的环境吧。保存场景并转到GameObject添加地形。在Projects中,让我们选择一个草面并将其拖到场景中。要添加一些物质,让我们添加一些山丘。在地形下的层次结构中,让我们选择带有山丘和箭头朝上的按钮。现在选择一把刷子。替换使您的环境看起来真实是很好的。如果您的山丘太尖,请使用如下所示的平滑按钮。

提示:确保你的Terrain没有选择Gravity,否则它会飞走!

Unity资产商店对于开发人员来说是一个很好的资源,您可以在Assets下的项目中找到它。 我已经下载了两座建筑物。您可以在资产商店的免费过滤器下找到它们作为“废弃建筑物”。

提示:您始终可以将资源直接拖到层次结构中。

让我们开始吧
由于并非所有VR耳机都配有控制器,我们需要添加一个Autowalk代码,让用户自己走动。当你看一个物体时会发生一个运动。

一旦您对自己的环境感到满意,请点击“ 播放”,然后按住Alt键即可环顾世界。为了使我们的VR角色移动,我们需要添加一个脚本并在层次结构中更改播放器上的一些设置 。

首先要做的事情是:在层次结构中选择Player。让我们添加一个组件 > Capsule Collider 和一个 RigidBody。我们还需要冻结 X,ÿ,和¼的旋转的的刚体(如上图所示)。

现在是时候将我们的脚本添加到播放器了。将文件保存在Unity文件夹中,然后单击并将其拖动到项目中。现在添加一个组件>新脚本。键入Autowalk并显示脚本。您可能需要保存项目并刷新场景。

添加脚本后,它将为您提供配置它的选项。我们将需要添加一个速度的2,检查走路的时候触发(见下文)。

测试你的游戏
是时候在手机上测试游戏了。转到文件>构建设置> Android>构建和运行。您需要输入标识符(人们通常使用com.nameofyourgame)。如前所述,您需要拥有可免费使用的Android SDK。

更多unity2018的功能介绍请到paws3d爪爪学院查找。

在Unity中创建VR游戏的更多相关文章

  1. 在Unity中创建攻击Slot系统

    http://www.manew.com/thread-109310-1-1.html 马上注册,结交更多好友,享用更多功能,让你轻松玩转社区. 您需要 登录 才可以下载或查看,没有帐号?注册帐号  ...

  2. 在Unity中创建可远程加载的.unity3d包

    在一个Unity项目中,发布包本身不一定要包括所有的Asset(译为资产或组件),其它的部分可以单独发布为.unity3d,再由程序从本地/远程加载执行,这部分不在本文讨论范围.虽然Unity并没有直 ...

  3. Unity中创建二维码

    在网络上发现了一个可以把字符串转换成二维码的dll,但是我们要怎么使用他呢.不废话,直接进入主题. 用到的引用 using UnityEngine;using ZXing;using ZXing.Qr ...

  4. 使用UE4/Unity创建VR项目

    一.主要的步骤是说一下使用UE4,在此之前先说一下使用unity创建的VR项目 1.unity创建oculus rift dk2项目 在unity中创建一个简单的场景,让摄像机能看见场景中的物体,不对 ...

  5. Unity中通过深度优先算法和广度优先算法打印游戏物体名

    前言:又是一个月没写博客了,每次下班都懒得写,觉得浪费时间.... 深度优先搜索和广度优先搜索的定义,网络上已经说的很清楚了,我也是看了网上的才懂的,所以就不在这里赘述了.今天讲解的实例,主要是通过自 ...

  6. 【淡墨Unity3D Shader计划】一间 创建一个游戏场景 & 第一Shader写作

    本系列文章由@浅墨_毛星云 出品.转载请注明出处. 文章链接:http://blog.csdn.net/poem_qianmo/article/details/40723789 作者:毛星云(浅墨)  ...

  7. unity 中UGUI制作滚动条视图效果(按钮)

    1.在unity中创建一个Image作为滚动条视图的背景: 2.在Image下创建一个空物体,在空物体下创建unity自带的Scroll View组件: 3.对滑动条视图的子物体进行调整: 4.添加滚 ...

  8. 如何有效提升Unity Gear VR游戏性能

    http://www.vr186.com/vr_news/vr_technical_area/1093.html 好的,所以你决定用 Unity 来做一个 VR 游戏,并选定了三星 Gear vr 为 ...

  9. Unity中制作游戏的快照游戏支持玩家拍快照

    Unity中制作游戏的快照游戏支持玩家拍快照 有些游戏支持玩家“拍快照”,也就是将游戏的精彩瞬间以图片的形式记录下来的功能.这个功能比较有趣,而且以后的用途也会很广,为此本节打算介绍:截取矩形区域内游 ...

随机推荐

  1. Mac复制粘贴文本时默认使用无格式模式

    参考:How to Paste Everything as Plain Text 写文章的时候,用的最多的就是copy和paste了,可是现在Mac和Win默认都是会连格式一起复制,真是逆天,导致每次 ...

  2. Leetcode: Find And Replace in String

    To some string S, we will perform some replacement operations that replace groups of letters with ne ...

  3. 同时购入两台同款thinkpad笔记本电脑,分别使用同一账户激活office失败--------------解决方法(账户下有多个Office激活信息,重装后提示“许可证不正确或者最大激活次数”)

    如题所述,该问题曾多次与京东商城售后,京东thinkpad品牌售后,thinkpad售后等进行沟通,最后通过微软的电话激活才成功,不过在之后发现了这么一个帖子,应该是官方给出的,应该合理,没有实际验证 ...

  4. Java3d 案例程序

    今天偶尔翻出了很久以前写的java3d程序,很怀念曾经探索java3d解析.渲染ifc数据的日子 package com.vfsd.test0621; import java.applet.Apple ...

  5. 【LeetCode算法-26】Remove Duplicates from Sorted Array

    LeetCode第26题 Given a sorted array nums, remove the duplicates in-place such that each element appear ...

  6. Appium 退出和启动

    # 退出驱动driver.quit() # 退出当前应用driver.close_app() # 启动当前应用driver.launch_app() # 置于后台XX秒后恢复driver.backgr ...

  7. mysql8忘记秘密-重置密码步骤

    mysql8修改密码的方式有些许不同 1.配置无密码登录 修改/etc/my.cnf文件,在mysqld模块下添加 skip-grant-tables 2.重启mysql 3.mysql -uroot ...

  8. [LeetCode] 802. Find Eventual Safe States 找到最终的安全状态

    In a directed graph, we start at some node and every turn, walk along a directed edge of the graph.  ...

  9. logrotate 切割日志

    在工作中需要切割日志我们项目中选择的系统自带的logrotate,如需要其他需求需要自己在百度一下或者参考: https://www.cnblogs.com/kevingrace/p/6307298. ...

  10. 【Django单元测试方法】

    一.前言/准备 测Django的东西仅限于在MTV模型.哪些可以测?哪些不可以. 1.html里的东西不能测.①Html里的HTML代码大部分都是写死的②嵌套在html中的Django模板语言也不能测 ...