2024年Unity跨平台UI解决方案:可能是最全的FairyGUI系列教程(2),2024年最新2024最新Android大厂面试真题大全

最后

感谢您的阅读,在文末给大家准备一个福利。本人从事Android开发已经有十余年,算是一名资深的移动开发架构师了吧。根据我的观察发现,对于很多初中级Android工程师而言,想要提升技能,往往是自己摸索成长,不成体系的学习效果低效漫长且无助。

所以在此将我十年载,从萌新小白一步步成长为Android移动开发架构师的学习笔记,从Android四大组件到手写实现一个架构设计,我都有一一的对应笔记为你讲解。

当然我也为你们整理好了百度、阿里、腾讯、字节跳动等等互联网超级大厂的历年面试真题集锦。这也是我这些年来养成的习惯,一定要学会把好的东西,归纳整理,然后系统的消化吸收,这样才能极大的提高学习效率和成长进阶。碎片、零散化的东西,我觉得最没有价值的。就好比你给我一张扑克牌,我只会觉得它是一张废纸,但如果你给我一副扑克牌,它便有了它的价值。这和我们收集资料就要收集那些系统化的,是一个道理。

最后,赠与大家一句诗,共勉!

不驰于空想,不骛于虚声。不忘初心,方得始终。

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

纹理集

FairyGUI基础元素

元件

图片

资源适配

动画

图形

占位

装载器

视频/模型


FairyGUI简介导读

============

她提供了超强的UI编辑器,界面操作与PS类似,友善且简单。主打的是摒弃了脚本和配置文件这些需要代码思维的操作,设计或者美术都可以轻轻松松学会并生产界面。

能实现功能非常之多:最基本的按钮,图片,富文本,进度条,滑动条,列表,树

进阶的有动画,控制器,关联系统,装载器,窗口,动效

支持的引擎也非常之多:Unity,Unreal,Cocos,ThreeJS,Egret,LayaAir等十多款游戏引擎

通过简单的操作来实现复杂的功能,提高开发效率,UI 制作效率提升昂昂的,有效减少了工作耦合性。

更关键的是她是开源的https://github.com/fairygui

遇到问题也可以去官方社区寻找答案https://ask.fairygui.com/

官方也有学习教程https://www.fairygui.com/docs/guide/

FairyGUI效果演示

============

Unity技术-FairyGUI效果视频

FairyGUI和UGUI类比

===============

从基础角度


UGUI是基于Unity编辑器的,相比于以前的UI技术方案有了很大的提升,虽然扩展性强一些,但想要实现的更炫,更优雅,还是需要从程序角度下功夫,延长了开发周期和人员占用

FariyGUI是一个独立的编辑器,可视化的操作,各种动效点点鼠标即可实现,虽然扩展性差了点,但想要的效果基本都能实现,再高深的效果深入学习下FairyGUI也能再自己扩展。

从技术角度


Unity的锚点系统可以说很优秀了,快捷默认的十几个锚点工具帮助开发人员快速定位,但也存在缺点,因为锚点是针对父物体的,所以要考虑好各种父子关系,搞不好就懵了。

FairyGUI除了支持官方的锚点系统,还有自己的关联系统,任意俩组件关联,不用考虑任何的父子关系,这就像Android里面的相对布局。

从提供的基本组件数量上来看,FairyGUI明显多很多,从动画效果上看,FairyGUI实现起来更迅速

从整体角度


UGUI仍然在Unity编译器中操作,和项目不分开,需要有些动效的话,就需要写代码,多人开发的话很可能代码耦合

FariyGUI是真的将UI分出单独的工作,她都在自己的UI编辑器中完成,不需要代码

更关键的是利用FairyGUI可以妥善划分工作模块,比如将UI这块分给前端开发或者UI设计人员(我们公司前端和UI空闲时间较多),这样既可以减轻Unity开发的压力,还能让其他员工行动起来,从项目角度缩短开发周期。

当然了刚开始的时候沟通成本可能有些花费,节点命名层次结构需要相互约定好,员工之间多磨合熟练增进下友谊也挺好

所以在项目中大胆的尝试吧,本系列作者小空已经实际项目中应用了。

友情提示:本内容是在官方文档的基础上学习做的笔记,有官方内容也有自己的理解

FairyGUI编辑器使用

=============

FairyGUI的项目文件结构


公众号:空名先生

.objs 内部数据目录。注意:不要加入版本管理,因为这里的内容是不需要共享的。

assets 包内容放置目录,资源内容都在这里面,里面还可以分不同的包,便于区分管理(看下图)

settings 配置文件放置目录。

****.fairy 项目识别文件,也就是项目名称

公众号:空名先生

目录

在编辑器中对应显示如下:

公众号:空名先生

编辑器目录

编译器主界面


公众号:空名先生

标题

