【Unity VR开发】结合VRTK4.0:瞬移

news2024/12/27 15:57:56

语录:

    到不了的地方都叫做远方,回不去的世界都叫做家乡,我一直向往的却是比远更远的地方。


前言:

         在VR场景中的移动主要有:瞬移和平移。瞬移相当于在虚拟世界中标记出目标位置,并自动传输到该位置,而无需任何进一步的输入。

        传送主要两种类型:

         Instant-用户指定位置,然后立即出现在目的地,通常带有相机淡入淡出已减少晕动症。

         Dash-用户指定位置,用户以线性运动逐渐移动,直到到达目标位置。


正文:

        瞬移(Instant):

                步骤一:

           首先按照前面的步骤进行基本的模块构建:CameraRigs.UnityXR、CameraRigs.TrackedAlias、Input.UnityInputManager.OpenVR.RightController、Input.UnityInputManager.OpenVR.LeftController。

                 步骤二:

           我们需要添加模块 :Indicators.ObjectPointers.Curved,用于作为监听器,监听手柄带来的指令。

 我们需要在游戏对象中指定对应的按键以及手柄。

                   步骤三:

            想要进行位置瞬移,就需要用到模块:Locomotors.Teleporter.Instant

Tilia -> Prefabs -> Locomotors -> Teleporter -> Locomotors.Teleporter.Instant

               ① 组件上的参数确定在传送方法上实际移动的游戏对象。通常,摄像机装备是我们想要移动的游戏对象,因为它包含我们的虚拟玩家。 

               ② 该参数确定另一个游戏对象,该游戏对象可用于描述移动目标时要考虑的偏移量,在这种情况下,偏移量是用户的头戴显示设备位置相对于其游玩区域之间的差异。

               ③传送器需要了解场景中要应用淡入淡出的摄像机。组件上的参数允许我们指定一种简单的链接方式。预制件包含游戏对象上所有已知场景摄像机的 。

                     步骤四:

               当用户通过按鼠标左键使用指针进行选择时,预制件都会发出目标位置数据,因此我们需要做的就是连接该选择事件以调用传送器。并选择要在发出事件时执行的函数。

                      Player:  

        当我们运行场景并点击对应的手柄按键发射到希望传送的地板位置上,进而告诉传送器传送到指针的目的地。目标会瞬间移动到指定的位置。

          逐渐平移(Dash):

                     步骤:

        移动的另一种方式就是逐渐平移,模块为:Indicators.ObjectPointer.Dash。

 Tilia -> Prefabs -> Locomotors -> Teleporter -> Locomotors.Teleporter.Dash

 将对应的游戏对象拖放到Locomotors.Teleporter.Dash中对应的位置:

接着将在Indicators.ObjectPointers.Curved中添加Locomotors.Teleporter.Dash中:

                      Player:

        当我们运行场景并点击对应的手柄按键发射到希望传送的地板位置上,进而告诉传送器传送到指针的目的地。然后就发现目标慢慢的移动到对应的位置。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/455851.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【C++】5. 引用

文章目录 前言一、引用1.1 理解引用1.2 引用的特性1.3 引用的权限1.4 引用的使用场景1.4.1 做参数1.4.2 做返回值 1.5 引用的本质 前言 C语言中什么最难学?那当然就是指针了。不但使用起来麻烦,时不时还会产生一些意料之外的错误。C提供了一种方式&…

Direct local .aar file dependencies are not supported when building an AAR.

前言 起因:项目中含有视频播放功能,使用的是GSYVideoPlayer,因为公司网络问题经常依赖添加不了,所以将关于它的aar包全部下载下来直接本地依赖。 因为多个业务都可能涉及视频播放功能,为了复用,就想着将视频…

XTDrone PX4 仿真平台|使用Docker快速部署仿真环境

XTDrone PX4 仿真平台|使用Docker快速部署仿真环境 Docker简介NVIDIA驱动安装NVIDIA-Docker安装Docker镜像下载与使用Docker与宿主机建立ROS通信宿主机安装 XTDrone 源码 宿主机系统环境Ubuntu20.04 Docker简介 Docker 是一个开源的应用容器引擎,让开发者可以打包…

TestNG 中使用 Guice 来进行依赖注入

