这是一个谷歌的插件:

GoogleVRForUnity_.unitypackage谷歌插件下载地址 开始制作最简单的 VR 盒子

unity vr实现切水果 unity做简易vr_vr


导入 GoogleVRForUnity_.unitypackage

将项目的平台设置为 Android 平台:

unity vr实现切水果 unity做简易vr_unity vr实现切水果_02


在项目中添加 vr sdk, 选中Edit/Project Setting/Player/XR Settings/Virtual Realty Supported,点击加号,在弹出的列表中,选择Cardboard:

unity vr实现切水果 unity做简易vr_unity vr实现切水果_03


unity vr实现切水果 unity做简易vr_Game_04


并且在 Other Settings/Minimum API Level 中选择 Android 4.4 ‘KitKat’ (API level 19) 或者比它更高的:

unity vr实现切水果 unity做简易vr_Game_05


项目的已经设置完毕。

此时我们的gvr-cardboard-test项目是一个空项目,如果现在就把它打包,在手机上运行的话:

unity vr实现切水果 unity做简易vr_Game_06


你会发现,此时屏幕已经分屏了,可以在盒子里面看了:

unity vr实现切水果 unity做简易vr_unity vr实现切水果_07


我们回到项目中,此时运行 Editor 的话,Game 窗口中什么也不会动,很不方便,我们加点东西可以在 Game 中直接调试程序(, Gvr… 的预制体可以在 Assets/GoogleVR/Prefabs 中找到。):

添加一个 Cube 到项目中,并为其添加一个 EventTrigger。

添加一个名为 player 的 GameObject,把主摄像头挂到它下面成为 player 的子对象,并在主摄像头上添加GvrPointerPhysicsRaycaster脚本。

主摄像头下添加一个 GvrReticlePointer 作为子对象

Player 下添加一个 GvrControllerPonter 作为子对象,它作为主摄像头的兄弟对象存在。

项目中在添加 GvrEventSystem、GvrEditorEmulator、GvrControllerMain,看名字就知道这些是干嘛的是吧:Gvr 的事件系统,Editor 的模拟器,Gvr 的控制入口。

把主摄像头的位置改为 0 0 0,把 Clipping Planes 改为 0.03。

将 Cube 的位置设置一下,比如 位置为 1 0 2,旋转的角度嘛,就改为 45 45 0。

unity vr实现切水果 unity做简易vr_vr_08


此时我们运行 Editor,按住 option/alt 来移动鼠标的话,Game 窗口的行为将模拟头部的运动,你也可以按住control,再移动鼠标试试看:

unity vr实现切水果 unity做简易vr_Android_09


我们注意到,我们的视线指针,也就是那个圆圈,当它移动到 Cube 上就会变大,移开则变成一个小白点:

unity vr实现切水果 unity做简易vr_c#_10


它是白色的,可以修改一下颜色,让它变得更显眼些:选中GvrReticlePointer,在着色器的面板上修改下颜色,比如改成红色的:

unity vr实现切水果 unity做简易vr_c#_11


再次运行:

unity vr实现切水果 unity做简易vr_Android_12


添加凝视事件

我们为 Cube 添加一些凝视事件,也就是视线进入,视线离开的事件;创建个脚本CubeController,并挂着 Cube 身上,代码如下

using UnityEngine;
public class CubeController : MonoBehaviour
{
    public void SetGazedAt(bool gazedAt) =>             GetComponent<Renderer>().material.color = gazedAt ? Color.blue : Color.black;
}

在 Cube 的Event Trigger 中 点Add New Event Type,添加 Pointer Enter,当然选中 Cube 这个对象,把刚写的 SetGazedAt 函数选上,并打上对勾;同样的再添加个 Pointer Exit 事件,这次不要打对勾了:

unity vr实现切水果 unity做简易vr_c#_13


运行与测试

unity vr实现切水果 unity做简易vr_Game_14


unity vr实现切水果 unity做简易vr_c#_15


unity vr实现切水果 unity做简易vr_Android_16


发布到手机并测试

unity vr实现切水果 unity做简易vr_vr_17


unity vr实现切水果 unity做简易vr_Game_18


自己有模型的同学们可以添加自己喜欢的模型喔.