注意左方功能区的显示列表,按显示顺序排列,列表中越往下的元件显示在越前面。可以在列表中直接拖拽改变元件改变它们在显示列表中的位置。

动效时间轴

公众号:空名先生

在左侧功能区动效里面增加动效后双击动效即可进去时间轴

公众号:空名先生

  1. 时间显示单位是秒

  2. 参与动效的各个元件和属性,左边元件名称可以起名规范些,以后若是想在Unity中用代码控制也方便(因为代码中控制是需要用名字来查找的),右侧显示的是属性(XY-改变位置,Size-改变大小,Rotation-改变旋转,还有改变透明度,颜色,缩放,倾斜,可见性,声音,震动,滤镜等等)。想要添加新属性的话,在舞台(中央操作区)右键元件即可出现

  3. 各个属性的时间轴。https://www.fairygui.com/docs/images/20170808103109.png 表示关键帧,公众号:空名先生 表示两个关键帧之间使用插值动画(右键创建Tween,支持自定义:选中关键帧后在右侧功能区有缓动函数)公众号:空名先生公众号:空名先生 红色小红旗则表示这个关键帧有Label(标签),可以通过代码按标签名称访问进而实现帧监听(比如走到某一帧执行其他逻辑)。

  4. 信息显示区 ,FPS是帧率,在右侧功能区检查器最上方修改;frame便是当前从第几帧开始播放;time表示播放头的时间是多少,单位是秒

  5. 时间轴放大/缩小,当编辑的动效很长时,将她拉大即可

  6. 时间轴上和Unity时间轴一样都可以在上面操作,左键包含单选/多选/拖动,右键包含转换为关键帧/清除关键帧/插入帧/创建或删除Tween等

引用/搜索/控制台


引用:查询一个资源被其他资源引用的情况,或者查询一个资源引用其他资源的情况,关键是还能替换,6的很

公众号:空名先生

搜索:输入关键字,检索出相关内容

控制台:显示软件的提示信息,分为提示信息,警告信息和错误信息。

测试界面:

当你想看看运行效果的时候,可以点击主工具栏的测试按钮或者F5运行

公众号:空名先生

你可以设置全局适配参数,修改设备预览,横竖屏等操作。当时要注意在动效播放过程中,不要改变屏幕大小,否则会出现异常。

项目设置


默认值

公众号:空名先生

注意:这些参数是编辑器内的默认值,与运行时无关。运行时需要用UIConfig重新进行全局的设置。而且后者的设置也不一定需要和这里的设置相同。

字体:修改所有文本的默认字体,可以使用项目中的字体(ttf文件)也可以用系统自带的(你电脑C:\Windows\Fonts下有什么字体这就有什么字体)

字体颜色/大小:设置在舞台中(中央操作区)新建文本的默认颜色和大小

默认轴心:即坐标原点,默认左上角即可

垂直滚动条/水平滚动条:设置制作UI时所有带滚动功能的容器需要使用的滚动条资源。这就是说,你将一个组件或者一个列表的“溢出处理”设置为“垂直滚动”、“水平滚动”或者“自由滚动”后,不需要每次设置滚动条,自动就会使用这里设置的滚动条资源。如果某个组件需要使用和全局设置不一样的滚动条,在当前组件拖动上去覆盖掉即可。全局设置和单独设置都支持。

按钮点击声音:设定按钮的默认点击声音。设置后,所有按钮点击都会播放这个声效,除非按钮自己独立设置另外的声效。这个设置仅用于编辑器内,运行时使用UIConfig.buttonSound设定。

快捷菜单

在这设置后,当以后你在任何地方修改字体大小颜色或字体样式的时候,不用设置了,直接用下拉菜单选择即可。

项目分支

公众号:空名先生

对有的项目来说这节很重要。

分支功能是用来实现多态设计的,比如多语言版本存在UI的差别,除了基本文字的中英文差别,还有图片艺术字中英文等差别,要保证资源名称一致,这和Android的思想一致。

我们都是在主干上开发,随时可以建立任意多个分支,然后分支上添加有差别的内容即可

注意,它和代码仓库中的分支概念不一样。UI分支不包含主干的资源,它只放置与主干有差别的内容,降低资源容量

详细内容可看官方文档教程

发布设置


纹理集

公众号:空名先生

发布的时候编辑器会将项目中的图片资源放到一起,当放不小的时候会自动分页,如图

公众号:空名先生

这的设置修改影响着发布出来的纹理集大小,一般默认的即可,自己可以修改看看都有什么效果,除了发布路径你自己修改,其他内容一般情况下保持默认的即可。

难道真这么简单?小空刚开始也挺顺利,后面资源多了也开始蹦出不少问题:

问题一:Gif图的序列帧刚好被分配到了两个纹理集上,而要求Gif帧需要在一张纹理集上,编辑器就会在你发布的时候给你提示:发布失败,动画被自动发布到不同的纹理集上,这会导致…

