【HTC-VIVE】05-创建虚拟角色Player

【HTC-VIVE】05-创建虚拟角色Player_第1张图片

1、首先搭建简单的环境:

【HTC-VIVE】05-创建虚拟角色Player_第2张图片
Environment.png

2、创建空物体,命名为Player:

给Palyer 添加 Player 脚本,该脚本是SteamVR种内置的脚本。

【HTC-VIVE】05-创建虚拟角色Player_第3张图片
AddPlayer.png

刚添加上该脚本,不停的打印如下错误:
【HTC-VIVE】05-创建虚拟角色Player_第4张图片
Error.png

解决方法:将Player 物体 拖动到 Tarcking Origin Transform 处,便停止报错!
【HTC-VIVE】05-创建虚拟角色Player_第5张图片
OK.png

这是该脚本的相关属性:

【HTC-VIVE】05-创建虚拟角色Player_第6张图片
PlayerComponent.png

1、 Tracking Origin Transform : 虚拟设备追踪的根节点,即整个虚拟角色 Player
2、 Hmd Transforms : 头显设备相机,包括没有Steam VR 时的备用相机
3、 Hands:所有的可能的虚拟手柄,包括 没有 Steam VR 时的备用手柄
4、 Head Collider : 头部物理碰撞检测器,跟随 玩家的头设位置移动
5、 Rig Steam VR :这些对象是在SteamVR可用时启用的物体
6、 Rig 2D FallBack :这些对象是在SteamVR不可用时或用户退出VR时启用的
7、 Audio Listener : 玩家的音频监听器,让玩家可以听到声音
8、 Allow Toggle 2D : 允许切换到2D

3、创建 有 SteamVR 时 的 相关物体组件:

1、身体碰撞检测器 :BodyCollider
2、虚拟头部相机 : VRCamera
3、左右手虚拟手柄 : LeftHand , RightHand
4、在大型虚拟屏幕上显示2D内容 :Overlay
5、处理SteamVR_Camera 渲染 与 相关交互事件管理 :[Steam VR]

BodyCollider :(取消重力,使用 Is Kinematic,高度:1.5 )

【HTC-VIVE】05-创建虚拟角色Player_第7张图片
BodyCollider.png
BodyCollider 组件:根据实际的玩家的头部,设置该 capsuleCollider 的高度 与 中心位置
using UnityEngine;
using System.Collections;
//根据实际的玩家的头部,设置该 BodyCollider 的高度 与 中心位置
namespace Valve.VR.InteractionSystem
{
    //-------------------------------------------------------------------------
    [RequireComponent( typeof( CapsuleCollider ) )]
    public class BodyCollider : MonoBehaviour
    {
        public Transform head;

        private CapsuleCollider capsuleCollider;

        //-------------------------------------------------
        void Awake()
        {
            capsuleCollider = GetComponent();
        }


        //-------------------------------------------------
        void FixedUpdate()
        {
            float distanceFromFloor = Vector3.Dot( head.localPosition, Vector3.up );
            capsuleCollider.height = Mathf.Max( capsuleCollider.radius, distanceFromFloor );
            transform.localPosition = head.localPosition - 0.5f * distanceFromFloor * Vector3.up;
        }
    }
}
VRCamera:
【HTC-VIVE】05-创建虚拟角色Player_第8张图片
VRCamera.png
Overlay:
【HTC-VIVE】05-创建虚拟角色Player_第9张图片
Overlay.png
  • Overlay Render Texture:


    【HTC-VIVE】05-创建虚拟角色Player_第10张图片
    OverLay Render Texture.png
[SteamVR]:
【HTC-VIVE】05-创建虚拟角色Player_第11张图片
[SteamVR].png

LeftHand:

1、调整左右手的位置,X:0.25 ,Y:1
2、添加 Hand 与 SteamVR_Behaviour_Pose 脚本
3、对左右手进行简单的设置,都暂时取消 Use Hover Sphere,避免一直报红的错误

【HTC-VIVE】05-创建虚拟角色Player_第12张图片
LeftHandBasic.png

【HTC-VIVE】05-创建虚拟角色Player_第13张图片
RightHandBasic.png


4、创建 没有 SteamVR 时的 相关物体组件:

1、备用相机 :FallBackCamera
2、备用手柄 :FallBackHand

FallBackCamera:
【HTC-VIVE】05-创建虚拟角色Player_第14张图片
FallBackCamera
FallBackHand :
【HTC-VIVE】05-创建虚拟角色Player_第15张图片
FallBackHand.png
  • 备用手指示器:


    【HTC-VIVE】05-创建虚拟角色Player_第16张图片
    Indictor.png

5、AudioListener:(FollwHead)

AudioListener.png

6、HeadCollider:

【HTC-VIVE】05-创建虚拟角色Player_第17张图片
HeadCollider

到此Player 脚本上所需的组件创建完成,拖曳上即可:

【HTC-VIVE】05-创建虚拟角色Player_第18张图片
PlayerOK.png

当然本文里重要的 是:Hand 脚本 与 Player 脚本

你可能感兴趣的:(【HTC-VIVE】05-创建虚拟角色Player)