unity3d插件ngui简介_unity3d2017ngui的插件 - CSDN
  • Unity3D插件NGUI基础学习笔记

    千次阅读 2016-06-14 20:03:43
    Unity3D插件NGUI基础学习笔记 1、DrawCall:在Unity中,每次引擎准备数据并通知GPU的过程称为一次Draw Call。Draw Call值越低,会得到更好的渲染性能。 Draw Call Tool:NGUI--》Open--》Draw Call Tool,可以...

    【Unity3D插件】NGUI基础学习笔记


    1、DrawCall:在Unity中,每次引擎准备数据并通知GPU的过程称为一次Draw Call。Draw Call值越低,会得到更好的渲染性能。
    Draw Call Tool:NGUI--》Open--》Draw Call Tool,可以查看DrawCall的一些信息。

    影响DrawCall的因素:
    Atlas数量
    Font动态字体数量
    渲染顺序:取决于Sprite Depth深度,Unity 默认会按照控件的 Depth 来渲染。从后往前渲染,当使用相同材质的控件会合并为一个 Draw Call 。如果和前一个材质不相同则会重新产生一个 Draw Call
    Panel数量

    2、UI Root:
    如果是Create的2D UI.会自动生成一个UI Root和其子层下生成一个Camera。
    UI Root游戏物体总是放在NGUI UI层级的最上层;
    UI Root游戏物体包括Transform组件+UIRoot脚本组件+UIPanel脚本组件+Rigidbody组件
    UIRoot脚本组件提供根据屏幕高度的反比来缩放UI界面的一些参数。

    3、Camera:
    如果是Create的2D UI.会自动生成一个UI Root和一个Camera。
    2d UI是用正交相机来投射加入NGUI定制相机使得投射范围在一个方形可视范围内,在z轴的视觉表现上被忽略。
    Camera Tool:此工具可以查看当前场景中所有的相机,包括Main Camera和UI相机。

    4、Altas图集:
    Atlas是一个容器,他包含了许多Sprite的坐标信息。与使用很多小的贴图来渲染UI相比,使用一张包含了所有小贴图的大贴图的效率要高许多。这些小的贴图就被叫做Sprite,这个大的贴图就被叫做Atlas。
    Altas Maker:NGUI提供了此工具来创建一个Altas图集。

    5、Font字体:
    Font Maker:用于观察现有的Font字体,或者制作静态Font(Bitmap字体),动态Font。
    静态Font一般是从美工处获取的图片文字,需要转换才能在NGUI里面使用。静态Font必须要属于某一个Atlas。
    NGUI提示,动态字体,不能被做成Atlas的一部分,使用动态字体至少会增加一次DrawCall。

    6、NGUI提供的控件:
    Prefab Toolbar:此工具下提供了很多常用的控件,可以直接使用。
    组件:UI组件基本上是以UI开头的脚本组件,如UISprite、UILable、UIWidget等。
    控件:我是这么理解的,由一个空的GameObject+一个或多个组件,就可以组成一个控件,比如:
    Button:Transform+UISprite(Script)+UIButton(Script)+Box Collider+UIPlay Sound
    Sprite:Transform+UISprite(Script)//所以说Sprite是一个控件,UISprite是一个组件

    7、Panel控件以及UIPanel组件:
    UIPanel负责创建实际的集合图形。你不需要手动的添加UIPanel-一旦你创建一个控件,它会自动被添加。如果你想将你的UI渲染拆分到不同的DrawCall中,你可以手动创建你自己的UIPanel,例如你要创建一个分屏的游戏,每个屏用一个摄像机进行渲染,这种秦光下你就需要2个UIPanel来避免控件互相重叠。
    Panel Tool:查看当前场景中NGUI创建的所有Panel及其信息。

    8、Widget(Container)控件以及UIWidget组件:
    其他组件的容器。
    Widget Tool(Widget Wizard):控件创建向导,可以向UI的游戏物体上(如UI Root)添加各种控件。

    9、NGUI事件机制:
    NGUI的事件触发都必须添加Box Collider,并勾选Is Trigger,在Inspector窗口设置Box大小尺寸,可以在Widget的Collider勾选auto-adjust to match。还有一个比较重要的参数需要设置正确,即是UI Root下Camera参数,在Inspector窗口中,要确定UICamera中的Event Type选择3D UI,Event Mask选择Everything。
    Box Collider:Button本身就带有OnClick事件,但是Sprite,Label等( 也绑有Widget的)并没有触发事件,所以必须手动添加Box Collider。
    事件注册方法:
    直接将MonoBehaviour的脚本上的方法绑定至Notifiy上面。这种方法不够灵活,不推荐。
    在需要接收事件的gameobject上附加Event Listener。添加component->NGUI->Internal->Event Listener。
    在任何一个脚本或者类中即可得到按钮的点击事件、把如下代码放在任意类中或者脚本中。
    void Awake () 
    {    
        //获取需要监听的按钮对象
        GameObject button = GameObject.Find("UI Root (2D)/Camera/Anchor/Panel/LoadUI/MainCommon/Button");
        //设置这个按钮的监听,指向本类的ButtonClick方法中。
        UIEventListener.Get(button).onClick = ButtonClick;
    }
    //计算按钮的点击事件
    void ButtonClick(GameObject button)
    {
        Debug.Log("GameObject " + button.name);
    }

    10、Tween:
    NGUI的动画系统,给UI游戏物体添加动画效果。
    包括:Alpha动画、Position动画、Rotation动画、Scale动画、Transform动画。

    11、常用UI脚本组件:
    UICamera:发送NGUI事件给所有被它所附加的摄像机所看见的对象。除此之外,它不对UI做任何事情了。实际上,如果你想要你的游戏中的对象能接收NGUI类似OnPress,OnClick等事件,那么你需要做的是附加UICamera脚本到你的MainCamera上,即挂到UIRoot下面的Camera对象下。

    UISprite:是NGUI的生命。它从texture图集绘制sprite。所有的Sprite需要你先创建一个图集(Atlas)。它继承了UIWidget的所有功能。

    UILable:显示文本的脚本,继承自UIWidget。所有的label都需要Font才可正常工作。这个字体可以使Dynamic的(引用Unity Font),也可以是Bitmap字体——嵌入到Atlas里面的字体。动态字体更稳固因为它不需要你预先创建符号,但是Bitmap字体可以和你atlas的其他东西渲染在同一个draw call上并且这些字体可以通过photoshop美化。

    UIWidget:简单来说,就是一个你可以放在屏幕任意位置的矩形框。Widget会有一定的面积(如下图的白色框范围),但是在运行的时候(GameView)是完全不可见的,所以非常适合当做其他组件的容器(让所有的sprite或者label等以它进行各种对齐)。UIWidget也被用来当做所有NGUI元素的基类——所有你创建的sprites和labels。UILabel,UISprite,UITexture和UI2DSprite(Unity3D 4.3版本)都继承自UIWidget。

    UITexture:它完全没有图集的概念,使用起来非常的灵活,只需要把图片挂上去就行了。这样内存里只会占用你这一张图的大小,内存虽然小了但是DrawCall就上去了。因为每一张UITexture就是一次DrawCall。
    UI2DSprite:

    UIPanel:用来收集和管理它下面所有Widget的组件。通过Widget的Geometry创建实际的DrawCall。没有Panel所有东西都不能够被渲染出来。如果你对Unity熟悉,你可以把UIPanel当做Renderer。
    UIScroll View:用来在界面中绘制一个滚动视图区域,并且可以通过滚动条来控制显示的区域内容。

    UIGrid与UITable: UIGrid 和 UITable 的原理很简单,对子 Transform 的 List 进行排序,然后更加不同的规则进行定位排列(UIGrid 和 UITable 还是有很大不同的)。
    UIGrid 和 UITable 定义了5种排列方式(其实是3种,None默认不排序即Transform的默认排序,Custom虽然提供virtual 可以重载):
    public enum Sorting
    {
        None, //默认不排序即Transform的默认排序
        Alphabetic, //按照名字字符串排序
        Horizontal, //按照localPosition 进行的排序
        Vertical,   //按照localPosition 进行的排序
        Custom,
    }

    UIAnchor:可以固定GameObjects在屏幕或者其他Widgets的某一边或者某一个角。这是一个关键的组件,用来在NGUI中创建模块化的UI。

    展开全文
  • 适用于unity3d2018的 NGUI插件 在Unity 项目中,Project视图下ASSETS文件夹上,右键 【Import Package】-->【Custom Package】,选择刚刚下好的 NGUI3.12.1插件包。然后,全部导入。
  • UnityNGUI下载与导入

    万次阅读 多人点赞 2020-06-26 19:20:56
    Unity3D插件NGUI的下载和导入。

    NGUI是UGUI出现之前的Unity3D最流行的UI插件,很多比较早的游戏教程都是用的NGUI。

    本人因学习原因需要用到NGUI,但捣鼓了很久才成功(导入后菜单栏没有NGUI),下载了几个版本才发现是版本问题,现将下载与导入使用NGUI的方法总结如下,节省大家时间,少走弯路。

    接学生游戏作业、项目


    1、下载NGUI插件资源包  

     我原以为NGUI是旧版Unity自带的功能,但我电脑装的2018版Unity,寻思着要不要再下一个旧版的。幸好我不懒,花了点时间搜索才发现NGUI原来是个非官方制作的插件,但这个插件哪里有呢?继续搜,看到一个有钱人写的教程说要去官方的资源商店下载,我一看,擦,竟然要95刀!!!

    作为一个穷人,这点自知之明我还是有的,这钱无论如何我是出不起的了。继续使用万能的Search Engine,让我发现了相当多的资源,每一个都明码标价:有要3积分的,5积分的,幸好我“国库”还算充裕,于是毫不犹豫就拿下了一个。打开Unity跃跃欲试,纳尼?菜单栏没有显示NGUI,是刷新问题吗?重启。。。还是失败。。。经验丰富的我隐约察觉到可能是版本问题,又去下载了一个新一点的版本,还是不行。这次我怒了,莫非真的是要耗尽我的积分?不行,绝不能硬拼,砸“钱”解决问题不符合我的作风,于是我机智地在Search Engine加上了“最新版”这三个闪闪发光的大字,下了个v3.11.2版本,果不其然,v3.11.2完美地与Unity合为一体,在Component与Window之间,NGUI这4个字母正在菜单栏散发着神圣的光芒。。。我流下了激动的泪水。。。(完)

    NGUI v3.12.0: 点击下载         适合Unity2018

    NGUI v3.11.2: 点击下载         适合Unity2017

    NGUI v3.9.1: 点击下载

    新手如果没有积分下载,点击下面链接

    链接:https://pan.baidu.com/s/1hPf4brhN8RvcKP7HSwphHw 
    提取码:0iim

    接学生游戏作业、项目

    2、导入资源包 

     导入有两种方式

    1)打开Unity后,双击后缀为".package"的文件

    2)直接把".package"文件拖到Unity中

     

     

    3、 查看菜单栏  

    导入完成后菜单栏如果有【NGUI】,表示导入成功

     

     

     

    展开全文
  • unity3d 插件 ngui 最新版 2.5.1
  • Unity3DNGUI基础2:使用NGUI

    千次阅读 2019-02-07 16:53:43
    前文:https://blog.csdn.net/Jaihk662/article/details/86771968(NGUI插件介绍) 一、NGUI层次关系 先创建一个用于显示文字的“游戏物体”:NGUI→Create→Label 之后就可以看到NGUI的默认层次结构如下: UI...

     

    前文:https://blog.csdn.net/Jaihk662/article/details/86771968(NGUI插件介绍)

    一、NGUI层次关系

    先创建一个用于显示文字的“游戏物体”:NGUI→Create→Label

    之后就可以看到NGUI的默认层次结构如下:

    • UI Root:所有的 NGUI 元素都是 UI Root 的子物体
    • Camera:用于渲染 NGUI 的摄像机
    • Lable:游戏物体标签

     

    二、Scene中的NGUI

    Scene 视图紫色的矩形,就是 NGUI(UI Root) 的操作范围,如下:

    切换到2D模式后,选中紫色边框右键就可以进行设置,如下:

    如果觉得摄像机组件的图标太大了,还可以调整灯光/摄像机组件图标大小:

     

    三、Prefab Toolbar预制体工具栏

    预制体工具栏,其实就是 NGUI 提供的一些现成的 UI 功能元素的预制体文件,也可以理解为自带的资源

    打开方式:NGUI→Open→Prefab Toolbar

     

    展开全文
  • unity3d2018插件NGUI

    2020-07-30 23:33:20
    2018能用UI组件。NGUI是严格遵循KISS原则并用C#编写的Unity(适用于专业版和免费版)插件,提供强大的UI系统和事件通知框架。其代码简洁,多数类少于200行代码。
  • Unity3D插件NGUI:制作Atlas与Font与运用

    热门讨论 2020-07-23 23:33:14
    Unity3D插件NGUI中运用Atlas Front和 制作Atlas和Font的步骤 并在unity3d使用
  • Unity3D插件 NGUI2.6.3

    2020-07-28 23:31:16
    NGUIUnity的一个插件,使用它来制作你的游戏UI必定将事半功倍。为什么这么说呢?首先我们说说GUI与NGUI的区别,GUI是Unity自带的绘制界面工具,它的成像原理是基于表层的,所以执行效率非常的低,并且没有提供复杂...
  • Unity3D开发的人员都知道NGUI在UI制作方面是一个强大的的插件,当然里面也有Scorll View的制作例子。在这里我来和大家交流交流我在开发中运用NGUI的一些心得! 首先,我们知道NGUI自己有一套树形的层级关系图,...

    用Unity3D开发的人员都知道NGUI在UI制作方面是一个强大的的插件,当然里面也有Scorll View的制作例子。在这里我来和大家交流交流我在开发中运用NGUI的一些心得!

    首先,我们知道NGUI自己有一套树形的层级关系图,很多时候我们只能在这些树形的层级结构下创建一些NGUI实例。其实在这个层级关系图中最重要的就是NGUI给我们提供的那些脚本和方法,只要了解了这些脚本和方法,你可以任意的改变这些层级结构。

    今天我在这儿来改变NGUI的树形结构来对NGUI中Scorll View的实现来讲一个简洁版的。在改变层级结构之前,我们要清楚的知道,那些组件和方法是制作Scorll View过程中必须的。当然UIDraggablePanel,UIPanel,UIGrid,UIDragPanelContents这四个组件是制作Scorll View的关键组件。

    首先我们新建一个场景,里面包含了我们的一个主摄像机,当然这个摄像机我们不删除,所以就不再新建一个NGUI的树形层级结构了,我们把场景中的摄像机的投射方式改为orthographic(摄像机以90度直直的投射到屏幕,其实这就是一个2D摄像机),然后我们为这个摄像机加上一个NGUI中核心组件UICamera(必须加上)

    然后我们新建一个空对象,放在摄像机下面把他作为摄像机的子物体

    然后我们通过NGUI的create a widget在这个空对象下面创建一个sliced sprite类型的图标(其他类型图标也行),然后多复制几个。

    下面我们最重要的事就是加组件,我们把这个3个UIDraggablePanel,UIPanel,UIGrid组件加到GameObject上,当然在我们创建sliced sprite的时候,自动的为我们加上了UIPanel这个组件

    然后我们再为每个sliced sprite都加上组件UIDragPanelContents和Box Collider。

    到这儿的时候我们整个步骤就完成了一大半了,然后我们对一些组件的参数进行调整。

    首先我们对UIGrid组件的cell width参数进行调整,这个组件主要是对我们的sliced sprite进行排列。

    接下来我们对UIPanel组件中的Clipping属性选择到Soft Clip ,然后调整下面的几个参数,这个主要是决定了,你的sliced sprite出现的范围。

    然后我们对UIDraggable Panel组件中的Scale中的参数进行调整,这个决定了sliced sprite向哪个方向滑动。

    然后把每一个sliced sprite中的Box Collider组件中的参数Is Trigger打上勾勾。这个Collider主要是用来对滑动响应的区域。在加上组件UIDrag Panel Contents后,整个响应滑动的区域就是在每一sliced sprite上面,当然你自己也可以做一个更大的响应区域。其他的参数自己可试试。

    整个制作过程就完成了,现在的层级十分的简单明了。运行效果图如下。

    希望大家一起留言讨论,共同学习交流,谢谢大家!

                                                                                     —— 麦兜                                                                             


    http://sygame.lofter.com/post/117105_3051a5

    展开全文
  • 2.1 导入NGUI插件 2.2 认识基本的UI资源 2.3 制作第一个UI图集 2.4 制作第一个UI字体 2.5 创建第一个UI 2.6 2DUI和3DUI的工作原理 2.7 深度(Depth)概念 第 3 章 核心组件 第 4 章 UI动画 第 5 章 其他...
  • 一、安装NGUI NUGI:最强大的UI系统之一 是个额外需要下载的插件:https://pan.baidu.com/s/1IFjAX6Bp2itilBaBHTPmSw(3.10.0smva) 下载后可以得到一个 .unitypackage 后缀的资源包,新建Unity项目直接导入即可 ...
  • 本节书摘来异步社区《Unity 3D NGUI 实战教程》一书中的第2章,第2.1节,作者: 高雪峰 责编: 张涛,更多章节内容可以访问云栖社区“异步社区”公众号查看。 2.1 导入NGUI插件 Unity 3D NGUI 实战教程 2.1.1 NGUI...
  • Unity3DNGUI 系列教程(一)

    千次阅读 2013-08-19 21:20:08
    Importpackage àcustom package,选择你下载的NGUI插件,导入完成后效果如图:   1.选择菜单NGUIàOpen the UI Wizard,弹出创建UI对话框。点击Layer窗口右边对应的按钮,弹出层选择对话框,在这里我们...
  • Unity 3D NGUI实战教程 完整版 第1章 初识NGUI 1.1 游戏UI开发介绍 1.1.1 什么是游戏UI 1.1.2 UI为何如此重要 1.1.3 UI开发的流程 1.1.4 UI开发的难点 1.2 什么是NGUI 1.2.1 NGUI插件介绍 1.2.2 NGUI的强大优势 第2...
  • Unity 3D NGUI实战教程 完整版 第1章 初识NGUI 1.1 游戏UI开发介绍 1.1.1 什么是游戏UI 1.1.2 UI为何如此重要 1.1.3 UI开发的流程 1.1.4 UI开发的难点 1.2 什么是NGUI 1.2.1 NGUI插件介绍 1.2.2 NGUI的强大优势 第2...
  • 首先将下载好的NGUI资源包(我下载的是3.11.4版本)导入到引擎中进行使用,在unity3d界面点击鼠标右键,弹出的菜单送选中import package,然后选择custom package(自定义资源包),弹出资源路径窗口,找到NGUI...
  • Unity3D插件NGUI可以比较方便的实现屏幕自适应,以下是比较方便的实现方法。  主要组件: 1. UIAnchor:用来确定控件在屏幕中的位置 2. UIStretch:用来做缩放的组件。老版本的NGUI是集成在UIAnchor上的。...
  • Unity3D强大插件NGUI官方案例详细解析
  • 1.Unity 3D版本与NGUI版本兼容问题 Unity2017.1.0版可以兼容3.9.0版本的NGUI(最新版本的unity2018.2.7应该也可以兼容NGUI3.9.0版本,只需在导入NGUI后弹出如图的提示进行如图的操作即可) 2.Unity的scene面板和...
  • Unity UI系统-NGUI简介

    千次阅读 2017-08-29 07:59:03
    NGUI简介: NGUI的历史: NGUI的最早版本发布于2011年12月份,NGUI可以说是Unity平台最强大的第三方UI系统Unity早期版本(Unity4.6之前),引擎自身的UI系统是很差的,绝大多数项目都是使用的NGUI进行UI界面开发的 ...
1 2 3 4 5 ... 20
收藏数 1,777
精华内容 710
关键字:

unity3d插件ngui简介