当前位置:网站首页>Unity两种VR环境配置方法
Unity两种VR环境配置方法
2022-08-11 05:30:00 【黑白leo】
方法一、通过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是事件系统,交互方面的
边栏推荐
- 解决npm warn config global `--global`, `--local` are deprecated. use `--location=global` instead.
- C语言-6月8日-给定一个字符数组‘i am a student’ 统计字符a的个数并进行输出
- jdbc接口文档参考,jdbc接口方法逻辑探究
- Intelligent risk control China design and fall to the ground
- Regular expression replacement for batch quick modification code
- 连接数据库时出现WARN: Establishing SSL connection without server‘s identity verification is not recommended.
- heap2 (tcache attack,house of orange)
- JS案例练习(pink老师经典案例)
- Open Source Machine Learning Database OpenMLDB Contributor Program Fully Launched
- 基于微信小程序云开发实现的电商项目,可以自行定制开发
猜你喜欢
随机推荐
Simple mine sweeping in C language (with source code)
C-8月1日-递归与动态内存管理
8-byte standard request parsing during USB enumeration
Asis2016 books null off by one
OpenMLDB: Consistent production-level feature computing platform online and offline
虚拟机更改IP地址
C语言-6月8日-给定一个字符数组‘i am a student’ 统计字符a的个数并进行输出
js学习进阶BOM部分(pink老师笔记)
IndexError: index 9 is out of bounds for axis 0 with size 9;数组下标溢出问题
mk file introduction
C-动态内存管理
The mount command - mounted read-only, solution
nepctf Nyan Cat 彩虹猫
gerrit configure SSH Key and account, email information
Real-time Feature Computing Platform Architecture Methodology and Practice Based on OpenMLDB
Node 踩坑之80端口被占用
Day 83
【LeetCode-34】在排序数组中查找元素的第一个和最后一个位置
经纬度求距离
使用adb命令管理应用