PicoVR 开发指南


XR教程
来自于视频
https://www.youtube.com/watch?v=fM0k2n7u8sc&list=PLpEoiloH-4eP-OKItF8XNJ8y8e1asOJud&index=1

Unity - XR


-------------第一节、头部对象控制---------------
TrackedPoseDriver基础头部跟踪
组件添加给摄像机


XR Origin XR空间
---Origin Base GameObject XR原对象
---Camera Floor Offset Game 高度偏移对象
---Camera 摄像机
---Tracking Origin Mode 原点对齐方式,(驱动设备或地面)
---Camera Y Offset 高度偏移


左右手对象添加 XR Controller XR 控制器
(使用XR预设组件 - XR Defaule Left Controller/XR Defaule Right Controller)




XR Origin 空间上添加
Input Action Manager 输入动作管理器 ,并且链接 输出到 XR Defaule Input Action 预设对象
控制手柄位置


---------------第二节、手柄对象加入控制----------------------
C#
控制器输入类
Public InputActionProperty pinchAnimationAction;
(从XR Defaule Input Action 预设对象获取信息)
-链接-XRI RightHand Interaction/Activate Value




获取扳机值
float triggerValue = pinchAnimationAction.action.ReadValue<float>();




//抓取变量
public InputActionProperty gripAnimationAction;
(从XR Defaule Input Action 预设对象获取信息)
-链接--XRI RightHand Interaction/Select Value


获取抓握值
float gripValue = gripAnimation.action.ReadValue<float>();




----------第三节、移动--------------------
XR Origin 添加 LocomotionSystem移动系统,
---XR Origin 引用XR空间。


XR Origin 添加 Continuous Move Provider 连续移动控制
---System 基于系统: LocomotionSystem移动系统,
---Move Speed 移动速度
--- Enable Strafe开启运动
---Use Gravity 开启重力
---Gravity Application Mode重力模式:运动开启/一直开启
---Forward Source 前方依据:摄像机(视角)驾驶物体(车辆)


---Left Hand Move Action
(从XR Defaule Input Action 预设对象获取信息)
-链接-- XRI LeftHand Locomotion/Move 左手移动数据




---Right Hand Move Action




XR Origin 添加 Character Controller 角色碰撞体






-----------旋转--------------------
XR Origin 添加 Continuous Turn Provider 连续旋转控制
---System 基于系统: LocomotionSystem移动系统,
---Turn Speed 旋转速度
---Left Hand Turn Action 左手旋转
(从XR Defaule Input Action 预设对象获取信息)
-链接-- XRI LeftHand Locomotion/Turn 左手旋转数据






XR Origin 添加 Snap Turn Provider 跳跃旋转控制
---System 基于系统: LocomotionSystem移动系统,
---Turn Amount 跳跃旋转角度
---Debounce Time 花费事件


(从XR Defaule Input Action 预设对象获取信息)
-链接-- XRI LeftHand Locomotion/Turn 左手旋转数据




-------下蹲---------
XR Origin 添加 Character Controller Driver 角色控制驱动
---Locomotion Provider 运动来自于 Action Continuous Move Provider 连续移动




---------第四节、传送移动----------------
添加 Ray Interactor 射线输入预制体。
载入 XRI Default Left Controller 预设参数
XR Origin 添加 Teleportation Provider 传送组件




地面添加 Teleportation Area 传送空间。


--------移动来自抓握
射线对象的 XR Controller > SelectActions>XRI GightHandInteraction/Select 抓握
替换为 XRI RightHand Interaction/Activate 扳机


-------传送锚
给圆柱体添加 Teleportation Anchor 传送锚
---Colliders 碰撞来自于
---Teleportation Configuration 传送配置
-Match Orientation 传送后朝向(World Space Up 世界平面上方/TargetUp跟随目标上方/TargetUpAndForward跟随目标上方和前方)
---Teleport Anchor Transform 传送目标


-------射线改贝斯曲线-------
XR Ray Interactor > Raycast Configuration>Line Type>Bezier Curve


XR Interactor Line Visual>Reticle (链接准星)




-------------第五节、抓取----------------------
Interactor 手柄交互
Interactable 被交互对象


手柄添加 XR Direct Interactor 交互器


物体添加XR Simple Interactable 简单的被交互对象
---Interactable Events 交互事件
-------Hover Entered 进入交互
-------Hover Exited 离开交互
-------Select 选择


物体添加 XR Grab Interactable 被抓握交互。
--Movement Type 抓取移动类型 (Velocity Tracking速度跟随/Kinematic碰撞互动跟随/Instantaneous完全跟随)




----XR Grad Interactable被抓取-------
Attach Transform 抓取对齐点


---------手枪发射子弹----------
添加头文件
using UnityEngine.XR.Interaction.Toolkit;


void Start()
{
//获取抓取互动程序
XRGrabInteractable grabbable = GetComponent<XRGrabInteractable>();
//执行程序
grabbable.activated.AddListener(Fire);


}


public void Fire(ActivateEventArgs arg)
{


}




-----------第六节、自定义-------------------


-------对齐左右手抓握点
继承头文件
using UnityEngine.XR.Interaction.Toolkit;


public class XRGrabInteractableTowAttach : XRGrabInteractable 继承XR被抓握类
{
//左手抓握点
public Transform LeftGrabPos;
//右手抓握点
public Transform RightGrabPos;


//选择开启
protected override void OnSelectEntered(SelectEnterEventArgs args)
{


//如果抓握对象属于 Left Hand层
if(args.interactorObject.transform.CompareTag("Left Hand"))
{
//链接抓握位置对齐左手点
attachTransform = LeftGrabPos;
}
//如果抓握对象属于Right Hand层
else if(args.interactorObject.transform.CompareTag("Right Hand"))
{
//链接抓握位置对齐右手点
attachTransform = RightGrabPos;
}
}

猜你喜欢

转载自blog.csdn.net/qq_21743659/article/details/133745852