创新实践记录一

使用UGUI制作开始界面

一、UGUI概述

1.1常用组件

UGUI是从Unity4.6开始被集成到Unity编译器中的官方UI系统,具有灵活,快速和可视化兼容性好的特点。以下为常用的UGUI控件:

在这里插入图片描述

1.2创建UGUI控件

创建UI控件时,如果没有Canvas和EventSystem系统会自动创建。
在这里插入图片描述
Canvas画布,是所有UI控件的根类,所有UI控件都必须在Canvas上绘制。如果UI控件不在Canvas下,将无法正常渲染显示。
EventSystem则负责处理UI控件的操作。

1.3组件

所有的UI控件都有一个RectTransform组件,继承自Transform。
在这里插入图片描述
RectTransform:

Position, size, anchor and pivot information for a rectangle.

矩形的位置、大小、锚点和枢轴信息。

Transform:

Position, rotation and scale of an object.

物体的位置、旋转和比例。

二、开始菜单制作

2.1标题文字

因为没有专业的美工,网上的素材也很难找,免费的不尽人意,收费的买不起,最后还是采用文字标题。UGUI自带Text控件,用于显示文本:
在这里插入图片描述
Text:显示的文本
Character(字符)
Font:字体
Font Style:字体格式,粗体,斜体
Font Size:字体大小
Line Spacing:行间距,设置为0,存在多行时,将出现重叠
Rich Text:富文本,在Text中输入<color=red>New Text,将显示红色的字体New Text
Paragrahp(段落)
Alignment:文本在控件中的对齐方式
Align By Geometry:使用字形几何的范围来执行水平对齐而不是字形度量
Horizontal Overflow:水平溢出(Wrap,Overflow,设置为Overflow后,文本长度超出控件宽度正常显示)
Vertical Overflow:垂直溢出(Truncate,Overflow)
Best Fit:最佳适配,勾选后,将可以设置字体的大小范围,当Text文本增加时,会自动缩小字体;当调节Text大小时,文字大小随着改变。勾选后,设置Font Size将无效
Color:字体颜色
Material:材质

2.2使用TxtMesh Pro

不过text本身功能不够丰富,作为标题美观度不够,因此我们引入TextMeshPro插件。以前的Unity版本可能要去商店下载,我这个自带了。从菜单栏Window > Package Manager中安装TextMesh Pro,第一次创建时,会弹出一个提示窗口:在这里插入图片描述
第一个是必要资源,第二个是可选的,这里我们全安装上。
UGUI的Text使用了一张字体贴图,Unity把所有需要显示的字符放到了一张图集中,字符的形状是通过像素定义的。当我们放大时,像素不够用就会出现文字变模糊的情况。
TextMesh Pro的Text使用了不同的技术来渲染文字,使用这种技术字符在渲染时不会因为缩放而造成字符模糊的情况,总是能够准确的渲染字符的边缘。这样更加美观

经过一些调整设置后就有了我们的标题。
在这里插入图片描述

2.3使用Button

button组成在这里插入图片描述

Button控件

在这里插入图片描述
Interactable:是否交互
Transition:过渡方式
有四种模式
1 None:无过渡
在这里插入图片描述
2 Color Tint:颜色过渡
在这里插入图片描述
Target Graphic:作用目标
Normal Color:默认颜色
Highlighted Color:高亮颜色,选中或鼠标进入
Pressed Color:按下颜色
Disabled Color:禁用颜色
Color Multiplier:颜色切换系数,系数越大变化越快
Fade Duration:淡出持续时间,颜色过渡时间
3 Sprite Swap:图片切换
在这里插入图片描述
Target Graphic:作用目标
Highlighted Sprite:高亮图片
Pressed Sprite:按下图片
Disabled Sprite:禁用图片
4 Animation:动画
在这里插入图片描述
Normal Trigger:默认触发器
Highlighted Trigger:高亮触发器
Pressed Trigger:按下触发器
Disabled Trigger:禁用触发器
Auto Generate Animation:自动生成动画控制器,添加成功自动添加Animator组件

Navigation:导航设置

事件绑定

