unity pico开发 三 移动 旋转 传送

LocomtionSystem

在XR Origin上添加LocomtionSystem脚本,并拖拽XR Origin属性
这是移动的基础

平滑移动

在XR Origin上添加Continuous Move Provider脚本,注意是Action-Base版的脚本,并进行如下设置
在这里插入图片描述
Gravity application Model:重力的模式, 只推荐用immediately模式,另一个模式有很多问题
LeftHandMoveAction:左手用哪个动作触发移动,勾选use reference,然后选择
在这里插入图片描述
为xr origin物体添加一个characterController,将Center调整为1(让碰撞盒高一点别调到地下),创建一个地面
在这里插入图片描述

转身

转身分为平滑转身和snap闪现
两者是一样的,这里以snap为例
XR Origin物体挂载snapTurnProvider(Action-base),然后如下设置
在这里插入图片描述

EnableTurnAround:如果勾选,将摇杆前后推可以直接转180度
RightHandSnapTurnAciton:右手使用哪个动作触发转身
在这里插入图片描述

碰撞体随相机改变身高

我们蹲下时希望碰撞体可以变小
为XR Origin添加如下脚本,并指定LocomotionProvider为移动用的Provider,例如Continuous Move Provider,注意不是XR Origin脚本
同时确保移动用的Provider的Gravity application Model为immediately模式
在这里插入图片描述

传送

添加射线

默认左右手会有三个交互射线的组件,我们把以下这些删掉,从头开始
在这里插入图片描述
为XROrigin创建射线子物体,同时将自动创建一个XR Interaction Manager物体用来处理交互
在这里插入图片描述
选中射线,以右手为例
找到射线的XRController组件,选择预制数据,选择右手数据
在这里插入图片描述
默认使用抓取键进行传送,如果需要改成trigger键,可以修改射线的XRController里的SelectAction为active事件
在这里插入图片描述
在这里插入图片描述

两种传送区域

TeleportationArea

整个区域都可以传送
为地面挂载TeleportationArea脚本,并拖入碰撞盒
在这里插入图片描述
此时即可使用射线进行传送

TeleportationArea

传送点,同样需要设置碰撞盒,此外还需要设置TeleportAnchorTransform,这是传送后的落点
在这里插入图片描述

SelectMode: single如果处于当前位置不能再次传送,multiple即使处于当前位置也可以再次传送
MatchOrientation:传送后的朝向,默认是保持原朝向,图中的设置可以让玩家对齐传送后位置的z轴

美化传送射线

直线改为曲线
选中射线,找到XRRayInteractor组件,如下修改
在这里插入图片描述
添加一个端点指示
创建一个圆柱,去掉碰撞体,压扁,放到射线子物体,然后为射线的 XR InteractorLineVisual指定
在这里插入图片描述
不用时隐藏射线
编写以下脚本

public class ActivateTeleportationRay : MonoBehaviour
{
    public GameObject teletportation;

    public InputActionProperty activate;
    private void Update()
    {
        teletportation.SetActive(activate.action.ReadValue<float>()>0.01f);
    }
}

挂在到一个非射线物体上,将teletportation指定为射线,activate指定为触发传送的案件的动作,推荐使用value版本的动作,可以获取到精确值,非value版本的动作只能获取0和1
如下图分别表示active(也就是扳机键)是否被按下和扳机键的值
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值