【Unity入门】NGUI和UGUI比较

这篇具有很好参考价值的文章主要介绍了【Unity入门】NGUI和UGUI比较。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


现在主流项目中基本上都是NGUI和UGUI,那么到底选哪个,我们先来做个比较
图集处理功能比较
NGUI需要使用工具手动拼接图片成图集。
UGUI开发期间可以直接使用图片作为元素,打包时会自动拼接成图集。

图集的alpha拆分功能,NGUI可以通过增加工具类和shader来做,UGUI有自带的alpha拆分功能方便许多。
组件支持功能比较

NGUI组件比较多,比较常用的有

  • Localization System – 多语言组件
  • UIScrollView – 滚动视图
  • UIButton – 按钮
  • UIToggle – 切换选择组件
  • UIScrollBar – 滚动条
  • UIProcessBar – 进度条
  • UIPopupList --下拉列表菜单
  • UIInput – 输入框
  • UIKeyBinding – 快捷键绑定
  • UIKeyNavigation – 导航绑定
  • UIGrid – 排列
  • UITable – 表格排列
  • UIPlayAnimation – UI动画
  • UIAnchor – 锚点
  • UICamera – UI摄像头
  • UIDragXXX – 拖拽摄像头,元素,视图等
  • UIFont – UI字体
  • UILabel – 文字组件
  • UIPanel – 绘制面板
  • UIPlaySound – 声音播放
  • UITexture – 贴图
    等等等等…还有很多

UGUI组件比较少,比较常用的有

  • Text – 文字
  • Image – 贴图(图集中的元素)
  • RawImage – 贴图(单张图),可用于制作游戏小地图
  • Button – 按钮
  • Toggle – 切换与选择
  • Slider – 大小滑动块
  • Scrollbar – 滑动条
  • Dropdown – 下拉框
  • Input Field – 输入框
  • Canvas – 画布
  • Panel – 一大块元素
  • Scroll View – 滑动视图
  • Mask – 遮挡块
    可定制程度

NGUI和UGUI比较

NGUI有源码,可以随时随地修改满足特殊需求
UGUI源码c#开源,可修改,但不是那么方便,需要重新打成dll后再替换原来的
输入事件处理

NGUI通过摄像头发出射线碰撞,接受输入事件,并通过碰撞顺序来处理层级。
UGUI根据输入点的位置RaycastTarget,判断事件应该交给哪个UI元素。
层级显示控制

NGUI依靠Panel depth、RenderQueue来控制层级。
UGUI可以依靠距离摄像机的前后位置来控制层级,也可以用sort order排序设置前后顺序。
字体制作

NGUI不支持dynamic font。
UGUI支持dynamic font,可直接使用字体文件
社区完善程度

NGUI商业运营,氛围良好
UGUI官方自运营,后台强大
性能

NGU据很多测试网站统计,性能尚可
UGUI同样,据很多测试网站统计,性能良好
好了,以上列出的是从几个方面对NGUI和UGUI的比较。

从图集工具来看,NGUI有更多的自主选择权,而UGUI更多的自动化的便利,

从组件支持度来看NGUI更适合快速原型,而UGUI更多的是需要自己编写适合自己的组件。

从UI底层可定制度上看,两者都是可定制的,但NGUI更加方便。

从输入事件处理上看,NGUI混合了物理系统,而UGUI有一套自己独立的事件系统。

从层级显示上看,NGUI概念有点混淆,而UGUI层级概念清晰干净。

从字体制作上看,NGUI麻烦了点,而UGUI更加方便。

从社区完善上看,NGUI更加商业化,而UGUI有官方支持后台强大。

从性能上比较看,NGUI臃肿了点但尚可,而UGUI更加良好。

综合来看,NGUI和UGUI都各自有各自的特点,没有绝对好,也没有绝对的差,都各自有各自的特点,和擅长的领域。针对不同的人群和项目可以有不同的选择。

如何选择适合你的GUI
适不适合,并不是绝对的,根据人和项目来分,上面分析过程中看,NGUI和UGUI都各自有自己的特点,对每个人每种情况来说都是不一样的。我的建议是选择你熟悉的,尝试你不熟悉的比较后再做决定。

Unity3D 4.x的项目通常会选择NGUI,因为Unity3D 4.x对UGUI支持的并不好。而如今新项目都会选择使用最新版本的Unity3D,所以选择UGUI的会多一点。我们需要与时俱进跟随潮流,所以如果你没有尝试过UGUI,熟悉UGUI应该是迟早的事。铁了心要做一个决定是用NGUI还是用UGUI,我的建议是,新项目启用UGUI,老项目继续使用NGUI。

但也不一定是一个套路用到底,比如有些人就是喜欢把控源码,希望在源码基础上进行更多的自定义的修改,然后完善成自己的系统框架,更好的服务于游戏逻辑,或者拥有更好的性能定制,那么最好的选择就是NGUI。不过UGUI也有源码开放,只是不能随意定制,只是在此基础上扩展和重载。文章来源地址https://www.toymoban.com/news/detail-797095.html

