기술나눔

"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 프로젝트는 일반적으로 Unity3D 4.x가 UGUI를 잘 지원하지 않기 때문에 NGUI를 선택합니다.

요즘에는 새로운 프로젝트에서 최신 버전의 Unity3D를 사용하게 되므로 더 많은 사람들이 UGUI를 선택할 것입니다.

새 프로젝트에서는 UGUI를 사용할 수 있고 이전 프로젝트에서는 계속 NGUI를 사용합니다.

소스 코드를 기반으로 더 많은 작업을 수행할 수 있기를 바랍니다.맞춤 수정를 입력한 다음자체 시스템 프레임워크, 게임 로직을 더 잘 제공하거나 더 나은 성능을 제공합니다.맞춤 제작그렇다면 최선의 선택은응구이 .하지만우구이오픈소스 코드도 있지만마음대로 사용자 정의할 수 없습니다., 단지 이것에 기초하여확장과 오버로딩