Unity_UIWidgets新手入门

Hello Everyone!好久没见了,有没有有些想念小黑呢?什么?这么想?哈哈哈哈哈哈,不过我也知道你是想了解新的知识了,才不是想我嘞。
好了,好歹也半年没见面了,今儿给大家介绍一个Unity新的插件包:UIWidgets,这可是个好东西啊!

什么是UIWidgets

官方给出的解释是这样的

UIWidgets是Unity编辑器的一个插件包,可帮助开发人员通过Unity引擎来创建、调试和部署高效的跨平台应用。
UIWidgets主要来自Flutter。但UIWidgets通过使用强大的Unity引擎为开发人员提供了许多新功能,显著地改进他们开发的应用性能和工作流程。

  • 效率
    通过使用最新的Unity渲染SDK,UIWidgets应用可以非常快速地运行并且大多数时间保持大于60fps的速度。
  • 跨平台
    与任何其他Unity项目一样,UIWidgets应用可以直接部署在各种平台上,包括PC,移动设备和网页等。
  • 多媒体支持
    除了基本的2D UI之外,开发人员还能够将3D模型,音频,粒子系统添加到UIWidgets应用中。
  • 开发者友好
    开发者可以使用许多高级工具,如CPU/GPU Profiling和FPS Profiling,直接在Unity Editor中调试UIWidgets应用。

个人理解是这样的
UIWidgets,阿巴,阿巴,阿巴,阿巴!
大家理解了么?嗯,我就知道机智得你能理解我的意思(Unity牛逼!!!)

接触UIWidgets的已经一个多月了,给我的感觉就是 便捷上瘾,具体为什么呢?咱们日后见分晓,好了,废话又说了一大堆,还没给大家见见呢,咱们走着。

UIWidgets使用要求

  • 一:Unity
    安装 Unity 2018.4.10f1(LTS) 或 Unity 2019.1.14f1 及其更高版本。 你可以从Unity下载官网下载最新的Unity。
  • 二:UIWidgets插件包
    访问我们的Github存储库 UIWidgets开源下载最新的UIWidgets包。
    将下载的包文件夹移动到Unity项目的Package文件夹中。
    通常,你可以在控制台(或终端)应用程序中输入下面的代码来完成这个操作:

cd /Packages
git clone https://github.com/UnityTech/UIWidgets.git com.unity.uiwidgets

怎么用UIWidgets

  • 1、打开UnityHub创建一个工程并且打开,切记要使用Unity高版本哟~
  • 2、 去Github存储库UIWidgets开源下载最新的UIWidgets插件包
  • 3、把下载好的UIWidgets插件包放入工程的Packages文件夹中。
  • 4、在场景中先删除所有物体资源;然后创建一个Panel,删除上边的Image组件。
  • 5、创建一个脚本并且挂到之前创建好的Panel上边,命名规则按自己喜好来即可。
  • 6、编写脚本,小黑比较懒,拉存储库的代码改了 改贴上来了:
    ** 做为入口脚本,都是继承UIWidgetsPanel类,需要引入命名空间using Unity.UIWidgets.engine;
    一般会重写以下几个函数:
