Обмен технологиями

«Расширенный основной процесс расширенного программирования Unity3D». Глава 4. Пользовательский интерфейс (1) — Сравнение NGUI и UGUI.

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Сравнение NGUI и UGUI

Сравнение функций обработки атласа

  • NGUI требует использования инструментов для ручного сшивания изображений в атлас.
  • При разработке UGUI изображения можно использовать непосредственно как элементы, а при упаковке они будут автоматически склеены в атлас.
  • NGUI может выполнять функцию альфа-разделения атласа, добавляя классы инструментов и шейдеры. В UGUI есть собственная функция альфа-разделения, что гораздо удобнее.

Сравнение функций поддержки компонентов

Общие компоненты NGUI

  1. Localization System -- 多语言组件
  2. UIScrollView -- 滚动视图
  3. UIButton -- 按钮
  4. UIToggle -- 切换选择组件
  5. UIScrollBar -- 滚动条
  6. UIProcessBar -- 进度条
  7. UIPopupList --下拉列表菜单
  8. UIInput -- 输入框
  9. UIKeyBinding -- 快捷键绑定
  10. UIKeyNavigation -- 导航绑定
  11. UIGrid -- 排列
  12. UITable – 表格排列
  13. UIPlayAnimation -- UI动画
  14. UIAnchor -- 锚点
  15. UICamera -- UI摄像头
  16. UIDragXXX – 拖拽摄像头,元素,视图等
  17. UIFontUI字体
  18. UILabel – 文字组件
  19. UIPanel – 绘制面板
  20. UIPlaySound – 声音播放
  21. UITexture – 贴图
  22. 等等等等

Общие компоненты UGUI

  1. Text – 文字
  2. Image – 贴图(图集中的元素)
  3. RawImage – 贴图(单张图)
  4. Button – 按钮
  5. Toggle – 切换与选择
  6. Slider – 大小滑动块
  7. Scrollbar – 滑动条
  8. Dropdown – 下拉框
  9. Input Field – 输入框
  10. Canvas – 画布
  11. Panel – 一大块元素
  12. Scroll View – 滑动视图
  13. Mask – 遮挡块

Настраиваемость

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

Обработка входных событий

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

Управление отображением иерархии

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

производство шрифтов

  1. NGUI不支持dynamic font。
  2. UGUI支持dynamic font,可直接使用字体文件

Полнота сообщества

  1. NGUI商业运营,氛围良好
  2. UGUI官方自运营,后台强大

производительность

  1. NGU据很多测试网站统计,性能尚可
  2. UGUI同样,据很多测试网站统计,性能良好

Подведем итог

  • С точки зрения инструмента атласа, NGUI имеет больше свободы выбора, а UGUI обеспечивает больше удобства автоматизации.

  • С точки зрения поддержки компонентов NGUI больше подходит для быстрого прототипирования, тогда как UGUI требует от вас написания собственных компонентов, которые вам подходят.

  • С точки зрения базовой настраиваемой системы пользовательского интерфейса оба варианта являются настраиваемыми, но NGUI более удобен.

  • С точки зрения обработки входных событий NGUI смешивает физическую систему, тогда как UGUI имеет собственную независимую систему событий.

  • С точки зрения иерархического отображения концепция NGUI немного запутанна, тогда как иерархическая концепция UGUI ясна и понятна.

  • С точки зрения создания шрифтов NGUI немного сложнее, а UGUI удобнее.

  • С точки зрения улучшения сообщества NGUI более коммерческий, тогда как UGUI имеет мощную официальную поддержку.

  • Если сравнивать производительность, NGUI немного раздут, но приемлем, тогда как UGUI лучше.

Как выбрать графический интерфейс, который подходит именно вам

Выберите те, с которыми вы знакомы, и попробуйте те, с которыми вы незнакомы, прежде чем принимать решение.

В проектах Unity3D 4.x обычно выбирают NGUI, поскольку Unity3D 4.x плохо поддерживает UGUI.

Сегодня новые проекты предпочитают использовать последнюю версию Unity3D, поэтому все больше людей выбирают UGUI.

Новые проекты поддерживают UGUI, а старые проекты продолжают использовать NGUI.

Я надеюсь сделать больше работы на основе исходного кода.Пользовательские модификации, а затем завершить его всобственная системная основа, лучше обслуживать игровую логику или иметь лучшую производительностьсделанный на заказ, то лучший выборНГУИ .ноUGUIСуществует также открытый исходный код, ноНевозможно настроить по своему желанию, только исходя из этогоРасширения и перегрузка