unity3d ugui 3d ngui 和ugui能同时存在吗

  ugui的诞生很大程度的改变了NGUI一手遮天的现状。但是Ugui也由于与Ngui有极大的相似之处被人认为是Ngui的私生子。Ugui是unity亲生的UI系统,在各个地方都有照顾,所以也被越来越多的人认识。越来越多的游戏、应用也逐渐采用ugui去开发。但ugui始终没有Ngui的浑厚,很多功能也亟待改善。
1、Ugui界面开发之Scroll Rect
  拖拽是游戏中需要显示较多物体的主要方式,表现在界面上就需要用到诸如Scroll Rect等方式。
2、创建一个Scroll Rect
  Unity 5.2版本中创建Scroll Rect与老一点的版本不同,在结构树中分为四层:&Scroll Rect/ViewPoint/Content/item&。如下图。
  首先在观察窗口中创建一个Panel
在Panel中添加Scroll Rect组件。
点击Panel,点击鼠标右键-》Creat Empty。创建一个空的物体在planel下,并命名为&ViewPoint&。
点击上一步创建的空物体,点击鼠标右键-》Creat Empty,在空物体下再创建一个空物体,并命名为&Content&:
在Content物体中添加组件&Grid Layout Group&。该组件能够自动排列子item的顺序。当然根据需要你可以选择& horizontal Layout&或是&vertical Layout&。
在Content下添加item。
这就做好了最简单的Scroll Rect。
接下来根据具体问题我会提出具体的解决方案。太晚了,先睡明天更新。
通常我们在对ugui item添加点击事件是通常会使用两种方法
EventTrigger事件方法,通过传递点击后的回调函数,触发点击事件。
通过侦听Button 的onClick 事件。
UnityEngine.UI.B
button.onClick.AddListener(function);
因为当我们要对Content中的item做点击事件的时候,通常会将item设定为ugui 中的Button。所以这里就有了方案二。
ugui Button组件中原生封装了又onClick触发事件。
我们在 使用EventTrigger触发事件时,有一个很好的地方就是只要是GameObject,就能够响应事件。这样的好处就是如Image等组件在Unity中也能够自然响应事件。
但是问题也就出在这里。Scroll Rect中滑动事件是通过EventTrigger响应,所以当item也是通过EventTrigger响应点击事件时,就会遮挡住后面的Scroll Rect的滑动事件。这会导致很尴尬的结果,滑动列表需要在很小的范围才会响应滑动事件。
所以在处理这个问题的时候我选用了第二种方案,使用onClick去触发点击事件。onClick回调函数 是继承自UnityEngine.Events.UnityAction.委托。由于同一个点击事件通过不同的事件模块去响应,很好的处理了item挡住Scroll Rect 事件的问题。委托格式为不带任何参数和返回的函数。
当我们要使用的时候通过调用button.onClick.AddListener(function);即可。
例如:button.onClick.AddListener(OnButtonClick2);
但是这样的话每次不能传值只能触发事件,为了在响应的同时通过事件出入参数,所以在事件处理时添加了代理函数。
button.onClick.AddListener(delegate(){OnButtonClick1(button.gameObject);});这样就能响应时间的同时传入参数。
///鼠标点击回调事件
public void OnButtonClick1(GameObject go){
//do some thing
public void OnButtonClick2(){
//do some thing
reference:
/archives/3325
THISSKY出品,原文链接:/zhuhongjongy/p/5441069.html
阅读(...) 评论()扫一扫,访问微社区
后使用快捷导航没有帐号?
签到成功!您今天第{todayrank}个签到,签到排名竞争激烈,记得每天都来签到哦!已连续签到:{constant}天,累计签到:{days}天
当前位置: &
查看: 1455|回复: 8
关于ngui和ugui的现状和未来的发展,大家来谈谈自己的看法
117/50排名<font color="#FF昨日变化45主题帖子积分
注册看看, 积分 17, 距离下一级还需 33 积分
注册看看, 积分 17, 距离下一级还需 33 积分
在线时间13 小时
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
才可以下载或查看,没有帐号?
ugui无疑是更先进的ui系统。已经成为了的原生的ui系统。比起ngui,用法简单了许多,开发效率也更高。然而ngui现在依旧坚挺,很多公司都还在坚持使用ngui来开发ui界面。ugui会代替ngui的说法从很久很久之前就开始出现了,然而现在ugui还没有取代ngui的ui界霸主地位,谁来说说为什么呢
每日推荐:
5968/1000排名<font color="#FF昨日变化10主题帖子积分
熟悉之中, 积分 968, 距离下一级还需 32 积分
熟悉之中, 积分 968, 距离下一级还需 32 积分
蛮牛币1537
在线时间386 小时
亲妈生的与后娘养的
每日推荐:
61133/1500排名<font color="#FF昨日变化主题帖子积分
蛮牛粉丝, 积分 1133, 距离下一级还需 367 积分
蛮牛粉丝, 积分 1133, 距离下一级还需 367 积分
蛮牛币1111
在线时间216 小时
习惯了。习惯NGUI
5960/1000排名<font color="#FF昨日变化1主题帖子积分
熟悉之中, 积分 960, 距离下一级还需 40 积分
熟悉之中, 积分 960, 距离下一级还需 40 积分
蛮牛币1783
在线时间403 小时
这个应该就是市场占用率一些问题吧,很多公司从新用ugui会花费不少精力的,ngui又没差到那里去
72270/5000排名<font color="#FF昨日变化1主题帖子积分
日久生情, 积分 2270, 距离下一级还需 2730 积分
日久生情, 积分 2270, 距离下一级还需 2730 积分
蛮牛币4627
在线时间768 小时
ugui还是不够完善,比如没有配套的tween,美术没法直观的做界面效果
比如没法将图集手动打assetbundle热更新& &
比如动态添加非按钮类组件的点击事件很繁琐&&等等...
相比之下NGUI没有这些问题&&这么多年发展下来游戏开发会碰见的问题都已经解决了& &找不到使用ugui的理由
4389/500排名<font color="#FF昨日变化62主题帖子积分
四处流浪, 积分 389, 距离下一级还需 111 积分
四处流浪, 积分 389, 距离下一级还需 111 积分
在线时间72 小时
早干嘛去了 你这不是在耍我吗
[]: kyx11180 发帖时在路边捡到 1
蛮牛币,偷偷放进了口袋.
5641/1000排名<font color="#FF昨日变化2主题帖子积分
熟悉之中, 积分 641, 距离下一级还需 359 积分
熟悉之中, 积分 641, 距离下一级还需 359 积分
蛮牛币2397
在线时间134 小时
ugui还是不够完善,比如没有配套的tween,美术没法直观的做界面效果
比如没法将图集手动打assetbundle热更 ...
一看就知道是大神
4492/500排名<font color="#FF昨日变化75主题帖子积分
四处流浪, 积分 492, 距离下一级还需 8 积分
四处流浪, 积分 492, 距离下一级还需 8 积分
蛮牛币2990
在线时间144 小时
这个应该就是市场占用率一些问题吧,很多公司从新用ugui会花费不少精力的,ngui又没差到那里去 ...
作为新手,请问要做一个2D游戏的话应该学习UGUI还是NGUI呢?两者各有什么不同,优劣?
4407/500排名<font color="#FF昨日变化107主题帖子积分
四处流浪, 积分 407, 距离下一级还需 93 积分
四处流浪, 积分 407, 距离下一级还需 93 积分
在线时间115 小时
只能说NGUI出现的比较早& &而且用起来已经习惯了,UGUI毕竟还没有那么完善,不管哪个能成为霸主&&只想说能实现效果就好
累积数量达到1000蛮牛币Transform 场景物体的...
最近在啃这方面的内容 ,网络上说 NGUI 比GUI更强大,但最近听说NGUI要被干掉, 有这回事儿么,我是两个都学学还是学一个就行?
GUI在效率上有很大的劣势,drawcall很高,另外,如果你是做页面的,那么GUI实际上和html这种标签语言并不一样。NGUI优势是drawcall较低,效率高,所见即所得,开发起来很容易。另外NGUI的源码可见可改,注释丰富。如果你做的东西UI较多,建议NGUI,虽然会被淘汰但是目前大部分还是用NGUI的,还有其他UI插件 个人认为 NGUI略微 好用个人意见希望对你有帮助呀
目前来讲有三个东西: GUI, NGUI 和 uGUINGUI是目前最主流的UI插件,基本上国内手游公司都还在用它,如果你去面试也会考你NGUI的知识。uGUI是Unity4.6 之后推出的 内置 UI系统,由于正式版已经上线了,所以很有取代NGUI的趋势。 但是国内的游戏公司相对滞后,据我所知目前还有手游公司在用Unity3.5呢。。。 不过国外的团队基本已经开始使用uGUI了。GUI 与其说是老版本的GUI,不如说他是一个库。 需要用代码进行控制,不适合拿来做游戏界面。 不过学习老版本的GUI还是很有必要的。 因为他是一个非常方便的测试工具。 在我们测试代码的时候,直接调用GUI类里面的东西,还是非常方便的。
Transform 场景物体的...
服务热线:400-678-8266  其实熟悉NGUI的人,应该知道
实现渐隐渐现 FadeIn/Out 效果是很方便的,因为父对象 的 改变会自动影响到子对象。 比如 UIWidget、UIPanel等组件都有 Alpha属性,在Inspector面板上可以直接设置拖拽的改变看看。确实如此。  但是到UGUI呢,没有这么方便。
刚开始也是以为和NGUI一样,后来发现是不行的,就到网上好好的找了一回。  需要熟悉一下 组件的内部和继承关系了!  UI中每个能够显示控件都会有一个CanvasRender对象,CanvasRender有什么作用呢?  官方的解释:The Canvas Renderer component renders a graphical UI object contained within a Canvas.
简单的翻译过来就是,画布上的渲染器组件将呈现包含在一个画布内的图形用户界面对象,再仔细查看CanvasRenderer类 时我们可以看到有两个方法SetAlpha ,SetColor,显然我们可以修改透明度Alpha和Color来实现渐隐渐现,同时我们还可以发现Button,Text,Image等控件都会集成自unity.UI.Graphic  https://bitbucket.org/Unity-Technologies这里包含Unity的所有开源项目,包括UGUI的源代码  然后我们再阅读Graphic代码,我们会发现有两个方法:  public void CrossFadeAlpha(float alpha, float duration, bool ignoreTimeScale);  public void CrossFadeColor(Color targetColor, float duration, bool ignoreTimeScale, bool useAlpha);  因为源代码是开源的,大家可以自己去看看!  因此我们利用CrossFadeColor或CrossFadeAlpha这两个方法就可以实现渐隐渐现了  void Start()  {  Component[] comps = GameObject.Find(&/UI Canvas&).GetComponentsInChildren&Component&();  foreach (Component c in comps)  {  if (c is Graphic)  {  (c as Graphic).CrossFadeAlpha(0, 1, true);  }  }  }  但是 Unity提供的方法很有限,就是 要做延迟怎么办? 要在结束后执行回调怎么办? 要改变渐变曲线怎么办?  我们在知道 原理了之后,就可以 在看看 DOTween 补间动画插件。  官方文档有专门 的区域 API 是针对 Unity4.6种的UGUI元素的。【自己去看】  #region 渐显/渐隐的形式 对菜单对象  /// &summary&  /// 渐现菜单  /// &/summary&  /// &param name=&targetGO&&菜单游戏对象&/param&  public static void FadeOpenMenu(GameObject targetGO)  {  Component[] comps = targetGO.GetComponentsInChildren&Component&();  for (int index = 0; index & comps.L index++)  {  Component c = comps[index];  if (c is Graphic)  {  //(c as Graphic).color = new Color(1, 1, 1, 0);  // (c as Graphic).CrossFadeAlpha(1f, MENU_FADE_IN_TIME, true);  (c as Graphic)  .DOFade(0f, MENU_FADE_IN_TIME)  .SetDelay(CAMERA_ZOOM_IN_DELAY)  .SetEase(MENU_SCALE_OPEN_TYPE)  .From()  .OnComplete(  () =&  {  MenuSignalManager.OpenedMenuSignal.Dispatch();  });  }  }  // 执行完毕的回调  }  /// &summary&  /// 渐隐菜单(无销毁操作)  /// &/summary&  /// &param name=&targetGO&&菜单游戏对象&/param&  public static void FadeCloseMenu(GameObject targetGO)  {  Component[] comps = targetGO.GetComponentsInChildren&Component&();  for (int index = 0; index & comps.L index++)  {  Component c = comps[index];  if (c is Graphic)  {  //(c as Graphic).CrossFadeAlpha(0, MENU_FADE_OUT_TIME, true);
// 当然了如果认为不方便的话,可以使用dotween的Graphic的DoColor、DoFade  (c as Graphic).  DOFade(0, MENU_FADE_OUT_TIME)  .SetEase(MENU_FADE_OUT_TYPE)  .OnComplete(() =&  {  MenuSignalManager.CloseedMenuSignal.Dispatch(targetGO);  });  }  }  // 执行完毕的回调  }  #endregion  但是 Unity提供的方法很有限,就是 要做延迟怎么办? 要在结束后执行回调怎么办? 要改变渐变曲线怎么办?  我们在知道 原理了之后,就可以 在看看 DOTween 补间动画插件。  官方文档有专门 的区域 API 是针对 Unity4.6种的UGUI元素的。Unity3D教程手册(unitymanual) 
 文章为作者独立观点,不代表大不六文章网立场
的最新文章
手机的诞生为人类生活带来了极大便利,但各种意想不到的烦恼也接踵而至,包括导致许多人患上手机上瘾症,短暂离开手国际程序员日在全世界盛行,大家都在庆祝程序员对世界的巨大变化,改善我们的日常生活。它过去通常是在1月7日举行,但现在国际普遍定在9月13日,或在9月12日庆祝(你知道为什么是这两天吗?).约到喂啊科技董事长陈修超很不容易,敲时间敲了很多次,对于被估值为国内最高的游戏开发商来说,这么忙已经成为了常态。然而他最困难的是什么的时候,他说的仍然是时间。PureMVC 是经典MVC设计框架的一个变种, Pure的含义是”纯粹的,精粹的”, PureMVC顾名思义被称为"纯粹的MVC框架".电子书网站Packt公布了其2016年技术提高报告。它提供的统计数据基于超过11,000名IT专业人士参与的关于2016年收入最高的编程语言的调研。它同时还介绍了流行的web框架和主题。十一刚刚结束,连上7天班的你还好吗?每一个职业和工作都需要人们在最好的状态下完成。这对于从事 IT 行业的人来说尤其重要,工作效率很大一部分取决于我们的心情和感受。那么,程序员如何在假期后快速找回工作状态呢?对于每个程序员来说,美工的设计着实为大家的痛处。但并不是所有的程序员都不是好美工,像是Minecraft的作者Markus就采用简单的像素风格的3D美工来完成他的游戏。由此来看,并不是程序员无法做美工,程序员也可以做简单的,风格化的美工。游戏蛮牛采访TVR正好赶上他们的游戏《AceBanana/王牌香蕉》上线PSVR前期准备最忙的时候,所以整个采访跨越了《AceBanana》准备上线到正式上线这个阶段。虽然真的很忙,TVR的COO方相原还是接受了我们的采访。在上一节中,我们简单地熟悉了一下Magica Voxel这款软件的一些操作,但是我们怎样在Magica Voxel中做出更好看的模型?怎样将模型导入3D等软件中应用呢?今天我来讲一下官方的扩展追踪ExtendedTracking功能实现脱卡,如果使用过涂涂乐或者开发过类似产品的朋友应该大体了解。这次要实现的功能是在游戏中能表现出各种环境效果,比如清晨、正午、傍晚、夜晚、雨后、晚霞等等。对于Vive,运动追踪功能是 HTC Vive 的一大亮点,这也让很多适配 HTC Vive 的游戏能够让用户动起来,听起来很酷,体验起来也很酷。在小范围移动1:1的范围内活动或固定位置的游戏中,定位精确,并且延迟很低,各种优点不一而足。Unity发布EXE去掉边框生成安装程序的最简单方法。游戏中的UI系统或者叫做GUI窗口系统主要有:主要装备窗口、确实提示窗口、信息提示窗口和特殊窗口,前篇已经介绍分析了Inventory Pro确认提示窗口的设计和实现方式,这篇主要讲一下信息提示窗口的实现。如果把显示场景图片的圆形球体换成6个面的方块组成和盒子的话,那对于手机等低端设备来说,应该能节省不少计算开销。毕竟球形有100多个面,而方块只有6个面。所以马上行动,开始我们的优化方案。这是一个 42 岁的开发者所写经验分享文章.并且列出一些他 18 年多身为软件开发者的经验谈.许多部分看完后都会希望自己当时就能够了解,所以很推荐不论是新手或是老手都要好好阅读这一篇文章。404是HTTP其中一种的标准回应信息,通俗的说,当用户浏览网页时,服务器无法正常提供信息,这时候页面会出现这个404页面。我特别支持软件开发者在他们掌握技术技能的同时去学习“软技能”——事实上,我写了一本关于这方面的书——但是不可否认的是:技术技能很重要。Web Player是3D自带的一个Web端插件(虽然unity后来不用了但之前版本还可以用)。它可以作为普通的网站来用也可以与Unity3D进行交互。U3D本身是一个比较方便扩展的游戏开发工具,有很强的扩展性,我们可以在gameobject上挂脚本,可以扩展编辑器等等。但是远远谈不上好用!在研究Inventory Pro插件的时候,发现老外实现的一个泛型对象池,觉得设计的小巧实用,不敢私藏,特此共享出来。他2014年就开始关注VR,他的全球VR JAM游戏开发大赛上获得第三名的作品是在坐地铁的时候想出的案子,他的主程和主策天天撕,他说开两天会都不一定有好点子坐个马桶就想到了,他说没有一帆风顺的创业......加班是互联网行业永远的痛,项目节点定下来后,为保证项目节奏,基本天昏地暗永无止境地加班,根本没有时间找女朋友。下面看看无休止加班的成因。在使用开发游戏过程中,经常使用到 Animation 功能来为物体做动画效果,其中就包括物体的位移路径动画。本文主要讲解使用Unity模仿CSGO里的火焰效果,思路简单易懂,附代码~最近做项目的时候碰到一个需求,就是在我们VR程序中调用外部的程序,当外部程序使用完成后又重新调用咱们Unity的程序,网上找了好久都没有Unity能用的办法,最终还是用c#的最大化做出来了,做个小例子分享给大家。他曾经在日本SE工作,参加 了《最终幻想13》、《最终幻想:零式》等多部游戏作品的制作。我问他AR和VR哪个更有市场的时候他反问我鱼香肉丝和红烧肉哪个更有市场。他说主机游戏不需要渠道这个概念,更多的是像电影圈。他就是万岁游戏CEO姚姚丸。以前做的游戏界面较少,UI都是直接setactive的,最近参加鹅场的比赛做了个游戏,把ui弄多了一点,再setactive就很不方便了,在git上一搜,发现了王选易大大的UI框架,就以此框架为基础自己弄了个框架。终有一天我手中的编译器将成为我灵魂的一部分,这世界在我的眼中将被代码重构,我将看到山川无尽银河无垠都汇成二进制的数字河流,过往英雄都在我脑海眼前一一浮现,而我听到无数码农跪倒在我的程序面前呼喊。他们叫我代码之神。Quality他是个什么东西呢?本文主要讲如何实现一款小地图...11年前我和程序猿第一次见面,还是大一军训期间。我甚至不确定程序猿是否记得那是第一次见面。当时不小心装伪文艺参加了吉他社,想借一本吉他入门书,然后同在吉他社热心的海哥说他一同学有,就带着我去拿书了。于是我们第一次“见面”了.......不解风情的程序员们在情感生活中不免会遇到这样悲催的一幕:偶然遇到一位心仪的女孩,从此日思夜想,废寝忘食,开始了漫长的暗恋之旅,等到一日,在无尽的纠结中,终于鼓起勇气向女孩表白,结果女孩一句“我已经有男朋友了”如晴天霹雳,实在难以接受……UGUI的层叠顺序是按照Hierarchy中的顺序从上往下进行的,也就是越靠上的组件,就会被画在越底部。所以UI就是这样一层一层地叠上去画出来的。虚拟现实产业如火如荼,各家企业在软件、硬件、内容、服务、投资、媒体等等纷纷布局。中国人均读书0.7本,是我们人太多还是没时间?更有可能是我们做了太久的低头族。是时候放下手机拿起书,去寻找我们的颜如玉了~The Lab Renderer for 是Valve针对VR在Unity的体验渲染器,提高VR的渲染效率,而现阶段的问题,在地形并不能接受Valve渲染产生的阴影,对应地形上的树啥的也不能产生阴影。使用 Cubmap 可以模拟出环境的反射,预先将环境渲染到 Cubmap 中,从而避免在游戏运行时对环境的实Shader部分的学习案例和基础知识会陆续更新,喜欢的童鞋请记得持续关注,现在插播一条项目上遇坑填坑,遇锅背锅的小案例广告。在CJ2016索尼发布会上,索尼公布了一个重点项目--中国之星计划。被选中的开发者可以得到索尼的技术支持和协助,利用索尼的平台和资源提高国内游戏开发者作品的质量和知名度,同时还展示了首个参与中国之星计划的作品--《边境计划》。在游戏开发过程中,项目开发团队的成员,几乎每天都会和游戏策划文档打交道,但是每个团队、每个人对策划文档的重视程度却各不相同。有的把游戏策划文档奉为游戏开发过程中的圣经,有的却认为使用策划文档,是一种非常低效率的行为。八月底开始找工作,面试了9家公司,拿到5份Offer,学习Python的时间还很短,没想到还算比较容易的找到了工作,就把这些天的面试经验和大家分享一下,希望为学习Python找工作的小伙伴们提供些许帮助。关于遮罩的需求将矩形的图片做成圆角矩形、圆形常用实现方式使用UGUI自带的Mask组件实现使用网上一搜一大把本来想分析MarkUX框架的代码,但是需要购买,暂时就放下了,恰巧遇到PreGUI几乎雷同的设计思路。那就直接拿来分析吧。此文是我读此框架的笔记,外行看热闹内行看门道至于能理解多少就见仁见智了,如果我没理解的地方还请不吝指出。UE4 HTC VIVE - 房产漫游制作教程-基础篇本文主要介绍了有关镜子的制作,先把实现部分写出来,并把思路传授给大家....你知道有能力胜任和精通之间的区别是什么吗?据说,某互联网公司招了个日本人做研发,上班第一天就对部门同事说:“我在日本工作时是个加班狂,每天都很晚回家,希望大家跟上我的步伐。”一个月之后他辞职回日本了,扔下一句话:“你们这样加班,经常睡在公司是很不人道的。”如果我们都不知道高级程序员到底是个什么样子,那我又该怎么朝这个目标努力?”VR元年炒了又炒,从2014年初到2016年下半年,历时2年的时间,市场不温不火,优秀内容依然稀缺。近日游戏unitymanual游戏蛮牛 ---
中国最大的手机游戏开发者技术社区! 热门文章最新文章unitymanual游戏蛮牛 ---
中国最大的手机游戏开发者技术社区!NGUI和UGUI能同时正常使用么_unity3d吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:57,309贴子:
NGUI和UGUI能同时正常使用么收藏
由于一些原因希望同时使用,怎么解决好显示的层级问题,求给予一些帮助。
火星时代unity3d,争当游戏大触,月薪过万小意思,手绘技能,概念设计,商业应用一步到位,你与u3d游戏特效设计师只差一步,赶快点击吧!
我导入都有问题
不知道,已转UGUI的路过
放弃NGUI吧
谢了,两个同时使用没问题。
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或}

我要回帖

更多关于 unity3d ugui 的文章

更多推荐

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

点击添加站长微信