Unity新手干货之移动篇(四)steamVR移动

目录

开篇介绍 

导入steamVR包和设置 

代码


开篇介绍 

BillBill同期视频

steamVR我们用HTC举例,同样的在官方样例中也是射线传送移动,我们都是先不赘述,只讲关键的移动,与PicoXR的摇杆移动有所不同,HTC的移动更像是圆盘移动



不过有所不同,也就有所相同,同样的这是一个Vector2值,分为x和y,且范围在[-1,1]

导入steamVR包和设置 

1.首先我们要上Unity商店下载steamVR,是免费的,SteamVR Plugin

2.导入steamVR包Window→Package Manager→Packages: My Assest→然后我们搜索一下steamvr下载导入一下



3.设置一下steamVR Input,Window→SteamVR Input,我们在Action加一个,取名为TeleportV2,类型设置成Vector2最后保存一下,看不懂可以看视频哦

最后我们点击Open binding UI,将这个值放在手柄的圆盘上

注:圆盘为Teleport,方法可以先看一下其他大佬的,记得连接设备,还有要下载steamVR,在steam商店中,同样免费的

代码

最后我们写代码

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Valve.VR;//steamvr

public class Player : MonoBehaviour
{
    Quaternion my_head;//头朝方向,也就是移动方向
    void Start()
    {
        
    }

    void Update()
    {
        SteamVR_Move();
    }

    public float speed=5;
    public CharacterController character;

    void SteamVR_Move()
    {
        my_head = Quaternion.Euler(0, Camera.main.transform.eulerAngles.y, 0);
        Vector2 my_padPosition = SteamVR_Input.GetAction<SteamVR_Action_Vector2>("TeleportV2").axis;//获取自己定义的圆盘Vector2值
        Vector3 dirction = my_head * new Vector3(my_padPosition.x, 0, my_padPosition.y);//类似xr的
        //transform.position += dirction*Time.deltaTime*speed;//和上一期一样
        character.SimpleMove(dirction * speed);
    }

}

注:using Valve.VR; 一定要加的,关于steamVR的一些API介绍可以看一下其他大佬的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

强迫症患者泷

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值