ngui for unity5.00是不是不兼容NGUI了tr

Unity插件之NGUI 完整视频教程 - 泰课在线 - 国内专业的Unity在线学习平台|Unity3d培训|Unity教程|Unity教程 Unreal 虚幻 AR|移动开发|美术CG|UI平面设计|前端开发 - Powered By EduSoho
泰课在线 NGUI 中文视频教程,国内首套真正原创的NGUI中文视频课程。
NGUI是严格遵循KISS原则并用C#编写的Unity(适用于专业版和免费版)插件,提供强大的UI系统和事件通知框架。其代码简洁,多数类少于200行代码。这意味着程序员可以很容易地扩展NGUI的功能或调节已有功能。对所有其他用户而言,这意味着更高的性能、更低的学习难度和更加有趣。
老牌的GUI插件,售价95美元。作为一个MMO的GUI插件来说已经绰绰有余了。 Unity的强大之处在这里体现的淋漓尽致,明明只是个GUI插件,但是开发效率和实际效果不输于那些昂贵的或者是开源N年的老牌GUI框架。
NGUI的优点有三个:
1、完整,开发一个MMO所需要的控件或者功能它都有。
2、效率,它的DrawCall控制非常好,多个控件渲染只需要一个DrawCall
3、3D GUI的支持。通过这个你可以实现出倾斜的或者有透视效果的UI。
本课程教学阶段:
第一阶段:
基础控件学习
第二阶段:
NGUI应用案例学习
Unity插件之NGUI 完整开发课程,部分课时目录:
NGUI介绍和插件的导入
创建UIRoot
学习Label控件,显示文字
学习Sprite创建精灵,显示图片
学习Panel面板,控件容器
创建Button按钮,使用脚本监听按下
创建图集Atlas
切图SlicedSprite九宫切图
dynamicFont 动态字体制作和显示
widget属性,pivot,depth和size
NGUI中的Anchor锚点设置
学习公开课的同学,请加入公开课的交流群:
点击链接加入群【泰课unity公开课4群】:
熟练使用NGUI插件
能够使用NGUI做UI界面的开发
有一定基础的Unity学习者
希望可以学习一款很方便做UI的插件的人
开始学习课时
学完了课时
开始学习课时
学完了课时
开始学习课时
Unity3D技术交流1群
泰课Unity3D公开课
工作时间:9:00 - 18:30
北京客服:010 -
广州客服:020 -> 博客详情
摘要: 目前,UGUI问世不过半年(其随着Unity 4.6发布问世),而市面上商用的产品,UI控件的至尊为NGUI:影响力和广度(可搜索公司招聘Unity 3D,常常能看到对NGUI关键词)。 NGUI虽然不是Unity 官方原生的,但以其强大的能力和友好的操作性,成为了事实上的王者—-无他,OnGUI太挫了。
目前,UGUI问世不过半年(其随着Unity 4.6发布问世),而市面上商用的产品,UI控件的至尊为NGUI:影响力和广度(可搜索公司招聘Unity 3D,常常能看到对NGUI关键词)。 NGUI虽然不是Unity 官方原生的,但以其强大的能力和友好的操作性,成为了事实上的王者—-无他,OnGUI太挫了。
通过导入自定义包,会出现如下的截图–这里我使用的是NGUI V3.6.8版本。
在其官方demo中,这个demo给我留下了非常酷的印象(右上角NGUI的logo,好像电影中维京人的帽子?):
NGUI代码的样例,极为丰富,反复临摹,可学很多东西,这里就不一一列举了,仅对学习进行小结。
NGUI的UI Root类似UGUI Canvas.Screen.Camera模型;UI Root是所有NGUI控件的根元素。
创建一个NGUI元素后,在UI Root下自动带一个Camera。
另外,NGUI是第三方的,故无法像UGUI一样在Hierarchy中通过快捷键添加UI元素:
可通过主菜单–NGUI添加组件
还可以在Scene中,通过右键菜单添加UI组件(右键菜单提供了添加脚本、Help跳转到官网tasharen的Tip功能,很棒。)
原生的UI组件有2个:
常使用的UI组件有2个:Lable & Sprite,其他组件是组合这2个UI组件实现的。
更多的常用控件,是通过Prefab Tool提供的,如Button、Slider、CheckBox等。
在此基础上,你也可以自定义你的UI控件,保存为Prefab即可,然后拖入到NGUI的Prefab Toolbar中保存起来。
交互NGUI中实现控件的交互有2个步骤,主要是用碰撞检测(Trigger)和脚本实现,使用起来方便的很—成熟、好用。
1 添加Box Collider 2 添加事件脚本( *.cs)实现
& NGUI默认提供了丰富了UI脚本,几乎囊括了能用到的所有脚本—可在此基础上,继续通过扩展代码完成您的需求。
类似交互功能,动画也是通过脚本组件实现的。 NGUI自带的Tween 有10个脚本
Dock:Anchors
制作复杂UI布局的时候,Anchors就显得尤为关键,故NGUI也提供了非常方便的Anchors功能—默认不开启,通过选择Type=Unifed可打开Anchors功能,设置Target对象,同时设置Left、Right、Right、Bottom、Top即可实现,相对比较方便。(默认的Target对象是该UI的父对象)
图集(Atlas Maker):图片的批量压缩,提高性能。
Atlas 这个单词很诡异,以前没有见过,搜索了一下bing,发现很有趣:
使用Atlas Maker,主要目的是对批量图片进行压缩,成为一张图片,使用的时候通过offset可获得指定的图片。这个技术在GIS加载图片、Web加载图片中曾经用过。
Atlas Maker经过处理多个选择的图片后,最后产生了3个文件:
MyAtlas.png
MyAtlas.prefab
MyAtlas.mat
获取NGUI当前控件的设置值:volumn = UIProgressBar.current.
NGUI控件添加父子关键:NGUITools.AddChild(sprite.gameObject, item.gameObject);
NGUI一些不太好用的东西:
多个Panel无法Move和对齐—panel没有边线,多个Panel不好控制。
NGUI摆放组件,移动非常不爽:一个是Camera取消不了–Gizmos尝试不行;另外移动和缩放很容易搞错。
NGUI的Sprite的切图SlicedSprite九宫切图,是通过设置数字修改的
widget属性,pivot,depth和size–NGUI的核心东东
Pivot:中心点–对齐用
Depth:多个控件渲染的顺序【数字越高,显示优先级越高; 使用起来有点坑–设置错误则显示不了啦】
Size、Aspect:大小和放大
尽管我个人比较看好UGUI,要学就学新的,1年后UGUI就成熟了嘛!& 但是为了看懂一些“参考代码”,NGUI也是有必要学习、学习的,& 且NGUI有较丰富的第三方UI插件生态圈呢,如NGUI HUB, TKTR等。
人打赏支持
码字总数 17871
release yet.
release yet.目前遇到一个插件不兼容,所以暂时还不准备更换
支付宝支付
微信扫码支付
打赏金额: ¥
已支付成功
打赏金额: ¥
& 开源中国(OSChina.NET) |
开源中国社区(OSChina.net)是工信部
指定的官方社区QQ群: --->>战斗卡牌视频教程发布(网游)
如下图。一个模糊Shader分享。
Shader代码如下。
Shader "Custom/WaterBlur" {
Properties {
_blurSizeXY("BlurSizeXY", Range(0,10)) = 2
SubShader {
// Draw ourselves after all opaque geometry
Tags { "Queue" = "Transparent" }
// Grab the screen behind the object into _GrabTexture
GrabPass { }
// Render the object with the texture generated above
#pragma debug
#pragma vertex vert
#pragma fragment frag
#pragma target 3.0
sampler2D _GrabTexture : register(s0);
float _blurSizeXY;
struct data {
float4 vertex : POSITION;
float3 normal : NORMAL;
struct v2f {
float4 position : POSITION;
float4 screenPos : TEXCOORD0;
v2f vert(data i){
o.position = mul(UNITY_MATRIX_MVP, i.vertex);
o.screenPos = o.
half4 frag( v2f i ) : COLOR
float2 screenPos = i.screenPos.xy / i.screenPos.w;
float depth= _blurSizeXY*0.0005;
screenPos.x = (screenPos.x + 1) * 0.5;
screenPos.y = 1-(screenPos.y + 1) * 0.5;
half4 sum = half4(0.0h,0.0h,0.0h,0.0h);
sum += tex2D( _GrabTexture, float2(screenPos.x-5.0 * depth, screenPos.y+5.0 * depth)) * 0.025;
sum += tex2D( _GrabTexture, float2(screenPos.x+5.0 * depth, screenPos.y-5.0 * depth)) * 0.025;
sum += tex2D( _GrabTexture, float2(screenPos.x-4.0 * depth, screenPos.y+4.0 * depth)) * 0.05;
sum += tex2D( _GrabTexture, float2(screenPos.x+4.0 * depth, screenPos.y-4.0 * depth)) * 0.05;
sum += tex2D( _GrabTexture, float2(screenPos.x-3.0 * depth, screenPos.y+3.0 * depth)) * 0.09;
sum += tex2D( _GrabTexture, float2(screenPos.x+3.0 * depth, screenPos.y-3.0 * depth)) * 0.09;
sum += tex2D( _GrabTexture, float2(screenPos.x-2.0 * depth, screenPos.y+2.0 * depth)) * 0.12;
sum += tex2D( _GrabTexture, float2(screenPos.x+2.0 * depth, screenPos.y-2.0 * depth)) * 0.12;
sum += tex2D( _GrabTexture, float2(screenPos.x-1.0 * depth, screenPos.y+1.0 * depth)) *
sum += tex2D( _GrabTexture, float2(screenPos.x+1.0 * depth, screenPos.y-1.0 * depth)) *
sum += tex2D( _GrabTexture, screenPos-5.0 * depth) * 0.025;
sum += tex2D( _GrabTexture, screenPos-4.0 * depth) * 0.05;
sum += tex2D( _GrabTexture, screenPos-3.0 * depth) * 0.09;
sum += tex2D( _GrabTexture, screenPos-2.0 * depth) * 0.12;
sum += tex2D( _GrabTexture, screenPos-1.0 * depth) * 0.15;
sum += tex2D( _GrabTexture, screenPos) * 0.16;
sum += tex2D( _GrabTexture, screenPos+5.0 * depth) * 0.15;
sum += tex2D( _GrabTexture, screenPos+4.0 * depth) * 0.12;
sum += tex2D( _GrabTexture, screenPos+3.0 * depth) * 0.09;
sum += tex2D( _GrabTexture, screenPos+2.0 * depth) * 0.05;
sum += tex2D( _GrabTexture, screenPos+1.0 * depth) * 0.025;
return sum/2;
Fallback Off
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
Shader "Custom/WaterBlur" {&&&&Properties { _blurSizeXY("BlurSizeXY", Range(0,10)) = 2}&&&&SubShader {&&&&&&&&&// Draw ourselves after all opaque geometry&&&&&&&&Tags { "Queue" = "Transparent" }&&&&&&&&&// Grab the screen behind the object into _GrabTexture&&&&&&&&GrabPass { }&&&&&&&&&// Render the object with the texture generated above&&&&&&&&Pass {&&CGPROGRAM#pragma debug#pragma vertex vert#pragma fragment frag #pragma target 3.0&&&&&&&&&&&&&sampler2D _GrabTexture : register(s0);&&&&&&&&&&&&float _blurSizeXY;&struct data {&&&&&float4 vertex : POSITION;&&&&&float3 normal : NORMAL;&};& &struct v2f {&&&&&float4 position : POSITION;&&&&&float4 screenPos : TEXCOORD0;&};& &v2f vert(data i){&&&&&v2f o;&&&&&o.position = mul(UNITY_MATRIX_MVP, i.vertex);&&&&&o.screenPos = o.position;&&&&&return o;&}& &half4 frag( v2f i ) : COLOR&{&&&&&float2 screenPos = i.screenPos.xy / i.screenPos.w; float depth= _blurSizeXY*0.0005;&&&&&screenPos.x = (screenPos.x + 1) * 0.5;&&&&&screenPos.y = 1-(screenPos.y + 1) * 0.5;&&&&&half4 sum = half4(0.0h,0.0h,0.0h,0.0h);&& &&&&sum += tex2D( _GrabTexture, float2(screenPos.x-5.0 * depth, screenPos.y+5.0 * depth)) * 0.025;&&&&&&&&sum += tex2D( _GrabTexture, float2(screenPos.x+5.0 * depth, screenPos.y-5.0 * depth)) * 0.025;&&&&&&&&sum += tex2D( _GrabTexture, float2(screenPos.x-4.0 * depth, screenPos.y+4.0 * depth)) * 0.05;&&&&sum += tex2D( _GrabTexture, float2(screenPos.x+4.0 * depth, screenPos.y-4.0 * depth)) * 0.05;&&&&&&&&&sum += tex2D( _GrabTexture, float2(screenPos.x-3.0 * depth, screenPos.y+3.0 * depth)) * 0.09;&&&&sum += tex2D( _GrabTexture, float2(screenPos.x+3.0 * depth, screenPos.y-3.0 * depth)) * 0.09;&&&&&&&&sum += tex2D( _GrabTexture, float2(screenPos.x-2.0 * depth, screenPos.y+2.0 * depth)) * 0.12;&&&&sum += tex2D( _GrabTexture, float2(screenPos.x+2.0 * depth, screenPos.y-2.0 * depth)) * 0.12;&&&&&&&&sum += tex2D( _GrabTexture, float2(screenPos.x-1.0 * depth, screenPos.y+1.0 * depth)) *&&0.15;&&&&sum += tex2D( _GrabTexture, float2(screenPos.x+1.0 * depth, screenPos.y-1.0 * depth)) *&&0.15;&&&& &&&&&sum += tex2D( _GrabTexture, screenPos-5.0 * depth) * 0.025;&&&&&&&&sum += tex2D( _GrabTexture, screenPos-4.0 * depth) * 0.05;&&&&sum += tex2D( _GrabTexture, screenPos-3.0 * depth) * 0.09;&&&&sum += tex2D( _GrabTexture, screenPos-2.0 * depth) * 0.12;&&&&sum += tex2D( _GrabTexture, screenPos-1.0 * depth) * 0.15;&&&&&&&&sum += tex2D( _GrabTexture, screenPos) * 0.16; &&&&sum += tex2D( _GrabTexture, screenPos+5.0 * depth) * 0.15;&&&&sum += tex2D( _GrabTexture, screenPos+4.0 * depth) * 0.12;&&&&sum += tex2D( _GrabTexture, screenPos+3.0 * depth) * 0.09;&&&&sum += tex2D( _GrabTexture, screenPos+2.0 * depth) * 0.05;&&&&sum += tex2D( _GrabTexture, screenPos+1.0 * depth) * 0.025;&&&&&&
return sum/2;&}ENDCG&&&&&&&&}&&&&}&Fallback Off}
右键。新建一个Shader。然后拖到或者指定使用当前的Shader就可以了!
经过测试:IOS存在兼容性问题。慎用
转载请注明: &
or分享 (0)
本站所有内容如未标明转载的内容,均为原创内容。转载请注明来源!
发表我的评论扫一扫,访问微社区
后使用快捷导航没有帐号?
签到成功!您今天第{todayrank}个签到,签到排名竞争激烈,记得每天都来签到哦!已连续签到:{constant}天,累计签到:{days}天
关注:1536
当前位置: &
__________________________________________________________________________________
开发者干货区版块规则:
  1、文章必须是图文形式。(至少2幅图)
& && &2、文章字数必须保持在1500字节以上。(编辑器右下角有字数检查)
& && &3、本版块只支持在游戏蛮牛原创首发,不支持转载。
& && &4、本版块回复不得无意义,如:顶、呵呵、不错......【真的会扣分的哦】
& && &5、......
__________________________________________________________________________________
查看: 12808|回复: 43
Unity5.3 和 Unity5.4使用对比.
以及升级提醒.....如果发现坑,会不断更新
9排名<font color="#FF昨日变化1主题帖子积分
在线时间150 小时
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
才可以下载或查看,没有帐号?
本帖最后由 仅为年时 于
15:36 编辑
升级项目的时候,最好做好备份.
从5.3升级到5.4
1. 烘焙过的场景会花屏,需要重新烘焙.
2. 因为5.4不再支持, 所以如果项目在5.3的时候平台设置为webplayer,然后直接升级,不会报错,但是会导致无法切换平台,无法导出assetbundle, 切换平台的界面会全黑卡死..
& & 所以升级前请提前转换为其他平台
3. webgl在 win7 和win10操作系统下, 目前的主流浏览器(比如360极速浏览器等)上导出项目测试后,蛮流畅,暂时没发现BUG.
试了下刚出的.4f3版本,做了几个简单测试。
跟Unity5.3.4f1版本做了下对比。
因为据说5.4渲染吊炸天,先看看渲染。
& &&&无烘焙的渲染对比
5.3.jpg (89.31 KB, 下载次数: 3)
5.3的无烘焙
16:26 上传
5.4.jpg (93.99 KB, 下载次数: 2)
5.4的无烘焙
16:26 上传
5.3的石头烘焙,光暗、纹理层次很清晰
5.3.4局部.jpg (19.07 KB, 下载次数: 1)
16:28 上传
5.4则光暗过渡不明显,纹理模糊。
5.4局部.jpg (12.93 KB, 下载次数: 4)
16:28 上传
还可以仔细看看右下角,5.3的树叶很清晰,5.4树叶已经模糊了。
&&烘焙后的渲染对比
<font color="#.3 光贴图效果,能显示出墙壁、铜门的质感,
5.3有烘焙.png (513.24 KB, 下载次数: 1)
16:33 上传
5.4 墙壁像过曝的感觉,光暗不够分明,地砖、铜门的质感又没了。。
5.4有烘焙.png (634.98 KB, 下载次数: 2)
16:33 上传
性能对比,
官网说,5.4对GPU渲染有优化,
我简单测试了下PC上的性能对比。测试保证了,场景物体一致,摄像头一致,分辨率一致。窗口大小不影响测试结果
5.3.4性能,渲染同样的东西,FPS在75-80帧浮动
5.3.4f1性能1.png (830.54 KB, 下载次数: 1)
17:22 上传
5.4,FPS在 82-87帧浮动。
5.4性能.png (768.59 KB, 下载次数: 2)
17:22 上传
测试过多个不同场景,main thread 和 reader thread数值都非常接近,但FPS 5.4完胜5.3.4
至少在PC上,5.4的渲染性能确实有明显提高,大家有兴趣可以自己测试下。
5.4 其他一些比较影响项目的重要改动,就是
1. 不再支持webplayer
2. 不再支持GingerBread,也就是安卓2.3
sprite render 可以9slice
(830.54 KB, 下载次数: 9)
16:55 上传
(768.59 KB, 下载次数: 4)
16:55 上传
(65.15 KB, 下载次数: 1)
16:56 上传
每日推荐:
9排名<font color="#FF昨日变化3主题帖子积分
在线时间284 小时
赞个 打算下个看看
每日推荐:
9排名47昨日变化主题帖子积分
蛮牛币1507
在线时间847 小时
看起来不值得为了这点性能提升牺牲画面效果啊
每日推荐:
9排名<font color="#FF昨日变化主题帖子积分
蛮牛币6021
在线时间658 小时
九宫格不错
每日推荐:
73261/5000排名<font color="#FF昨日变化1主题帖子积分
日久生情, 积分 3261, 距离下一级还需 1739 积分
日久生情, 积分 3261, 距离下一级还需 1739 积分
蛮牛币9310
在线时间426 小时
看不出什么的
每日推荐:
4490/500排名<font color="#FF昨日变化主题帖子积分
四处流浪, 积分 490, 距离下一级还需 10 积分
四处流浪, 积分 490, 距离下一级还需 10 积分
在线时间122 小时
基本上兩個同樣的場景, 5.4比較糊, 可能是設置上不一樣了.
例如5.3的某些設置在5.4上, 例如渲染質量相關的, 可能被還原成預設的值.
最好是在所有設置(例如quility)再檢查一次看看.
每日推荐:
5931/1000排名<font color="#FF昨日变化主题帖子积分
熟悉之中, 积分 931, 距离下一级还需 69 积分
熟悉之中, 积分 931, 距离下一级还需 69 积分
蛮牛币1720
在线时间368 小时
感觉 没有很大效果啊,我觉得还是画面清晰比较重要一点吧。毕竟渣渣画质没有人会喜欢吧
每日推荐:
61198/1500排名<font color="#FF昨日变化2主题帖子积分
蛮牛粉丝, 积分 1198, 距离下一级还需 302 积分
蛮牛粉丝, 积分 1198, 距离下一级还需 302 积分
蛮牛币3756
在线时间258 小时
可以多放一些这样的文章,效果直观,有对比。
[]: qomolangma 乐于助人,奖励 2
每日推荐:
2149/150排名<font color="#FF昨日变化2主题帖子积分
初来乍到, 积分 149, 距离下一级还需 1 积分
初来乍到, 积分 149, 距离下一级还需 1 积分
在线时间45 小时
多谢楼主分享测试~~~~~~~~~~~~~~~
[]: 一个袋子砸在了 乱码菌 头上,乱码菌 赚了 1
每日推荐:
2149/150排名<font color="#FF昨日变化2主题帖子积分
初来乍到, 积分 149, 距离下一级还需 1 积分
初来乍到, 积分 149, 距离下一级还需 1 积分
在线时间45 小时
看来5.4还是可以更新的。&&少了webplayer好遗憾。。。
每日推荐:
5789/1000排名<font color="#FF昨日变化主题帖子积分
熟悉之中, 积分 789, 距离下一级还需 211 积分
熟悉之中, 积分 789, 距离下一级还需 211 积分
在线时间236 小时
技术贴,谢谢分享
每日推荐:
9排名<font color="#FF昨日变化1主题帖子积分
在线时间150 小时
基本上兩個同樣的場景, 5.4比較糊, 可能是設置上不一樣了.
例如5.3的某些設置在5.4上, 例如渲染質量相關的, ...
恩,多谢提醒.&&我刚检查了渲染设置,两边设置是完全一样的.
并且我将5.4的渲染设置为最高级,还是存在树叶模糊的情况.&&
所以不清楚是否5.4还有其他设置需要调整? 欢迎大家一起讨论.
每日推荐:
9排名<font color="#FF昨日变化1主题帖子积分
在线时间150 小时
基本上兩個同樣的場景, 5.4比較糊, 可能是設置上不一樣了.
例如5.3的某些設置在5.4上, 例如渲染質量相關的, ...
恩,多谢提醒.&&我刚检查了渲染设置,两边设置是完全一样的.
并且我将5.4的渲染设置为最高级,还是存在树叶模糊的情况.&&
所以不清楚是否5.4还有其他设置需要调整? 欢迎大家一起讨论.
每日推荐:
72626/5000排名70昨日变化1主题帖子积分
日久生情, 积分 2626, 距离下一级还需 2374 积分
日久生情, 积分 2626, 距离下一级还需 2374 积分
蛮牛币2645
在线时间581 小时
pc下毫无意义
每日推荐:
5681/1000排名<font color="#FF昨日变化1主题帖子积分
熟悉之中, 积分 681, 距离下一级还需 319 积分
熟悉之中, 积分 681, 距离下一级还需 319 积分
蛮牛币1625
在线时间169 小时
拿PC做比较意义不大。。。。
每日推荐:
游戏蛮牛给予质量较高、影响力较大的unity相关技术开发者的荣誉称号
社区QQ达人
使用QQ帐号登录论坛的用户
认证开发者
经过游戏蛮牛认证的独立开发者UGUI与NGUI的区别与优缺点_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
UGUI与NGUI的区别与优缺点
|文档简介|
中国移动互联网行业领军品牌|
总评分0.0|
在学习Unity3D培训过程中,甭管你是自学也好,参加Unity3D培训学习也好,对UGUI和NGUI肯定需要知道的,随着Unity4.6内置了UGUI后,大家也把关注点投向了UGUI。那我们来说说NGUI与UGUI的区别
阅读已结束,如果下载本文需要使用0下载券
想免费下载更多文档?
你可能喜欢}

我要回帖

更多关于 unity ngui下载 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信