首先要写编写按钮点击事件,再绑定到一个物体上
在这里插入图片描述
然后点击+号,再拖拽刚才的物体,最后选择按钮点击事件,即可完成一次事件绑定。
这里我创建三个按钮,分别用来完成进入AR界面,切换设置菜单,退出程序的功能。
以下是脚本。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;

public class MainMenu : MonoBehaviour
{
    public void Visit()
    {
        //SceneManager.LoadScene("HelloAR");
        SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex+1);
        //用场景名或当前场景的下一个序号完成切换
    }
    public void Exit()
    {
        //Debug.Log("Exit");
        Application.Quit();

    }
}

我和队友是两个场景在切换时可以直接用场景名也可以按序号,在编译设置时后面的序号就是场景序号。
在这里插入图片描述
以上是初步工作。

热门文章

暂无图片
编程学习 ·

Vue

常用指令文本插值 v-html:把文本解析为 HTML 代码。 绑定属性 v-bind:为 HTML 标签绑定属性值。 条件渲染v-if:条件性的渲染某元素,判定为真时渲染,否则不渲染。 v-else:条件性的渲染。 v-else-if:条件性的渲染。 v-show:根据条件展示某元素,区别在于切换的是 display …
暂无图片
编程学习 ·

react组件返回上级时,记录上级组件状态

最近开发项目中,做管理后台,很多表格列表,有搜索条件,有分页;在跳转到详情页面,返回时,列表组件重新渲染,之前的搜索条件,分页什么的,都没有记住;还需要重新选,点击,交互体验很不好。1.这里想到2两个办法,一个是吧搜索条件存到缓存中;每次进行读写;条件太多,或…
暂无图片
编程学习 ·

云原生已来,只是分布不均

作者 | 右京 阿里云交付专家 **导读:**云原生是什么?相信不同的人有不同的认识和解读。本文结合大家的各种讨论及项目实践经验,从交付的角度,分享阿里交付专家对云原生的理解,阐述如何构建云原生应用,云原生有哪些关键技术,以及关于云原生落地的思考。 前言 Internet 改…
暂无图片
编程学习 ·

亚马逊ERP系统独立部署OEM定制无限开账号

马逊无货源模式,和传统无货源模式操作一样!需要咱们开店利用软件去采集商品,上传到咱们店铺,有订单了去上家拍下,发到深圳的中转仓,进行商品检测二次包装,发往国外!赚取汇率差! 要做亚马逊无货源模式,那么亚马逊ERP也是必须用的!市场erp已经出现很多,但是真正做技术…
暂无图片
编程学习 ·

用自行实现的优先队列进行四字成语汉字频率统计

文章目录背景构建最大堆代码实现测试通过最大堆实现优先队列成语汉字频率统计案例统计四字成语文件中的汉字出现频率的前5位项目结构汉字频率的类优先队列测试类成语汉字统计主程序 背景 在《自已做动画及编写程序搞清楚最大堆的实现原理》这篇文章中,我们通过动图分析编 码自…
暂无图片
编程学习 ·

纸片人算什么?教你造真“3D小姐姐”!可以动的模型

要说现在什么行业最赚钱,非游戏莫属!要说游戏中什么类型最赚钱?非3D建模莫属! 据统计,刚入行的从业人员均薪1万-1.3万,如果做到总监,行业平均年薪30万+!他们的日常就是创造游戏里各种各样的小姐姐和自己心仪的角色。 玩游戏的人都知道,第一眼吸引我们的总是游戏中精美…
暂无图片
编程学习 ·

js动态生成多行多列复选框

本例目标: 获取后台数据集合,将集合的某个字段,比如:姓名,以复选框形式显示在HTML页面 应用场景: 获取数据库的人员姓名,将其显示在页面,供多项选择 效果如下:一、后台 查询数据库,返回List集合形式给页面 二、HTML 设置一个div,里面动态加载人员姓名 <div id=&q…
暂无图片
编程学习 ·

git使用(二)部署本地项目到github

