技術共有

「Unity3D 高度プログラミングの高度なメインプロセス」第 4 章 UI (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 では自分に合った独自のコンポーネントを作成する必要があります。

  • UI の基盤となるカスタマイズ可能なシステムの観点から見ると、どちらもカス​​タマイズ可能ですが、NGUI の方が便利です。

  • 入力イベント処理の観点から見ると、NGUI は物理システムを混在させますが、UGUI は独自の独立したイベント システムを備えています。

  • 階層表示の観点から見ると、NGUI の概念は少しわかりにくいですが、UGUI の階層概念は明確で明確です。

  • フォント制作の観点から見ると、NGUI は少し面倒ですが、UGUI の方が便利です。

  • コミュニティ改善の観点から見ると、NGUI はより商業的ですが、UGUI には強力な公式サポートの背景があります。

  • パフォーマンスを比較すると、NGUI は少し肥大化していますが、許容範囲内ですが、UGUI の方が優れています。

自分に合った GUI を選択する方法

決定を下す前に、使い慣れたものを選択し、なじみのないものを試してください。

Unity3D 4.x は UGUI を十分にサポートしていないため、Unity3D 4.x プロジェクトでは通常 NGUI を選択します。

最近では、新しいプロジェクトでは最新バージョンの Unity3D の使用が選択されるため、UGUI を選択する人が増えています。

新しいプロジェクトでは UGUI が有効になり、古いプロジェクトでは引き続き NGUI が使用されます。

ソースコードに基づいてさらに作業を進めていきたいと考えています。カスタム変更、そしてそれを完成させます独自のシステムフレームワーク、ゲームロジックをより適切に提供するか、パフォーマンスを向上させるカスタムメイド、その場合、最良の選択は次のとおりです。NGUI 。しかしうぐいオープンソースコードもありますが、自由にカスタマイズできない、これに基づいて拡張機能とオーバーロード