【VRTK】【VR开发】【Unity】17-创建立体UI

在这里插入图片描述

【背景】

游戏无法忽略的一个要素就是UI界面,本篇开始介绍VRTK这方面的能力。
VR游戏的UI和传统电视游戏UI的不同之处在于,VR游戏的UI必须融合在VR的游戏空间内,而传统电视游戏的UI则可以位于游戏画面的上层,位于屏幕的特定位置,比如表示人物血量等的图示等。不同于传统的平面UI要素,我们称VR的这种在空间内实际存在的UI为立体UI。

【创建能与菜单互动的指示点】

原理与抓取可互动对象时的指示点类似,但是UI指示点只与UI界面互动。

  1. 先开始设置不同Input,在Hierarchy中展开VRTK INPUT CONTROLLERS-》keyboard Input。复制Input Unity Input Manager Button Action Q并命名为Input Unity Input Manager Button Action M。选中该对象,在属性面板中将Key Code属性改选为M。
  2. 再创建一个对象来接收各类设备来的输入并指向相同功能。在Hierarchy展开Button Input Actions,在其下创建一个新空子对象并重命名为Spatial Menu Pointer Activator。选中该对象后在属性面板追加一个Boolean Action组件,将Sources属性长度设为4,表示要接收四类设备的输入。
  3. 在Hierarchy中,将Input Unity Input Manager Button Action M对象拖拽到Boolean Action的Sources属性的Element0位置。接着再继续展开Input Unity Inpu

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

jmeter的常用功能及在测试中的基本使用和压测实战

Jmeter基础功能 了解Jmeter的常用组件 元件:多个类似功能组件的容器(类似于类) 一:Test Plan(测试计划) 测试计划通常用来给测试的项目重命名,使用多线程脚本运行时还可以配置线程组运行方式…

uniapp的css样式图片大小截图展示

目录 截取图片前截取图片后第一种方式&#xff1a;代码第二种方式&#xff1a;代码最后 截取图片前 截取图片后 第一种方式&#xff1a;代码 <view class"swiper-box-img"><image class"swiper-box-img-img" :src"item.file_path" mod…

Xline command 去重机制(一)—— RIFL 介绍

为什么要对 command 去重&#xff1f; 在一个接收外部 command 的系统中&#xff0c;通常一个 command 至少要执行一次&#xff0c;我们称其为 at-least-once semantics。如果一个 command 执行失败&#xff0c;系统内部经常会实现一套重试结构来尝试恢复这个问题&#xff0c;…

09|链(下):想学“育花”还是“插花”?用RouterChain确定客户意图

09&#xff5c;链&#xff08;下&#xff09;&#xff1a;想学“育花”还是“插花”&#xff1f;用RouterChain确定客户意图 任务设定 首先&#xff0c;还是先看一下今天要完成一个什么样的任务。 这里假设咱们的鲜花运营智能客服 ChatBot 通常会接到两大类问题。 鲜花养护…

C1189#error: WinSock.h has already been included解决方案

最近在做项目移植过程中遇到这个报错&#xff0c;解决了半天。简单记录下解决方案&#xff0c;以供给大家提供一个思路。 原因&#xff1a; 在工程中使用了Boot库之后&#xff0c;使用了socket、tcp相关的头文件&#xff0c;在其他地方还是包括了头文件<windows.h>&…

分布式【4. 什么是 CAP?】

什么是 CAP&#xff1f; C 代表 Consistency&#xff0c;一致性&#xff0c;是指所有节点在同一时刻的数据是相同的&#xff0c;即更新操作执行结束并响应用户完成后&#xff0c;所有节点存储的数据会保持相同。 A 代表 Availability&#xff0c;可用性&#xff0c;是指系统提…

啊哈c语言——4.10、for隆重登场(一起来找茬)

下面这段代码是求12345678910的值。其中有4个错误&#xff0c; 快来改正吧&#xff01; 改正后&#xff1a; #include <stdio.h> #include <stdlib.h> int main( ) {int i, sum;sum1;for(i1; i<10;i){sumsum*i;}printf("%d", sum);system("paus…

express的基础使用,利用postman模拟后端路由

简介 Node.js 使 JavaScript\TypeScript 脚本能够脱离浏览器环境在服务端&#xff08;后端&#xff09;运行&#xff08;实际上是对 Chrome V8 引擎进行了封装&#xff09;&#xff0c;为我们开发后端提供了一种选项。不像前端有统一的浏览器标准&#xff0c;如果不遵循的话浏…

Linux下使用Wireshark抓包教程

在实际开发中&#xff0c;涉及网络传输的环节是非常多的。在这些过程中&#xff0c;我们经常有查看被传输的数据信息的需求&#xff0c;因此&#xff0c;抓包工具应运而生。Wireshark便是一款非常有名的抓包及分析软件&#xff0c;具有强大的协议解析能力。本文将介绍如何在Lin…

BED 文件格式 chip-seq m6a数据可视化会用到

General usage — bedtools 2.31.0 documentationhttps://bedtools.readthedocs.io/en/latest/content/general-usage.html BED格式&#xff08;Browser Extensible Data format&#xff09;是一种在生物信息学中广泛使用的文本文件格式&#xff0c;用于描述基因组上的特征和…

同步与互斥(三)

一、递归锁 /* 创建一个递归锁&#xff0c;返回它的句柄。 * 此函数内部会分配互斥量结构体 * 返回值: 返回句柄&#xff0c;非NULL表示成功 */ SemaphoreHandle_t xSemaphoreCreateRecursiveMutex( void );/* 释放 */ BaseType_t xSemaphoreGiveRecursive( SemaphoreHandle_t…

OpenEular23.09(欧拉)操作系统为企业搭建独立的K8S集群环境,详细流程+截图

一.环境&#xff1b; win10&#xff0c;vmware16 pro&#xff0c;openeular23.09 集群模式&#xff1a;一主二从 主机硬件配置 主机名IP角色CPU内存硬盘k8s-master01192.168.91.100master4C4G40Gk8s-worker02192.168.91.101worker(node)4C4G40Gk8s-worker03192.168.91.102wor…