Technologieaustausch

„Erweiterter Hauptprozess der erweiterten Unity3D-Programmierung“ Kapitel 4 UI (1) – Vergleich zwischen NGUI und UGUI

2024-07-12

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

Vergleich zwischen NGUI und UGUI

Vergleich der Atlasverarbeitungsfunktionen

  • NGUI erfordert den Einsatz von Werkzeugen, um Bilder manuell in einen Atlas einzufügen.
  • Während der UGUI-Entwicklung können Bilder direkt als Elemente verwendet werden und werden beim Packen automatisch in einen Atlas gespleißt.
  • Für die Alpha-Aufteilungsfunktion des Atlas kann NGUI dies durch Hinzufügen von Werkzeugklassen und Shader tun. UGUI verfügt über eine eigene Alpha-Aufteilungsfunktion, was viel praktischer ist.

Vergleich der Komponentenunterstützungsfunktionen

Gemeinsame NGUI-Komponenten

  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. 等等等等

Gemeinsame UGUI-Komponenten

  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 – 遮挡块

Anpassbarkeit

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

Behandlung von Eingabeereignissen

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

Steuerung der Hierarchieanzeige

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

Schriftproduktion

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

Vollständigkeit der Community

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

Leistung

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

Zusammenfassen

  • Aus Sicht des Atlas-Tools bietet NGUI mehr Wahlfreiheit, während UGUI mehr Automatisierungskomfort bietet.

  • Aus Sicht der Komponentenunterstützung eignet sich NGUI besser für Rapid Prototyping, während Sie bei UGUI Ihre eigenen Komponenten schreiben müssen.

  • Aus Sicht des zugrunde liegenden anpassbaren Systems der Benutzeroberfläche sind beide anpassbar, NGUI ist jedoch praktischer.

  • Aus Sicht der Eingabeereignisverarbeitung mischt NGUI das physische System, während UGUI über ein eigenes unabhängiges Ereignissystem verfügt.

  • Aus Sicht der hierarchischen Anzeige ist das NGUI-Konzept etwas verwirrend, während das hierarchische UGUI-Konzept klar und sauber ist.

  • Aus Sicht der Schriftartenproduktion ist NGUI etwas problematischer, während UGUI bequemer ist.

  • Aus Sicht der Community-Verbesserung ist NGUI eher kommerziell, während UGUI über einen starken offiziellen Support-Hintergrund verfügt.

  • Im Leistungsvergleich ist NGUI etwas aufgebläht, aber akzeptabel, während UGUI besser ist.

So wählen Sie die für Sie passende GUI aus

Wählen Sie diejenigen aus, mit denen Sie vertraut sind, und probieren Sie diejenigen aus, mit denen Sie nicht vertraut sind, bevor Sie eine Entscheidung treffen.

Unity3D 4.x-Projekte wählen normalerweise NGUI, da Unity3D 4.x UGUI nicht gut unterstützt.

Heutzutage entscheiden sich neue Projekte für die neueste Version von Unity3D, sodass sich immer mehr Menschen für UGUI entscheiden.

Neue Projekte ermöglichen UGUI und alte Projekte verwenden weiterhin NGUI.

Ich hoffe, dass ich basierend auf dem Quellcode weitere Arbeiten durchführen kann.Kundenspezifische Modifikationen, und vervollständigen Sie es dann ineigenes System-Framework, besser der Spiellogik dienen oder eine bessere Leistung erzielenMass angefertigt, dann ist die beste WahlNGUI .AberUGUIEs gibt aber auch Open-Source-CodeKann nicht beliebig angepasst werden, nur basierend daraufErweiterungen und Überlastung