Unity 实战-元宇宙【Fps 集成到Pico VR设备】
2022-09-01 本文已影响0人
程序员阿兵
PICO 的 VR 解决方案包含了一个高度集成的头戴端和两个控制器,它们提供了以下核心元能力。
image.png
下面我们将 Unity 实战【Fps 枪击游戏-结合官方FPS案例 Microgame】
集成到pico VR 设备中。
Pico的开发者平台 对应的集成方式可以按文档一步步来
下面主要介绍一下对应的改动点 以及如何去关联手柄去控制游戏。
- 所有相机的视角 都需要依赖
pico
的 XR_Camera
image.png -
左右手柄自定义
image.png
为了更好控制手柄 我们需要基于XRController 去做扩展。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.XR;
using UnityEngine.XR.Interaction.Toolkit;
public class XrContrller : XRController
{
}
将左右手柄都关联XrContrller
image.png将 player 模型
托管到 对应Controller
下面,然后去管理对应左右XrController
这样手柄就能通过脚本去控制player
了
image.png
可以看一下具体脚本控制的逻辑
void Update()
{
bool rTriggerBtnTempState;
if (leftController.inputDevice.TryGetFeatureValue(UnityEngine.XR.CommonUsages.triggerButton, out rTriggerBtnTempState))
{
if (rTriggerBtnTempState != rTriggerBtnState)
{
if (rTriggerBtnTempState) {
StopCoroutine("RealoadBullet");
OpenFire();
}
rTriggerBtnState = rTriggerBtnTempState;
}
}
}
通过传人的leftController 以及rightController 然后根据对应API 去操控手柄。