Guice是Google开发的一个轻量级,基于Java5(主要运用泛型与注释特性)的依赖注入框架(IOC)。 Guice非常小而且快。Guice是类型安全的,它能够对构造函数,属性,方法(包含任意个参数的任意方法&…

3.微服务项目实战---Nacos Discovery--服务治理

3.1 服务治理介绍 先来思考一个问题 通过上一章的操作,我们已经可以实现微服务之间的调用。但是我们把服务提供者的网络地址 ( ip ,端口)等硬编码到了代码中,这种做法存在许多问题: 一旦服务提供者地址…

什么?Python一行命令快速搭建HTTP服务器并公网访问?

文章目录 1.前言2.本地http服务器搭建2.1.Python的安装和设置2.2.Python服务器设置和测试 3.cpolar的安装和注册3.1 Cpolar云端设置3.2 Cpolar本地设置 4.公网访问测试5.结语 转载自远程内网穿透的文章:【Python】快速简单搭建HTTP服务器并公网访问「cpolar内网穿透…

【C++入门必备知识:内联函数+指针空值nullptr】

【C入门必备知识:内联函数指针空值nullptr】 ①.内联函数Ⅰ.概念Ⅱ.宏与内联Ⅲ.总结 ②.指针空值nullptr(C11)Ⅰ.C98中的指针空值Ⅱ.注意: ①.内联函数 Ⅰ.概念 用inline修饰的函数就叫做内联函数,编译时C编译器会在调用内联函数的地方将函数…

密歇根大学,一个被低估的美国公立常春藤名校

密歇根大学(University of Michigan)创建于1817年,是美国历史最悠久的公立大学之一,被誉为“公立常春藤”和“公立大学的典范”,与加州大学伯克利分校和威斯康星大学麦迪逊分校等大学一起代表了美国公立大学的最高水平…

Unity Camera -- (1)概览

Camera章节笔记所用的资源包在这里: https://connect-prd-cdn.unity.com/20230208/a0898204-bc36-4d6e-a3b2-d4b83ae67c1d/CreativeCore_Camera_2021.3LTS.ziphttps://connect-prd-cdn.unity.com/20230208/a0898204-bc36-4d6e-a3b2-d4b83ae67c1d/CreativeCore_Came…

ERTEC200P-2 PROFINET设备完全开发手册(9-1)

9. PROFIDRIVE AC1/AC4参考代码 PROFIdrive是西门子 Profibus 与 Profinet 两种通讯方式针对驱动的生产与自动化控制应用的一种协议框架,也可以称作“行规”, PROFIdrive使得用户更快捷方便实现对驱动的控制。PROFIdrive的最大特点是互操作性 – 不同厂…

低代码平台名声臭,用起来却真香——60%开发者不敢承认

群体盲从意识会淹没个体的理性,个体一旦将自己归入该群体,其原本独立的理性就会被群体的无知疯狂所淹没。——《乌合之众》 不知道从什么时候开始,“低代码不行”的论调充斥着整个互联网圈子,csdn、掘金、知乎、B站、脉脉……到处…

遗传算法求取函数最值问题

目录 1. 关于遗传算法 2. 遗传算法的步骤 3. 代码实现 3.1 工具函数 3.1.1 目标函数 3.1.2 解码 3.1.3 交叉 3.1.4 变异 3.2 主函数部分 3.3 代码 4. 其他 1. 关于遗传算法 遗传算法是根据生物进化论提出的计算最优解的一种算法,核心思想是物竞天择&…

九龙证券|光模块概念股封单资金超3亿元,传媒板块涨停潮来袭

今天A股三大股指低开低走。沪深两市收盘共37股涨停。剔除4只ST股,合计33股涨停。另外,10股封板未遂,整体封板率为78.72%。 涨停战场: 华工科技封单资金超3亿元 从收盘涨停板封单量来看,同方股份封单量最高&#xff0…

【UE】制作简单的山脉地形

在上一篇博客中(【UE】使用Quixel Bridge下载免费贴图),介绍了如何下载免费贴图,本篇博客介绍如何使用这些贴图制作地形贴图。 1. 创建地形 2. 用雕刻工具绘制地形 3. 新建两个材质函数,分别命名为“GrassAuto”、“R…

UWERANSIM - OAI5GC分立部署教程

环境: Ubantu18.04OAI-5GCv1.5.0UERANSIMv3.2.6 网络: Host1:OAI-5GCens37:192.168.12.3Host2:UERANSIMens40:192.168.12.33 确保两台宿主机之间互通! 网络配置 Host1 网络:OA…

掌握 Web3 游戏数据分析,详述 4 个开发者需追踪的关键指标

引入:需要关注的关键指标包括哪些 区块链游戏在开发运营过程中需要追踪的关键指标包括红馆加密市场数据,DAU、MAU 和用户留存相关的用户数据、社交媒体参与数据,以及游戏内资产等生态系统相关数据。 主要观点: GameFi 项目与传统…

我国集成电路行业发展重心逐步转向芯片设计 高端设备材料领域国产化迫在眉睫

1、集成电路概念及其产业链图解 集成电路(integrated circuit)缩写为IC,是一种微型电子器件或部件,其是采用一定工艺将一块电路所需的晶体管、二极管、电阻、电容和电感等电子元器件制做在一块或几小块晶片或晶片上,然…

Navicat连接oracle数据库时报ORA-28547错的解决方法(亲测有效)

​ 文章目录 一. 问题说明二. 问题解决1. 查询Oracl版本2. 下载Oracle对应oci.dll文件3. 修改oci配置4. 重启Navicat并连接Oracle5. 总结navicat配置oci教程步骤 一. 问题说明 这是因为Navicat自带的oci.dll并不支持oracle11g,需要去官网下载对应支持的版本。 二.…

WIFI6模块AP6275系列选性参考和外围应用电路参考

AP6275系列是采用28纳米工艺的BCM43752方案设计、封装15x13mm/LGA-50,有SDIO接口和PCIe接口可选,同时还有蓝牙和WiFi天线是否共用区分;具体如下: AP6275S通信接口SDIO3.0WiFi/UARTBT5.3;吞吐量TX>450Mbps、RX>55…

Raft 共识算法1-Raft基础

Raft 共识算法1-Raft基础 Raft算法中译版地址:http://www.redisant.cn/etcd/contact 英原论文地址:https://raft.github.io/raft.pdf Etcd Assistant 是一款 etcd 可视化管理软件,便捷高效地操作您的 etcd 集群;支持多种键的视图&…