到了这里,关于【Unity入门】NGUI和UGUI比较的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Unity入门】UGUI之Slider(滑动条)

    Slider控件允许用户可以通过鼠标来在预先确定的范围调节数值 我们可以在Hierarchy视图右键 - UI -Slider来创建滑动条 通过上图可以发现Unity内置的Slider主要有3部分,一个是最底层的Background,然后是Fill(进度),然后就是Handle(圆点) 注意:Handle可以去除,其并不是必须的。去

    2024年02月22日
    浏览(38)
  • unity NGUI使用方法

    很多基本模块比如按钮、slider等都能从Prefab中直接拖拽到场景中实现,但都需要有一个Collider(Prefab已经自带) 因为不仅是UI,所有带有Collider的游戏物体都能接收到OnClick, OnPress这样的事件——前提是需要在Main Camera里面添加上event System组件,然后自定义脚本添加以下函数:

    2024年02月05日
    浏览(38)
  • 使用团结引擎开发Unity 3D射击游戏

           本案例是初级案例,意在引导想使用unity的初级开发者能较快的入门,体验unity开发的方便性和简易性能。       本次我们将使用团结引擎进行开发,帮助想体验团结引擎的入门开发者进行较快的环境熟悉。      本游戏是一个俯视角度的射击游戏。主角始终位于屏幕

    2024年01月19日
    浏览(52)
  • Unity、UE、Cocos游戏开发引擎的区别

    Unity、Unreal Engine(UE)和Cocos引擎是三个常用的游戏开发引擎,它们在功能和特性上有一些区别。以下是它们之间的主要区别: 编程语言:Unity使用C#作为主要的编程语言,开发者可以使用C#脚本进行游戏逻辑编写。Unreal Engine主要使用C++作为编程语言,但也支持蓝图系统,允许

    2024年02月22日
    浏览(47)
  • Unity vs Godot :哪个游戏引擎更适合你?

    游戏引擎的选择对开发过程和最终产品质量有着重大影响。近年来,Godot和Unity这两款引擎受到广泛关注。本文将从多个维度对两者进行比较,以期为开发者提供正确的选择建议。 Godot和Unity都有各自的优势,没有绝对的好坏之分。Godot开源免费,上手简单,更适合2D和小型游戏

    2024年01月23日
    浏览(74)
  • 30分钟了解所有引擎组件,132个Unity 游戏引擎组件速通!【收藏 == 学会】

    🎬 博客主页:https://xiaoy.blog.csdn.net 🎥 本文由 呆呆敲代码的小Y 原创,首发于 CSDN 🙉 🎄 学习专栏推荐:Unity系统学习专栏 🌲 游戏制作专栏推荐:游戏制作 🌲Unity实战100例专栏推荐:Unity 实战100例 教程 🏅 欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正! 📆 未来很长

    2024年02月11日
    浏览(52)
  • Unity基础知识笔记(三)——NGUI中的UIInput

    NGUI中的UIInput的使用_ngui uiinput-CSDN博客 https://blog.csdn.net/MonoBehaviour/article/details/78423299?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522171023629716800180684601%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257Drequest_id=171023629716800180684601biz_id=0utm_medium=distribute.pc_search_result.none-task-blog-2~all~so

    2024年03月25日
    浏览(28)
  • Unity Physics2D 2d物理引擎游戏 笔记

    2d 材质 里面可以设置 摩擦力 和 弹力 Simulated:是否在当前的物理环境中模拟,取消勾选该框类似于Disable Rigidbody,但使用这个参数更加高效,因为Disable会销毁内部产生的GameObject,而取消勾选Simulated只是禁用。 Kinematic 动力学刚体 动力学刚体不受重力和力的影响,而受用户的

    2023年04月24日
    浏览(102)
  • Unity3D学习之UI系统——NGUI

    资源商店搜索 学习版自行搜索 导入即可 创建UI 创建NGUI后,挂载在UI Root 和其 子Camera的脚本 分辨率自适应模式的基础 3.1.1 分辨率概念 3.1.2 Root的作用 3.1.3 root脚本各组件 Minimun Height 和 Maximum Height 用于拖动窗口时,如果窗口变得很小了,UI不缩放的话,会挡住游戏,使用Flex

    2024年03月17日
    浏览(73)
  • GODOT游戏引擎简介,包含与unity性能对比测试,以及选型建议

    GODOT,是一个免费开源的3D引擎。本文以unity作对比,简述两者区别和选型建议。由于是很久以前写的ppt,技术原因视频和部分章节丢失了。建议当做业务参考。 GODOT目前为止遇到3个比较重大的机遇,第一个是oprea的合作奖,第二个是用支持c#换来的微软的投资,第三个是虚幻

    2024年02月14日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包