Compartilhamento de tecnologia

"Processo principal avançado de programação avançada Unity3D" Capítulo 4 UI (1) - Comparação entre NGUI e UGUI

2024-07-12

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

Comparação entre NGUI e UGUI

Comparação de funções de processamento de atlas

  • NGUI requer o uso de ferramentas para unir imagens manualmente em um atlas.
  • Durante o desenvolvimento da UGUI, as imagens podem ser usadas diretamente como elementos e serão automaticamente unidas em um atlas quando embaladas.
  • NGUI pode executar a função de divisão alfa do atlas adicionando classes de ferramentas e shaders. UGUI tem sua própria função de divisão alfa, que é muito mais conveniente.

Comparação de recursos de suporte de componentes

Componentes comuns do 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. 等等等等

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

Personalização

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

Tratamento de eventos de entrada

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

Controle de exibição de hierarquia

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

produção de fontes

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

Completude da comunidade

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

desempenho

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

Resumir

  • Do ponto de vista da ferramenta atlas, o NGUI tem mais liberdade de escolha, enquanto o UGUI tem mais conveniência de automação.

  • Do ponto de vista do suporte a componentes, o NGUI é mais adequado para prototipagem rápida, enquanto o UGUI exige que você escreva seus próprios componentes adequados a você.

  • Do ponto de vista do sistema personalizável subjacente da IU, ambos são personalizáveis, mas o NGUI é mais conveniente.

  • Do ponto de vista do processamento de eventos de entrada, o NGUI mistura o sistema físico, enquanto o UGUI possui seu próprio sistema de eventos independente.

  • Do ponto de vista da exibição hierárquica, o conceito NGUI é um pouco confuso, enquanto o conceito hierárquico UGUI é claro e limpo.

  • Do ponto de vista da produção de fontes, NGUI é um pouco mais problemático, enquanto UGUI é mais conveniente.

  • Do ponto de vista da melhoria da comunidade, o NGUI é mais comercial, enquanto o UGUI tem um forte histórico de suporte oficial.

  • A partir de uma comparação de desempenho, o NGUI é um pouco inchado, mas aceitável, enquanto o UGUI é melhor.

Como escolher a GUI certa para você

Escolha aqueles com os quais você está familiarizado e experimente aqueles com os quais não está familiarizado antes de tomar uma decisão.

Os projetos Unity3D 4.x geralmente escolhem NGUI porque o Unity3D 4.x não suporta bem UGUI.

Hoje em dia, novos projetos optarão por usar a versão mais recente do Unity3D, então mais pessoas escolherão o UGUI.

Novos projetos habilitam UGUI e projetos antigos continuam a usar NGUI.

Espero fazer mais trabalhos com base no código-fonte.Modificações personalizadase, em seguida, complete-o emestrutura do próprio sistema, atender melhor à lógica do jogo ou ter melhor desempenhopersonalizado, então a melhor escolha éNGUI .masUGUITambém existe código-fonte aberto, masNão pode ser personalizado à vontade, apenas com base nissoExtensões e sobrecarga