• Unity开发之NGUI系列


    Unity插件收集

    在Unity开发过程中会收集一些插件,收集这些插件的目的并不是我喜欢在开发中使用插件,而是本着喜欢的态度去收集的,就像我喜欢收集模型一样;

    还有一点就是通过了解插件能让我知道Unity更多的功能与应用,假设说:我想做一个RPG的手机游戏,但是不知道如何通过做出打斗的那种真实感,在Assets Store已经有这样的pack或kit,我就可以从它的代码结构,资源使用及Demo截图、文字描述中大概得知一二,再经过分析,能为我的前期规范,及项目规化做好工作。

    当然了收集这么多插件,有些也是因为在Assets Store上宣传特别地给力,所以想收藏过来看一看其强大之处……

    相对收集插件及模型来说,我更偏向看Unity方面的书箱,读书能够让我更全面地了解unity方方面面,包括一些基础的技能。

    NGUI相关插件列表

    其中与NGUI相关的一系列的插件就有如下:(注:还有一些未整理),版本也从刚开始使用的2.0到现在的3.0.1,经历这么多的版本变化,对我来说,我要使用的核心的功能还是一样“提高开发效率,减少Draw Call。”

    最常用的要数NGUI、NGUI&HUD Text、StarlinkUI,其它的仅当了解,还没有应用到具体的项目中

    image

    以下是部分插件在Assets Store上的截图

    NGUI检视面板增强

    image

    UI的MVVM模式

    image

    文字添加右键功能

    image

    PS和Unity的工作流

    image

    NGUI2.x的深度管理

    image

    Retina适配

    image

    高效的头顶漂文 HUD

    image

    NGUI

    image

     

    UI模版

    image

     

    在NGUI中使用Html标签

    image

     

    NGUI版本升级

    在使用3.0的时候,在readme中的这段话让我考虑了一下是否继续提升当前的NGUI版本

    NGUI3.0更新日志

    *** WARNING ***
    PLEASE BACK UP YOUR PROJECT BEFORE UPDATING!
    3.0.0 is a major changeset. You will need to open and re-save all of your scenes and prefabs after updating!
    After updating, expect some things to no longer work the same way they used to. Widgets scale is no longer
    used as its size, so any code that you had relying on this will need to change to use 'width' and 'height'.
    You can also expect compile errors related to delegate usage. The following links may help you:
    
    http://www.youtube.com/watch?v=uNSZsMnhS1o&list=UUQGZdUwzE8gmvgjomZSNFJg
    http://www.tasharen.com/forum/index.php?topic=11.msg27296#msg27296
    
    3.0.0:
    - NEW: Changed the way widgets get batched, properly fixing all remaining Z/depth issues.
    - NEW: Draw calls are now automatically split up as needed (no more sandwiching issues!)
    - NEW: Re-designed the way widget width & height gets specified. The values are now explicit, and scale is no longer used.
    - NEW: NGUI will now automatically replace UITextures with Sprites when they get added to an atlas.
    - NEW: It's now possible to have clipped panels in 3D and not have them break when tilting the camera.
    - NEW: It's now possible to nest widgets.
    - NEW: It's now possible to have multiple widgets on the same object.
    - NEW: It's now possible to change the selection handles color via the NGUI menu.
    - NEW: UICheckbox is now a UIToggle, and you now specify a 'group' ID rather than a common root object.
    - NEW: Added TweenWidth and TweenHeight to tween widgets width and height properties.
    - NEW: You can now specify the label overflow method: shrink content, clamp content, resize height, or resize freely.
    - NEW: When labels are in "resize label" overflow mode, the drag handles will be greyed out.
    - NEW: Added a simple EventDelegate class and improved all generic components to use it.
    - NEW: Added a Widget Container class that can be used to easily select and move groups of widgets (think: buttons, windows).
    - NEW: Added the RealTime helper class that removed IgnoreTimeScale. Usage: RealTime.time, RealTime.deltaTime.
    - NEW: Improved the inspector look of just about every component.
    - NEW: UIPanel now shows a list of all of its draw calls and the widgets causing them.
    - NEW: Added a way to auto-normalize the depth hierarchy from the NGUI menu.
    - NEW: You can now hide explicit draw calls by collapsing the draw call fold-outs on the panel.
    - NEW: Sprite selection window now shows sprite names as well.
    - NEW: Atlas maker will now automatically sort the sprites, saving them in an alphabetical order.
    - NEW: UICamera now has a better inspector, and it automatically hides properties if it's not the main one.
    - FIX: CTRL+ and CTRL- now adjust all widgets under the selected object.
    - FIX: Labels will now again align vertically properly.
    - FIX: Atlas maker will now respect textures that were imported with a non-native size.
    - FIX: Atlas maker will no longer change so many import settings on source textures.
    - FIX: Make Pixel Perfect is now undoable.
    - FIX: You can once again rename sprites in the atlas.
    - DEL: Removed the long-ago deprecated UISlicedSprite, UITiledSprite, and UIFilledSprite classes and some other legacy code.

    项目权衡,取舍

    当我把原来的项目中的NGUIv2.6.4换成3.0之后有很多的Error,看着这些Error,权衡了一下与我们现在的项目(中国风3D跑酷)的关系,决定选择V2.7.0比较妥当。

    我也明白太过追求最新的版本并不是最好的,考虑到我们组的开发人员有限(目前U3D只有两名),另外我要花时间去了解新版本特性及其修改的地方(Component细微的改变),但是项目组没有预算到这部分时间,所以稳定版的才是最适合我们的。

  • 相关阅读:
    MSP430开学的序章
    此地不留爷,自有留爷处
    【javascript】继承
    【css】css3属性
    【计划】合格的前端
    【grunt】grunt 基础学习
    【防火墙】防火墙分类,过滤流程
    【js】name 与 array 的纠葛
    【TRICK】解决锚点定位向下浮动Xpx问题
    【性能】web提升性能的小总结
  • 原文地址:https://www.cnblogs.com/zhaoqingqing/p/3350148.html
Copyright © 2020-2023  润新知