Unity两种VR环境配置方法

方法一、通过OpenXR、XRTK设定普通3D场景到VR场景

21版的VR template就是通过以下方式实现

①Source Files:

ProjectSetting → XR Plugin Management → OpenXR → Interaction Profiles

→ Choice Divices And Profile

②Interaction toolkit:

PackageManager → OpenXR Plugin  +  XR Plugin Management

 + XR Interaction Toolkit(导入Samples)

③Samples Folder(配置文件):添加到预设Preset

Defult Continuous Move/turn

Defult Left/right controller

Defult Snap turn

Defult Input Action

设置可在Preset Manager中查看

④Hierarchy面板中

右键XR基本组件:

XR Origin(Action-based)(相比Orgin多了手柄等) → 生成XR Interaction Manager

→ XR Interaction Manager下挂载Input Action Manager脚本,将XRI Default Input Action拖拽到脚本Element处

XR Origin内容

Offset → Main Camera + LeftHand Controller + RightHand Controller → 可以看到所有挂载在该控制器下的脚本以及它所有的Reference

移动方法:

LocalMotion System

瞬移:包含LocalMotion System、Teleportatation Provider、Snap Turn Provider脚本

连续移动:包含LocalMotion System、Continuous Move Provider、Continuous Turn Provider

需要注意在Continuous Move/Snap Privider中修改Left/Right Hand Move Action

移动区域:

Teleportation Area组件/Ground挂载Teleportation Area脚本

⑤交互

添加Grab Interactable脚本,自动添加刚体碰撞体,修改Righdbody为Continous Dynamic

将Grab Interactable脚本中的Smooth Rotation 和 Smooth Position 勾选

方法二、SteamVR 2.X

OpenVR是Valve开发的一套Sdk和Api,是一套VR/AR开放标准

SteamVR是基于Open Vr的虚拟现实体验方案,串联OpenVR底层驱动

接收用户输入,交由OpenVR处理,进行基本的VR环境设置(硬件设备、控制器配对等)

SteamVR Unity Plugin是基于SteamVR的开发工具

①Unity获取SteamVR Plugin导入

#SteamVR_UnitySettingsWindow脚本中SplashScreen的Show方法(119)改为false即可

②Input System核心是Action,SteamVR Plugin核心是Input System

  SteamVR动作类型:Boolean、Single(类似Float)、Vector2、Vector3、Pose(位置,旋转)、Skeleton

  Window → SteamVR input

③Interaction System中的Hand和Player 的使用

将预制体中的Player直接拖入面板

④Camera Rig 和 Player 区别

Camera Rig只包含相机,左右手控制器

Player包含SteamVRObject、FollowHead、InputModule、DebugUI、Snapturn

SteamVRObject中又包含碰撞体,左右手和相机

       FollowHead是头部碰撞和声音输入

       InputModuel是事件系统,交互方面的

你可能感兴趣的:(VR/MR,vr,unity)