Pico设备VR游戏开发 2

Pico设备VR游戏开发 2

🔫


今天学了两种移动方式
一个是侧边按键移动、一个是固定锚点移动
我个人评价是这种交互模式挺古老的,就好像早先的伪3D


用手柄来操作转向的细节
在XR Rig上添加一个Snap turn Provider,并将locomotion system 拖进 Snap turn Provider的system 那个框框里,随后在controller里决定使用哪个摇杆控制扭头


给球添加一个抓手
组件👉 grab


一个直接可以和手交互的控制器
组件👉 direct
picoSDK提供了 左右手的模型


铰链
组件👉 joint
给父组件 添加嗷~
作用 是整个物体绕着某个三维点旋转,一般需要限制来模拟真实世界的物理规律,诸如门只能旋转
90°

上午失败了。下午做成功了~


cSharp写手柄交互

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
using System.Collections.Generic;
using UnityEditor.Build.Reporting;
using UnityEngine;
using UnityEngine.XR;
using UnityEngine.XR.Interaction.Toolkit;

public class PlayBall : MonoBehaviour
{
public XRController leftController;
// Start is called before the first frame update
void Start()
{

}

// Update is called once per frame
void Update()
{
Vector2 result;
//创建了一个二维向量
var success = leftController.inputDevice.TryGetFeatureValue(CommonUsages.primary2DAxis, out result);
//检测左手设备摇杆 (第一个参数是他的轴 按键摇杆の位置,第二个是给result赋值 out就是说这个值是通过这个方法里面来给他进行赋值的)
// var success 并且会返回一个布尔值 假如调用成功了就true 失败就失败了
if (success)
{
//成功获取了偏移量就会触发这个函数
var position = transform.position;
transform.position = new Vector3(position.x + result.x, position.y, position.z + result.y);
//y轴是向上的轴,所以是原来的即可
}


}
}
作者

发布于

2022-09-12

更新于

2023-01-10

许可协议