VRTK_强制瞬移/传送

VRTK_强制瞬移/传送

前言

在使用VRTK制作虚拟仿真项目的时候,会遇到强制头盔至目标点的功能
VRTK内有封装好的移动方法。
VRTK_BasicTeleport脚本内的方法ForceTeleport()

配置

需要配置的传送组件
在这里插入图片描述
在这里插入图片描述

代码

本文代码是直接可以其他脚本调用,把传送的目标位置赋值给ForceTeleport方法即可,
GetRotation方法则是让瞬移后的视角也朝向目标点的朝向。
如果有需要可以直接使用Vector3代替目标点。

    public VRTK_BasicTeleport vRTK_BasicTeleport;
     #region  强制瞬移
    public void ForceTeleport(Transform tfr)
    {
        //vRTK_BasicTeleport.ForceTeleport(tfr.position);
        Teleport(tfr);
        //vRTK_BasicTeleport.Teleport(tfr.eulerAngles);

    }
    void Teleport(Transform trans)
    {
        Quaternion tempQ = Quaternion.Euler(trans.eulerAngles);
        vRTK_BasicTeleport.ForceTeleport(trans.position, GetRotation(trans));
    }

    Quaternion GetRotation(Transform trans)
    {
        float offset = (m_playArea != null && m_headset != null ? m_playArea.eulerAngles.y - m_headset.eulerAngles.y : 0f);
        return Quaternion.Euler(0f, trans.eulerAngles.y + offset, 0f);
    }
    #endregion

  • 8
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Glunn

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

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

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

打赏作者

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

抵扣说明:

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

余额充值