Partage de technologie

"Processus principal avancé de programmation avancée Unity3D" Chapitre 4 UI (1) - Comparaison entre NGUI et UGUI

2024-07-12

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

Comparaison entre NGUI et UGUI

Comparaison des fonctions de traitement de l'atlas

  • NGUI nécessite l'utilisation d'outils pour assembler manuellement des images dans un atlas.
  • Lors du développement d'UGUI, les images peuvent être utilisées directement comme éléments et elles seront automatiquement fusionnées dans un atlas une fois emballées.
  • NGUI peut effectuer la fonction de fractionnement alpha de l'atlas en ajoutant des classes d'outils et des shaders. UGUI possède sa propre fonction de fractionnement alpha, ce qui est beaucoup plus pratique.

Comparaison des fonctionnalités de support des composants

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

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

Personnalisation

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

Gestion des événements d'entrée

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

Contrôle d'affichage de la hiérarchie

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

production de polices

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

Complétude de la communauté

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

performance

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

Résumer

  • Du point de vue de l'outil atlas, NGUI a plus de liberté de choix, tandis qu'UGUI a plus de commodité d'automatisation.

  • Du point de vue de la prise en charge des composants, NGUI est plus adapté au prototypage rapide, tandis qu'UGUI vous oblige à écrire vos propres composants qui vous conviennent.

  • Du point de vue du système personnalisable sous-jacent de l’interface utilisateur, les deux sont personnalisables, mais NGUI est plus pratique.

  • Du point de vue du traitement des événements d'entrée, NGUI mélange le système physique, tandis que UGUI possède son propre système d'événements indépendant.

  • Du point de vue de l'affichage hiérarchique, le concept NGUI est un peu déroutant, tandis que le concept hiérarchique UGUI est clair et net.

  • Du point de vue de la production de polices, NGUI est un peu plus gênant, tandis qu'UGUI est plus pratique.

  • Du point de vue de l'amélioration de la communauté, NGUI est plus commercial, tandis qu'UGUI bénéficie d'un solide historique de soutien officiel.

  • D'après une comparaison des performances, NGUI est un peu gonflé mais acceptable, tandis qu'UGUI est meilleur.

Comment choisir l'interface graphique qui vous convient

Choisissez ceux que vous connaissez et essayez ceux que vous ne connaissez pas avant de prendre une décision.

Les projets Unity3D 4.x choisissent généralement NGUI car Unity3D 4.x ne prend pas bien en charge UGUI.

De nos jours, les nouveaux projets choisiront d'utiliser la dernière version d'Unity3D, donc davantage de personnes choisiront UGUI.

Les nouveaux projets activent UGUI et les anciens projets continuent d'utiliser NGUI.

J'espère faire plus de travail basé sur le code source.Modifications personnalisées, puis complétez-le danspropre cadre système, mieux servir la logique du jeu ou avoir de meilleures performancessur mesure, alors le meilleur choix estInterface utilisateur graphique (NGUI) .maisUGUIIl existe également du code open source, maisNe peut pas être personnalisé à volonté, juste basé sur ceciExtensions et surcharge