简易虚拟培训系统-UI控件的应用1

news2025/1/18 17:10:44

前言

  前面的文章介绍了关于Oculus设备与UI控件的关联,从本文开始采用小示例的方式介绍基本的UI控件在系统中的基本作用(仅介绍“基本作用”,详细的API教程可参考官方文档)。应用的背景是工程场景类的虚拟培训系统,系统效果运行如下:

简易普车模拟训练系统演示

    这个简易系统中,用到的UI控件有Image、Text(TextMeshPro)、Button、Slider、Toggle、ScrollBar等,下面会分篇幅讲解它们的使用。

UI结构总体介绍

  制作UI页面,可以先在场景中搭建一个空节点UI,将所有与UI相关的控件节点放置在这个空节点下面,以便于在系统运行过程中加载和管理,如下图是一个比较详细的UI面板(详见UI管理1):

   其中的三个要素:

   Camera:相机。图中的UICamara是仅渲染UI组件的相机,也可以不添加它,而仅仅使用主相机(MainCamera)来渲染。在VR场景中一般使用VR相机,也不需要单独添加UI相机。

   Canvas:画布,一个场景中可以存在多个画布(如上图的Canvas_Main、Canv_Settings等),所有的UI控件需要作为Canvas的子节点才能被渲染。建立多个Canvas的好处还有:可以通过管理这些Canvas来操控某些UI组件的显示、激活等。

  EventStystem:用于接收用户的交互射线,可以是鼠标点击的射线,也可以是VR设备的输入(详见设置VR的UI控件)。

  下面,就以简易培训系统为例,搭建并介绍基本的UI场景和控件:

建立初步的系统UI结构

  1. 建立总的管理节点UI

  2. 在它之下建立Canvas,需要多少个不同的面板就建立多少个Canvas。

  

  建立Canvas的同时,会自动建立一个EventSystem,将它也一并放入UI节点下。

  3. 修改一下各Canvas的名字便于区别:

    

Image控件

  下面先制作主面板mainCanvas:

   1. 加入背景图片:在mainCanvas节点上,点右键选择Image,并修改一下名称以便识别(这里改为bgImage)。加入Image后,默认会将一个图片显示在屏幕中央

  

   2. 使用移动和缩放工具,将图片放到合适的大小和位置。图片外围的白色框线就是Canvas的大小,也代表了界面的大小,我们看到的效果就是图片在屏幕中显示的大小和位置。

   3. 调整图片颜色、透明度:找到bgImage在Inspector面板中的Color属性,可以从中选择合适的颜色、透明度

   

  灰色半透明的结果:

 

   4. 更改图片:有时仅仅更改颜色满足不了我们对于界面的要求,还可以从其他软件制作背景图片导入Image控件,jpg、gif等常规格式都可以。不过在导入时需要将图片改为Sprite格式,否则无法正常显示(注意:所有导入的图片都需要做此操作)。方法如下:

  (1)将图片放在本工程文件的Assets文件夹内,建议建立一个统一的Image文件夹

   (2)在Unity中的Assets目录下找到这张图片:

 

   (3)点击图片,在它的Inspector面板中,将它的格式改为Sprite,最后点击Apply按钮

 本篇到此结束,Text控件请看下一篇

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

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

相关文章

最简单的爬虫!只需要粘贴你要爬虫的网址

依赖 必须按照这个库,爬虫必备! pip install requests四行代码 import get import save spider_text get.html("https://www.baidu.com/") save.file(spider_text)使用 更改 get.html() 中的参数,改成你想要爬取的网站的地址&…

如何打造创新文化虚拟展厅?一文了解虚拟展厅优势

引言: 时光荏苒,科技在不断进步,创新也不再局限于产品和服务,而是深刻融入各行业的方方面面。在这个充满机遇与挑战的时代,创新文化虚拟展厅应运而生,成为展示创新实力、推动文化传承的独特方式。 一&…

数字孪生技术:智能化引领产业变革

数字孪生作为一项创新性技术,正逐渐引发全球范围内的广泛关注。它不仅仅是一种模拟或仿真工具,更是一种能够深刻影响人类生活和产业的前沿技术。数字孪生的终极价值在于为现实世界带来了前所未有的智能化、精准化和高效化,以及对未来可持续发…

42、基于51单片机的蓝牙智能手环系统(全套资料)

编号:42 基于51单片机的蓝牙智能手环系统 功能描述: 本设计由STC89C52单片机最小系统ADXL345三轴加速传感器模块DS1302时钟模块DS18B20温度传感器模块Pulse Sensor心率采集模块BT06蓝牙模块LCD1602显示模块键盘模块组成 1、采用STC89C52单片机为主控制…

Leetcode Top 100 Liked Questions(序号75~104)

75. Sort Colors 题意&#xff1a;红白蓝的颜色排序&#xff0c;使得相同的颜色放在一起&#xff0c;不要用排序 我的思路 哈希 代码 Runtime 4 ms Beats 28.23% Memory 8.3 MB Beats 9.95% class Solution { public:void sortColors(vector<int>& nums) {vector…

Ping32客户端安装注册

登录Ping32&#xff0c;进入主界面 回到“开始”界面 在桌面会生成客户端安装程序

EOCR电机保护器MODBUS通讯的使用

