加入收藏 | 设为首页 | 会员中心 | 我要投稿 应用网_丽江站长网 (http://www.0888zz.com/)- 科技、建站、数据工具、云上网络、机器学习!
当前位置: 首页 > 综合聚焦 > 沙龙聚会 > 聚会 > 正文

【VR游戏开发干货】VR教程如何创建一个VR项目

发布时间:2016-03-24 07:54:15 所属栏目:聚会 来源:新浪游戏
导读:为了准备好学习使用Unity开发VR应用,我们首先要检查下自己的电脑硬件和软件配置是否满足要求。简单来说,显卡要NVIDIA GTX970或AMD290以上,CPU要Intel i5-459以上,内存8

北京时间2016年1月7日凌晨,Oculus正式开放对首款消费版Rift产品CV1的预订。599刀的价格让很多VR粉丝心头一紧,不过想想第一代iPhone的价格也是这样,只能期待后续的版本降价了。

筑基

为了准备好学习使用Unity开发VR应用,我们首先要检查下自己的电脑硬件和软件配置是否满足要求。简单来说,显卡要NVIDIA GTX970或AMD290以上,CPU要Intel i5-459以上,内存8GB以上,要有两个USB3.0接口,一个USB2.0接口,一个HDMI 1.3接口。

操作系统比较坑爹,不支持Mac,也不支持Linux。支持Win7,Win8,Win10。

当然,还要把自己的显卡驱动升级到最新版本。

Oculus官方的检测地址:

http://oculus.us5.list-manage.com/track/click?u=88dbd06829e35d5cbf84bbc2e&id=b436d0da47&e=86f0296884

一旦完成了这种烧钱的工作,就该安装Unity了。注意在打开Unity前要把DK2连接好并开启。 在继续之前,打开Oculus Configuration Utility应用,并检查Demo Scene可以正常运行。注意在运行Demo Scene之前看可能需要在Oculus Configuration Utility中设置一个新用户。

创建第一个VR项目

接下来我们将使用Unity创建一个简单的VR项目demo,其效果是在VR头盔中观察一个立方体。如果你想研究更多VR示例,不妨下载我们在上一篇教程中提到的VR示例项目(Asset Store:https://www.assetstore.unity3d.com/en/#!/content/51519)。

Step 1

VR教程 VR项目 如何创建VR项目 怎么开发VR游戏

打开Unity,创建一个新的空项目。

说明一下,我当前用的Unity版本是5.3.1f1,可能你看到这篇教程的时候又已经升级换代了。

Step 2

在Unity的菜单中选择Fiel- Build Settings,并选中PC,Mac& Linux Standalone。

VR教程 VR项目 如何创建VR项目 怎么开发VR游戏

Step 3

在场景中创建一个新的立方体,从菜单中选择Game Object – 3D Object -Cube ,通过Translate工具把立方体放到默认的Main Camera 前面,类似下面。

VR教程 VR项目 如何创建VR项目 怎么开发VR游戏

Step 4

保存界面(File- Save Scene,或是使用快捷键)。

Step 5

在菜单中选择Edit- Project Settings – Player,在”Other Settings“部分勾选”Virtual Reality Supported”

VR教程 VR项目 如何创建VR项目 怎么开发VR游戏

Step 6

点击Unity界面上的Play按钮进入Play模式。

如果之前的设置没有问题,现在你应该可以通过DK2看到这个场景,四处看看,Unity中的摄像机将自动根据DK2的位置和旋转变化反应。

出错了怎么办?

如果你没有在DK2中看到期望的场景,那么检查以下的事项:

1、确保你在打开Unity项目前就已经把DK2接好并且开启了;

2、打开Oculus自带的Oculus Configuration Utility,看看Demo Scene是不是可以正常运作;

3、更新你的显卡驱动到最新版本;

4、确保你在电脑上装了最新的Oculus Runtime 0.8,或更高版本;

当然,如果还是有问题,可以到论坛里面参与讨论。(Virtual Reality:http://forum.unity3d.com/forums/virtual-reality.80/)

关于VR开发的一些有用信息:

虽然VR应用开发和标准Unity应用开发很相似,不过还是有些区别需要注意的。

1、编辑器中显示的帧速(Frame rate)

当你通过编辑器查看项目时,注意体验上可能有些延迟,因为电脑需要将同样的内容渲染两次。所以在实际测试项目的时候,最好创建一个可执行版本,在测试设备上实际体验。

2、摄像机的移动

注意,我们不能在Unity中直接移动VR摄像机。如果你希望调整摄像机的位置和旋转,需要确保将它设置为其它游戏物体GameObject的子物体,然后通过所依附的物体进行移动。

VR教程 VR项目 如何创建VR项目 怎么开发VR游戏

关于这一点,可以查看VR Samples项目中的Flyer和Maze场景。

3、相机节点

左眼和右眼的摄像机并不是由Unity创建的。如果你在开发中需要获取这些节点的位置,则必须使用InputTracking类。

如果你想要获取场景中眼睛的不同位置(比如测试时),请使用下面的示例脚本,并将其attach到摄像机上。

C#脚本

using UnityEngine;

using UnityEngine.VR;

public class UpdateEyeAnchors : MonoBehaviour

{

GameObject[] eyes = new GameObject[2];

string[] eyeAnchorNames ={ “LeftEyeAnchor”, “RightEyeAnchor” };void Update()

{

for (int i = 0; i < 2; ++i)

{

// If the eye anchor is no longer a child of us, don’t use it

if (eyes[i] != null && eyes[i]。transform.parent != transform)

{

eyes[i] = null;

}

// If we don’t have an eye anchor, try to find one or create one

if (eyes[i] == null)

{

Transform t = transform.Find(eyeAnchorNames[i]);

if (t)

eyes[i] = t.gameObject;

if (eyes[i] == null)

{

eyes[i] = new GameObject(eyeAnchorNames[i]);

eyes[i]。transform.parent = gameObject.transform;

}

}

// Update the eye transform

eyes[i]。transform.localPosition = InputTracking.GetLocalPosition((VRNode)i);

eyes[i]。transform.localRotation = InputTracking.GetLocalRotation((VRNode)i);

}

}

}

4、VR中的图像效果(Image Effect)

在VR项目中使用众多图像效果是很奢侈的事情。考虑到你需要两次渲染同一个场景(每只眼睛一次),因此很多当前经常使用的图像效果对VR应用来说会很浪费,会严重影响游戏的运行帧速。

(编辑:应用网_丽江站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

推荐文章
    热点阅读