• 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是事件系统,交互方面的

  • 相关阅读:
    真·Redis缓存优化—97%的优化率你见过嘛?
    [含文档+PPT+源码等]精品微信小程序ssm校园二手交易小程序+后台管理系统|前后分离VUE[包运行成功]微信小程序项目源码Java毕业设计
    基于JavaFX的扫雷游戏实现(五)——设置和自定义控件
    【Java 进阶篇】JavaScript 表格全选案例详解
    微信公众号授权登录后报redirect_uri参数错误的问题
    【LeetCode】187. 重复的DNA序列
    Socket 入坑
    第四章_Docker资源控制
    技术人员转岗产品经理,有优势吗?
    基于nodejs的电影交流网站
  • 原文地址:https://blog.csdn.net/leikang111/article/details/126145230