首页 > 编程知识 正文

unity vr教程,unity怎么创建人物

时间:2023-05-05 00:20:54 阅读:116820 作者:4218

为了准备使用Unity开发VR APP应用程序,首先要检查自己电脑的硬件和软件配置是否满足要求。 简单来说,显卡需要NVIDIA GTX970或AMD290或更高版本,CPU需要Intel i5-459或更高版本,内存8GB或更高版本,两个USB3.0连接器,一个USB2.0连接器,一个HDMI 1.3连接器。 请注意,在打开Unity之前连接并打开DK2。 在继续之前,打开oculus configuration utility APP应用程序并验证Demo Scene是否正常工作。 注意在运行Demo Scene之前,可能需要在Oculus Configuration Utility中设置新用户。 创建第一个VR项目。 然后,使用Unity创建一个简单的VR项目demo。 其效果是在VR头盔中观察立方体。 如果您想考虑更多的VR示例,请下载上一个教程中介绍的VR示例项目“资产存储”。 step 01 :打开unity并创建新的空项目。 我现在使用的Unity版本是5.3.1f1 Step02。 从Unity菜单中选择文件构建设置,然后选择PC,MAC Linux标准

Step03 :在场景中创建新立方体,从菜单中选择Game Object - 3D Object -Cube,然后使用“Translate”工具将立方体放置在默认的主相机之前。 如下所示。

Step 04:保存你的场景。 从Step 05:前往“转至编辑项目设置播放器”以检查是否选中了“虚拟现实支持”。 下图:

step 06 :单击unity界面上的“播放”按钮进入播放模式。 如果以前的设置没有问题,现在应该可以在DK2上看到这一场景。 环顾四周,Unity相机会自动响应DK2的位置和旋转。

如果失误了怎么办?

如果没有看到DK2中的预期场景,请检查以下事项:

在打开Unity项目之前,请确保连接并打开了DK2。

打开Oculus附带的Oculus配置实用程序,查看Demo Scene是否正常工作

3 .更新你的显卡到最新版本

4 .确认电脑上安装了最新的Oculus Runtime 0.8以上版本。

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

VR APP开发和标准unity APP开发很相似,但有一些差异,需要注意。

1 .编辑器中显示的帧速率(帧速率)。

请注意,当jjdgb在编辑器中查看项目时,您的计算机需要渲染相同的内容两次,因此体验可能会有一些延迟。 因此,在实际测试项目时,建议您创建一个可执行版本,并在测试设备上进行实际体验。

2 .相机移动

请注意,无法在Unity中直接移动VR摄像头。 如果要调整摄影机的位置和旋转,必须将其设置为其他游戏对象GameObject的子对象,然后通过连接的对象移动。

对此,可以看到VR Samples项目中的Flyer和Maze场景。

3 .相机节点

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

如果要获取场景中眼睛的不同位置(例如在测试时),请使用以下示例脚本将它们附着到摄影机:

用户单元引擎; using UnityEngine.VR; publicclassupdateeyeanchors 3360 mono behaviour { game object [ ] eyes=new game object [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应用来说会很浪费,会严重影响游戏的运行帧速。

因为VR将用户的眼睛置入一个虚拟的空间,因此部分图像效果对VR来说没有任何意义。举例来说,深度视角、模糊效应和镜头光晕效果对VR来说没有任何意义,因为在现实世界中我们是看不到这些效果的。不过如果以后VR头戴设备可以支持眼动跟踪,那么深度视角可能会有意义。

不过有些效果还是可以考虑使用的:比如抗锯齿是有用的(特别是考虑到某些头戴设备的低分辨率),色彩分级也很有用(关于这一点可以查看这个链接:Color Grading with Unity and the Asset Store ),对有些游戏来说会有用。不过在使用任何效果之前,最好先在游戏中实际测试下有没有用。

Unity自身提供了很多图像效果(Assets-Import Package-Effects),此外Asset Store里面也提供了很多效果,比如Colorful,Chromatica,Amplify Color,还有更多。


5.Render Scale

根据VR互动应用场景的复杂度和所运行的硬件环境,你可能需要更改render scale设置。通过此项设置可以调整镜头校正前texel:pixel的比率,这样可以牺牲游戏性能来换取画面的清晰度。

通过使用以下代码可以改变render scale的设置:

using UnityEngine;using System.Collections;using UnityEngine.VR;namespace VRStandardAssets.Examples{ public class ExampleRenderScale : MonoBehaviour { [SerializeField] private float m_RenderScale = 1f; //The render scale. Higher numbers = better quality, but trades performance void Start () { VRSettings.renderScale = m_RenderScale; } }}


关于这项设置,可以参考我们的VR Samples,具体示例是Scenes/Examples/RenderScale场景。此外在MainMenu场景中也有该项设置的应用。

更改render scale的效果示例如下:

Unity的默认render scale是1.0,效果如下:


如果将render scale设置成1.5,可以看到显示效果更锐利:


接下来把renderscale设置成0.5,可以看到像素化很严重:


根据游戏场景的不同,可以考虑降低render scale来提升游戏运行性能,或者通过增加render scale的数值让画面效果更锐利,但会以牺牲游戏运行性能作为代价。

好了,看到这里,你应该知道如何在Unity项目中整合VR,如何设置游戏中摄像机的移动,以及和非VR游戏相比应该如何使用图像效果。


版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。