想要解决,我们只需要将这个Gif图改为单独的纹理集就行了(双击会弹出设置)。Gif在编辑器中是动画形式,详情请看本系列的动画小节。

公众号:空名先生

公众号:空名先生

问题二:再深入的问题又来了,一款游戏,再小他也是有不少资源的。纹理集设置默认是2048*2048像素的(在发布设置中可修改),保不齐修改更大的尺寸(4096像素?或者8192像素?)。发布后放到Unity运行你会发现,哎呦我去,怎么变模糊了?UI给图给岔劈了?不对啊,在FairyGUI中看没问题啊。难道问题出在Unity?

不错,你发布出来的纹理集资源放到Unity里默认是2048的,你已经修改成更高像素的了,还用2048的来解析,不出问题才怪。只需要修改最大尺寸对应上即可。

公众号:空名先生

问题三:以为这就完了?还能再深入,这点小空也是着实被坑了一把。即使你设置了如上内容,睁大钛合金双眼仔细看,还是能看出一些不舒服的地方:可能部分有点点“灰边”,而在FairyGUI中却没有。

没错又是Unity搞得鬼,看上图右侧部分,有个压缩选项,默认Unity纹理集是法线压缩,你改为none即可。

读者要是第一次学习FairyGUI,这几个问题能看着不知其所以然。没关系,接着往下了解,当看完教程实际上手后,你会发现这的坑。

FairyGUI基础元素

============

元件

学习分享

在当下这个信息共享的时代,很多资源都可以在网络上找到,只取决于你愿不愿意找或是找的方法对不对了

很多朋友不是没有资料,大多都是有几十上百个G,但是杂乱无章,不知道怎么看从哪看起,甚至是看后就忘

如果大家觉得自己在网上找的资料非常杂乱、不成体系的话,我也分享一套给大家,比较系统,我平常自己也会经常研读。

2021最新上万页的大厂面试真题

七大模块学习资料:如NDK模块开发、Android框架体系架构…

只有系统,有方向的学习,才能在段时间内迅速提高自己的技术。

这份体系学习笔记,适应人群:
第一,学习知识比较碎片化,没有合理的学习路线与进阶方向。
第二,开发几年,不知道如何进阶更进一步,比较迷茫。
第三,到了合适的年纪,后续不知道该如何发展,转型管理,还是加强技术研究。如果你有需要,我这里恰好有为什么,不来领取!说不定能改变你现在的状态呢!
由于文章内容比较多,篇幅不允许,部分未展示内容以截图方式展示 。

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

**

[外链图片转存中…(img-xM0MUkY2-1715716859127)]

只有系统,有方向的学习,才能在段时间内迅速提高自己的技术。

这份体系学习笔记,适应人群:
第一,学习知识比较碎片化,没有合理的学习路线与进阶方向。
第二,开发几年,不知道如何进阶更进一步,比较迷茫。
第三,到了合适的年纪,后续不知道该如何发展,转型管理,还是加强技术研究。如果你有需要,我这里恰好有为什么,不来领取!说不定能改变你现在的状态呢!
由于文章内容比较多,篇幅不允许,部分未展示内容以截图方式展示 。

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 20
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Unity Trilib2插件是一个用于Unity引擎的三维模型导入和管理工具。它可以帮助开发者在Unity中导入、处理和管理各种三维模型资源。最新Unity Trilib2插件的主要特点和更新如下: 1. 支持多种模型格式:Unity Trilib2可以导入和处理常见的三维模型格式,包括OBJ、FBX、3DS等。这使得开发者可以方便地导入各种不同格式、来源的三维模型文件。 2. 快速而稳定的导入功能:最新版的Unity Trilib2插件在导入模型时具有更高的性能和稳定性。它可以有效地处理大型模型或高复杂度的场景,同时减少导入时的崩溃和错误情况。 3. 自定义导入设置:Unity Trilib2插件提供了丰富的导入设置选项,允许开发者根据项目需求进行细致的调整。例如,可以选择导入的材质类型、贴图压缩方式、动画导入方式等。 4. 高效的模型数据管理:Unity Trilib2插件可以将导入的模型数据进行组织和管理,使得开发者可以更轻松地在项目中使用。例如,可以在Unity编辑器中预览、修改和配置模型的各种属性和效果。 5. 多种平台的兼容性:最新版的Unity Trilib2插件可以与主流的平台和设备兼容,包括PC、移动设备、虚拟现实设备等。这为开发者提供了更广泛的使用场景和目标用户。 总之,最新版的Unity Trilib2插件通过提供更高的性能、稳定性和灵活性,为开发者在Unity中导入、处理和管理三维模型提供了更好的工具和体验。无论是开发大型项目还是小型应用程序,Unity Trilib2插件都能为开发者提供高效、便捷的三维模型操作功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值