using System.Collections.Generic;
using Unity.UIWidgets.animation;
using Unity.UIWidgets.engine;
using Unity.UIWidgets.foundation;
using Unity.UIWidgets.material;
using Unity.UIWidgets.painting;
using Unity.UIWidgets.ui;
using Unity.UIWidgets.widgets;
using UnityEngine;
using FontStyle = Unity.UIWidgets.ui.FontStyle; namespace StudyUIWidgets
{
public class UIWidgetsController : UIWidgetsPanel
{
protected override void OnEnable()
{
// if you want to use your own font or font icons.
// FontManager.instance.addFont(Resources.Load<Font>(path: "path to your font"), "font family name"); // load custom font with weight & style. The font weight & style corresponds to fontWeight, fontStyle of
// a TextStyle object
// FontManager.instance.addFont(Resources.Load<Font>(path: "path to your font"), "Roboto", FontWeight.w500,
// FontStyle.italic); // add material icons, familyName must be "Material Icons"
// FontManager.instance.addFont(Resources.Load<Font>(path: "path to material icons"), "Material Icons");
base.OnEnable();
} protected override Widget createWidget()
{
return new WidgetsApp(
home: new MainHomeContrroller(),
pageRouteBuilder: (RouteSettings settings, WidgetBuilder builder) =>
new PageRouteBuilder(
settings: settings,
pageBuilder: (BuildContext context, Animation<float> animation,
Animation<float> secondaryAnimation) => builder(context)
)
);
} class MainHomeContrroller : StatefulWidget
{
public MainHomeContrroller(Key key = null) : base(key)
{
} public override State createState() => new MainHomeContrrollerState();
} class MainHomeContrrollerState : State<MainHomeContrroller>
{
int counter = 0; public override Widget build(BuildContext context)
{
return new Container(
width:float.MaxValue,
color:Colors.grey,
child: new Column(
mainAxisAlignment: Unity.UIWidgets.rendering.MainAxisAlignment.center,
children: new List<Widget> {
new Text(
data:"Counter: " + this.counter,
style:new TextStyle(fontSize:20f)),
new GestureDetector(
onTap: () => {
this.setState(() => {
this.counter++;
});
},
child: new Container(
padding: EdgeInsets.symmetric(20, 20),
color: Colors.blue,
child: new Text("Click Me")
)
)
}
)
);
}
}
}
}
  • 7、保存代码,开始运行,如果出现以下问题。
    则去进行如下设置: 把Warn if No Cameras Rendering取消勾选

    运行起来。
  • 8、看Batches数值,为1,是TMD的 1!刺激不刺激!

UIWidgets运行效果

UIWidgets新手入门结束

短暂的分享时光今日份又要结束啦,感兴趣的同学要多学习,也可以加我qq:841298494,记得带备注,希望可以在未来的道路上一起成长。

接下又要到了分享时刻

小黑的杂货铺,想要什么都有,客官来杯茶喝啊

程序的道路上学习永不停止,探索随时进行。
Let’s go. Just do it. We can.

Unity_UIWidgets新手入门的更多相关文章

  1. 新手入门指导:Vue 2.0 的建议学习顺序

    起步 1. 扎实的 JavaScript / HTML / CSS 基本功.这是前置条件. 2. 通读官方教程 (guide) 的基础篇.不要用任何构建工具,就只用最简单的 <script> ...

  2. Flume NG Getting Started(Flume NG 新手入门指南)

    Flume NG Getting Started(Flume NG 新手入门指南)翻译 新手入门 Flume NG是什么? 有什么改变? 获得Flume NG 从源码构建 配置 flume-ng全局选 ...

  3. 原创:从零开始,微信小程序新手入门宝典《一》

    为了方便大家了解并入门微信小程序,我将一些可能会需要的知识,列在这里,让大家方便的从零开始学习:一:微信小程序的特点张小龙:张小龙全面阐述小程序,推荐通读此文: 小程序是一种不需要下载.安装即可使用的 ...

  4. 【原创】新手入门一篇就够:从零开发移动端IM

    一.前言 IM发展至今,已是非常重要的互联网应用形态之一,尤其移动互联网时代,它正以无与论比的优势降低了沟通成本和沟通代价,对各种应用形态产生了深远影响. 做为IM开发者或即将成为IM开发者的技术人员 ...

  5. 课程上线 -“新手入门 : Windows Phone 8.1 开发”

    经过近1个月的准备和录制,“新手入门 : Windows Phone 8.1 开发”系列课程已经在Microsoft 虚拟学院上线,链接地址为:http://www.microsoftvirtuala ...

  6. WordPress建站 新手入门

    WordPress建站 新手入门教程系列 1. WordPress入门 之 什么是WordPress? 2. WordPress入门 之 搭建WordPress站点需要什么条件? 3. WordPre ...

  7. 安卓自动化测试(2)Robotium环境搭建与新手入门教程

    Robotium环境搭建与新手入门教程 准备工具:Robotium资料下载 知识准备: java基础知识,如基本的数据结构.语法结构.类.继承等 对Android系统较为熟悉,了解四大组件,会编写简单 ...

  8. mongodb新手入门,mongodb命令学习

    下面来总结一下mongodb新手入门的常用命令吧.要是您是mongodb新手,可以看下. 1,show dbs 查询mongodb里面的数据库列表 如果想查看当前连接在哪个数据库下面,可以直接输入db ...

  9. iOS简易柱状图(带动画)--新手入门篇

    叨逼叨 好久没更新博客了,才几个月,发生了好多事情,处理了好多事情.不变的是写代码依然在继续. 做点啥子 看看objective-c的书,学着写了个柱状图,只是练习的demo而已,iOS上的图表控件已 ...

