HTC VIVE丨3. 初识InteractionSystem

StramVR SDK下包含InteractionSystem交互系统,本章大致介绍该交互系统的组成

核心

1、PlayerPrefab

2、Hand

3、Teleport(传送)

4、Teleport Point

5、Teleport Area

PlayerPrefab

1、BodyCollider和HeadCollider分别为身体和头部的碰撞器,可根据此碰撞信息不同,造成减血不同等效果

2、Hmd Transform意味着摄像机Transform,Unity分为了两种形式展现VR场景,一种是由VRCamera渲染的头显显示场景,另一种是由FallbackObjects的Camera渲染的场景,该场景可通过WASD和鼠标左右键控制人物在场景中移动

访问Player属性的方法:

using Valve.VR.InteractionSystem;

Player.instance.hmdTransform...;
Player.instance.hands[0].AttachedObjects()...;
        
//对脚位置的估计值       
Vector3 a = Player.instance.feetPositionGuess;
      
//通过头盔和手柄的朝向估算身体的朝向值    
Vector3 b = Player.instance.bodyDirectionGuess;

Hand

Starting Hand Type:设置左右手,当设置一只为左手时,另一个Hand也必须设置为右手。也可不设置

Hover Sphere Transform:自定义设置手的悬停范围的transform,默认为手柄的transform

Hover Sphere Radius:设置手柄的悬停半径

Hover Layer Mask:指定哪些层能受到感应

Controller Prefab:指定操控的预制体,若不想使用手柄,可设置为其他物体

Teleport

Teleporting:实现了瞬移的预制体,将其拖入Hierarchy,此时按下TouchPad键,便可实现瞬移的画面显示。但此时还没有TeleportPoint,所以无法移动

TeleportPoint:可瞬移的点

TeleportPoint

Locked:确定该传送点是否可传送,通过代码可访问其属性

Marker Active:勾选时,该点一直显示,不勾选时,按下TouchPad时,该点才显示

Teleport Type:Move To Location / Switch To New Scene

Title:标题

Switch To Scene:要跳转到的场景的名字。若该场景在根目录Project文件下下,仅填写该场景名称即可。若在其他目录下,要填写完整路径

Teleport Area

在一个区域当中实现瞬移

新建面片,为其添加Teleport Area脚本即可

猜你喜欢

转载自blog.csdn.net/weixin_38239050/article/details/81257080
今日推荐