部署本地项目到github 初始化 打开Git Bash。 cd到项目文件夹。(直接把文件夹拖入到bash内即可) 执行初始化代码 git init项目文件夹会产生一个.git的文件夹 跟github仓库进行连接 格式:git remote add origin url地址(https或ssh)例如:git remote add origin git@github…
暂无图片
编程学习 ·

docker方式部署ELK

1.拉取原始镜像: docker pull sebp/elk:6602.启动下镜像方便进入,进行自定义配置修改:docker run -dit --name elk \-p 5601:5601 \-p 9200:9200 \-p 5044:5044 \-v /data/elasticsearch:/var/lib/elasticsearch \-v /etc/localtime:/etc/localtime \sebp/elk:660这里说明下560…
暂无图片
编程学习 ·

梯度直方图和灰度共生矩阵

下面这三篇文章写的不错:https://blog.csdn.net/guanyuqiu/article/details/53117507https://blog.csdn.net/qq_32892383/article/details/79768684https://blog.csdn.net/qq_32892383/article/details/79779513
暂无图片
编程学习 ·

Java new关键词的作用

文章目录new关键词的作用成员变量"字符串" new关键词的作用Person person = new Person();右边的new Person: 是以Person类为模板在堆中实例化一个对象。 右边的(): 意味着在对象实例化后,调用Person的构造器,对其初始化。 左边的Person person: 创建一个Person类…
暂无图片
编程学习 ·

数据库语句和数据库表常用的操作命令

Mysql的启动与关闭启动 net start mysql关闭 net stop mysql显示当前服务器版本 SELECT NERSION();显示当前的日期 SWLECT NOW();显示当前用户 SELECT USER(); 数据库语句(DDL)查看数据库 show databases;创建数据库 create database demo;查看警告信息 show warnings;查…
暂无图片
编程学习 ·

数据库原理及应用教程陈志泊-第三章课后习题

一、选择题1. B 2. A 3. C 4. B 5. C 6. C7. B 8. D 9. A 10. D 11. C 12. D二、填空题1. 结构化查询语言2. 数据查询、数据定义、数据操纵、数据控制3. 外模式、模式、内模式4. 数据库、事务日志5. NULL/NOT NULL 、 UNIQUE 约束、 PRIMARY KEY 约束、 FOREIGN KEY …
暂无图片
编程学习 ·

Metasploit使用msfcli命令行接口编写shell脚本程序

问题描述使用msfcli命令行接口编写一个Shell脚本程序,实现用户只需输入目标Linux靶机IP地址作为参数,就可以使用usermap_script漏洞渗透攻击模块,获得靶机的远程Shell访问。 解决办法由于2005年时便取消了msfcli,因此使用msfconsole -x来代替msfcli。先提供脚本内容如下: …
暂无图片
编程学习 ·

Java工厂模式解耦合的例子

目录第一个例子第二个例子第三个例子第四个例子Reference 最终项目路径如下:第一个例子 假设有如下接口, package service;public interface Notice {public void work(String message); }实现类如下, package service;public class NoticeImpl implements Notice {@Overrid…
暂无图片
编程学习 ·

创新实训—动画小插件开发实践

基于现今动画行业的发展越来越快,为了有效提供动画制作人员的工作效率,许多动画制作软件诸如maya、3d max以及blender越来越注意软件的高效化,无数的插件慢慢地被开发。我们小组使用Python去开发相应的插件,以加快动画制作人员的制作效率1、首先Pyqt的搭建这也是我第一次使…
暂无图片
编程学习 ·

JS基础_.构造函数修改

<!DOCTYPE html> <html><head><meta charset="UTF-8"><title></title><script type="text/javascript">/** 创建一个Person构造函数* - 在Person构造函数中,为每一个对象都添加了一个sayName方法,* 目前我…
暂无图片
编程学习 ·

Java数据结构--数组、矩阵、广义表

一、简介 1.1 数组的概念是n(n ≥ 1)个相同数据类型的数据元素a0,a1,…,an-1构成的占用一块联系地址的内存单元的有限集合。1.2 特点(1)数组中数据元素的数据类型相同; (2)数组是一种随机存取结构,只要给定一组下标,就可以访问与其对应的数组元素; (3)数组中数据元素…