随机推荐

  1. day09-Tomcat01

    Tomcat01 1.WEB开发介绍 WEB,在英文中WEB表示网/网络资源,它用于表示WEB服务器(主机)供浏览器访问的资源 WEB服务器(主机)上供外界访问的Web资源为: 静态web资源(如ht ...

  2. 写一个shell,自动执行jmeter测试脚本

    贡献一个自己写的shell脚本,很简单,但又可以高效率的自动执行jmeter压测脚本. #!/bin/bash #author:zhangyl #version:V1 #该脚本放置于压测脚本的上一层目 ...

  3. 带你从入门到精通学习WireShark

    个人名片: 因为云计算成为了监控工程师‍ 个人博客:念舒_C.ying CSDN主页️:念舒_C.ying 带你从入门到精通学习WireShark 一.什么是WireShark? 二.WireShar ...

  4. Mybatis下的SQL注入漏洞原理及防护方法

    目录 一.前言 二.SQL 注入漏洞原理 1.概述 2.漏洞复现 3.修复建议 三.Mybatis 框架简介 1.参数符号的两种方式 2.漏洞复现 四.Mybatis 框架下的 SQL 注入问题及防护 ...

  5. dfs 序

    dfs序可以\(O(1)\)判断书上两个点的从属关系 Tree Queries 题面翻译 给你一个以\(1\)为根的有根树. 每回询问\(k\)个节点\({v_1, v_2 \cdots v_k}\) ...

  6. C温故补缺(十五):栈帧

    栈帧 概念 栈帧:也叫过程活动记录,是编译器用来实现过程/函数调用的一种数据结构,每次函数的调用,都会在调用栈(call stack)上维护一个独立的栈帧(stack frame) 栈帧的内容 函数的 ...

  7. 关于linux配置java环境变量问题

    前言 这几天一直在学java, 所以配置环境变量是必不可少的步骤,然后我简单的研究了一下,当然也只是皮毛而已 环境变量的就近原则 我电脑下载了oracle公司的jdk(手动配置环境变量), 和直接源里 ...

  8. Google地图瓦片

    1.Web墨卡托空间参考 1.1.什么是Web墨卡托 墨卡托投影,又称正轴等角圆柱投影,由荷兰地图学家墨卡托(G.Mercator)于1569年创拟.假设地球被套在一个圆柱中,赤道与圆柱相切,然后在地 ...

  9. ArcObjects SDK开发 008 从mxd地图文件说起

    1.Mxd文件介绍 ArcGIS的地图文件为.mxd扩展名.Mxd文件的是有版本的,和ArcGIS的版本对应.可以在ArcMap中的File-Save A Copy,保存一个地图拷贝的时候选择Mxd文 ...

  10. day23 JDBC(Java Database Connection)连接 与 通配符与插入返回主键

    JDBC配置connector的jar包 1.项目下新建lib文件夹 2.将mysql-connector-java-版本号.jar复制到lib目录下 3.右键项目名,选择Properties选项 4 ...