在工厂自动化中&#xff0c; 数据连接是必不可少的&#xff0c; 尤其是在工业4.0概念不断扩大其覆盖范围的今天。而通过EOCR的MODBUS通讯&#xff0c;用户可将电动机的运行状态、运行电流、故障原因及时间等信息传输至上位机中&#xff0c;以方便用户实时监测电动机的状态&…

《Linux多线程服务端编程》读书笔记(一)

线程安全 一个线程安全的类应该满足下面三个条件 多个线程同时访问&#xff0c;其表现出正确的行为无论操作系统如何调度这些线程&#xff0c;无论这些线程的执行顺序如何交织调用端代码无需额外的同步或其他协调动作 对象的线程安全 对象构造要做到线程安全&#xff0c;唯…

弹幕引擎使用教学

欢迎阅读 弹幕引擎 / 弹幕会模板 使用教学&#xff01; 不知道您是否听说过“弹幕游戏”&#xff0c;Scratch 闯关游戏作品&#xff1a;东方虹魔馆 如果听说过&#xff0c;那就太好啦&#xff01;您很有可能已经对“弹幕”甚至“符卡”有了认识基础。没有也不要紧&#xff0c;您…

智能化新十年,“全栈智能”定义行业“Copilot智能助手”

“智能化转型是未来十年中国企业穿越经济周期的利器”&#xff0c;这是联想集团执行副总裁兼中国区总裁刘军在去年联想创新科技大会上做出的判断&#xff0c;而2023年正值第四次工业革命第二个十年的开端&#xff0c;智能化是第四次工业革命的主题。2023年初&#xff0c;基于谷…

红盟云卡系统v1.1.17虚拟商品在线售卖平台源码

红盟云卡系统是一款基于PHPMySQL开发的虚拟商品在线售卖平台 v1.1.17.20230627 增加强制登录插件 增加QQ微信防红插件 增加首页弹窗插件 增加鱼儿游背景特效插件 官方微信支付插件增加jsapi类型 后台订单列表增加下单必填项字段显示 修复分站个人中心开通分站报错的问题 修复提…

FAST协议详解3 可null(空)类型

一、概述 所谓可null、可空&#xff0c;其实是一个特性的两个方面&#xff0c;某些情况下&#xff0c;我们不需要传递某个字段的值&#xff0c;则可以将该字段“空”起来&#xff0c;不赋值&#xff0c;则接收方在收到该字段时会自动解析为null值。所以空是对于发送方而言&…

控制各种开环伺服阀放大器

控制不带电气位置反馈模块式伺服阀开环控制&#xff0c;最大电流10mA至1000mA范围可选&#xff1b; 常规可选电流档位&#xff1a;10mA、15mA、20mA、40mA、100mA、300mA等&#xff1b; 前面板电位器或者上位机精细调整零位及增益。 颤振频率以及颤振幅度可选。 快速电流驱…

初入职场六个注意

点击下方关注我&#xff0c;然后右上角点击...“设为星标”&#xff0c;就能第一时间收到更新推送啦~~~ 作为一个职场新人&#xff0c;最重要的变化是从学校的学习生活转变进入职场的工作生活&#xff0c;一切都是新鲜的&#xff0c;步入职场就是进入了社会。 其实学校也是一个…

高忆管理:成交量突然放大股价下跌?

在出资股票时&#xff0c;咱们常常看到股票价格急剧跌落&#xff0c;而此时成交量正在暴增。许多出资者进入股市的初期或许会产生困惑&#xff0c;将“成交量忽然扩大股价跌落”视为出资时的一般改变和常态&#xff0c;但其实并不总是如此。这种现象或许暗示着不同的问题和情况…

Qt:界面实时响应鼠标拖动绘制

采用双缓冲实现界面实时响应鼠标的拖动绘制。 思想如下&#xff1a;首先需要两张画布pix和tempPix&#xff0c;他们都是QPixmap实例&#xff1b;pix用来保存初始界面或上一阶段以完成的绘制&#xff1b;tempPix用来作为鼠标拖动时的实时界面绘制&#xff1b;当鼠标左键按下后拖…

C# 生成唯一ID

1.首先通过nuget安装yitter.idgenerator 下面的三行代码搞定

文心一言 VS 讯飞星火 VS chatgpt (83)-- 算法导论8.1 4题

四、用go语言&#xff0c;假设现有一个包含n个元素的待排序序列。该序列由 n/k 个子序列组成&#xff0c;每个子序列包含k个元素。一个给定子序列中的每个元素都小于其后继子序列中的所有元素&#xff0c;且大于其前驱子序列中的每个元素。因此&#xff0c;对于这个长度为 n 的…

C++ | 源码分析 Why double free?

源码分析 Why double free? 文章目录 源码分析 Why double free?WhatWhy1.浅拷贝 VS 深拷贝浅拷贝深拷贝 2.push_back 和 emplace_backpush_back 源码emplace_back 源码 Example HowReference>>>>> 欢迎关注公众号【三戒纪元】 <<<<< What 前…

【爬虫小知识】如何利用爬虫爬网页——python爬虫

前言 网络时代的到来&#xff0c;给我们提供了海量的信息资源&#xff0c;但是&#xff0c;想要获取这些信息&#xff0c;手动一个一个网页进行查找&#xff0c;无疑是一项繁琐且效率低下的工作。这时&#xff0c;爬虫技术的出现&#xff0c;为我们提供了一种高效的方式去获取…