随笔分类 -  NGUI

摘要:摄像的渲染层的概念 Unity中,每一个物体都有一个所处的“层”的概念,也就是物体的Layer,而摄像机中可以通过设置CullingMask来决定该摄像机只渲染哪些层的物体。对于UI来说,这个原理也一样使用,因为NGUI的每一个控件元素,本质上都属于一个GameObject,都有自己的层;每一个UI 阅读全文
posted @ 2016-09-18 01:16 _Soy 阅读(3283) 评论(0) 推荐(0)
摘要:UI结构设计遵循的一些要点 1.尽量不要让UI作为Camera的子物体 因为UI和摄像机敏感的关系,尽量不要将UI作为摄像机的子物体,避免出现一些因为透视(3D UI)等问题导致的视觉Bug。 2.尽量让Anchor组件所在的物体在最上层 因为屏幕自适应的适配工作是游戏避免不了的一个问题,Ancho 阅读全文
posted @ 2016-09-17 22:46 _Soy 阅读(298) 评论(0) 推荐(0)
摘要:什么是UI事件监听的击穿 在游戏视图中,有两个UI界面叠在一起的时候,单击一个空白处,却触发了被覆盖在下层了UI界面中的单击事件,这就是单击击穿了上层界面。 假设场景中放置了一个箱子,单击箱子会触发一个开箱事件,如果单击一个UI,恰好UI在视觉上将箱子覆盖了,那么它也许就会触发箱子的单击事件。 如何 阅读全文
posted @ 2016-09-17 22:02 _Soy 阅读(671) 评论(0) 推荐(0)
摘要:资源制作标准设定建议 1.所有的UI资源全部采用PNG导出 因为Unity不支持外部压缩,所以,不论是用PNG还是JPG,只要尺寸相同,资源量在引擎中都会是一样大。所以,可以大胆地采用PNG进行输出,以保留和实现更好的色彩效果。 2.设定好一个客户端的标准分辨率 是1920*1080还是1280*7 阅读全文
posted @ 2016-09-17 21:17 _Soy 阅读(935) 评论(0) 推荐(0)
摘要:UI资源量对资源包大小和内存的影响 UI资源具有以下特点: (1)UI资源几乎都是图片,而图片是最占资源量的资源类型之一。 (2)Unity不支持外部压缩,即使在外部将一个10MB的图片压缩到只剩1MB,导入引擎之后它也会被解压出来变成10MB,然后转换为各平台特有的格式。 (3)UI资源一般都贴着 阅读全文
posted @ 2016-09-17 17:42 _Soy 阅读(3521) 评论(0) 推荐(0)
摘要:什么是UI元素的相对自适应 UI元素的相对自适应,顾名思义,是指两个UI元素之间保持一种相对的位置不要变化,例如,UI元素A永远处于UI元素B右边的50像素处位置。再比如,一个UI背景框,不论屏幕尺寸怎么变化,框的左边缘永远距离屏幕左边100像素,框的右边缘永远距离屏幕右边100像素。 Anchor 阅读全文
posted @ 2016-09-17 15:50 _Soy 阅读(691) 评论(0) 推荐(0)
摘要:屏幕分辨率对UI适配的影响 一般来说,UIRoot都会选择FixSize的缩放模式,这样可以让UI随着分辨率而自动缩放,保持和屏幕相对的大小比例不变,让UI整体看上去不会有变大变小的奇怪现象。但是,还有另一个真正严重的问题:不同屏幕的宽高比不一样。 在Unity中,不同屏幕的宽高比,一般都会以高度为 阅读全文
posted @ 2016-09-17 13:33 _Soy 阅读(3865) 评论(0) 推荐(0)
摘要:怎样判断是否应当使用滚动视图 所谓的滚动视图,是指一个可以滑动的视窗,视窗大小和位置固定不变,视窗内的内容用户可以通过手指滑动或者拖动滚动天来进行滚动浏览。 滚动视图的目的是为了解决同类内容过多,一个UI版面显示不下的情况。如果同类内容过多,一般可以采取设置多个页面,然后通过翻页浏览的方式来浏览,但 阅读全文
posted @ 2016-09-17 00:22 _Soy 阅读(4252) 评论(0) 推荐(1)
摘要:怎样判断是否应当使用复选框 复选框,就是对一个选项做上一个标记,表示这个选项已经被选中了。在游戏中,复选框一般用来做一些选项的控制,这种选项一般都只有两种答案:是和否。例如,单击一下开启音乐的复选框,这个复选框上就打了一个勾,然后音乐在游戏中就会开发;如果再单击一下,则这个勾会取消掉,然后音乐相会在 阅读全文
posted @ 2016-09-15 17:42 _Soy 阅读(2644) 评论(0) 推荐(1)
摘要:怎样判断是否应当使用下拉菜单 下拉菜单,就是将一系列的选项隐藏,通过单击某一个控件将会弹出一个包含这些选项的列表,在其中选择想要的选项。这样做不但可以节省屏幕空间,也可以让用户在进行选择时更加方便快捷。 下拉菜单本质上还是一个单选框,与Toggle的功能有一些类似,对于下拉菜单玩家必须选择一个选项( 阅读全文
posted @ 2016-09-15 16:33 _Soy 阅读(1896) 评论(0) 推荐(1)
摘要:怎样判断是否应当使用输入框 输入框,就是用户可以自由输入文本的地方。当需要判断是否需要使用输入框时,可以遵循一条原则:凡是需要用户自主输入文本的地方,几乎都必须使用输入框。 输入框的常见用法:输入登录账号和密码、输入角色名称、输入聊天内容等。 创建输入框 输入框的3个核心控件:BoxCollider 阅读全文
posted @ 2016-09-15 15:17 _Soy 阅读(1650) 评论(0) 推荐(0)
摘要:怎样判断是否应当使用进度条 用进度条的主要目的是为了用一根管子的充满程度来直观地表示某种数值的百分比,进度条分为可拖动和不可拖动两种。 可拖动进度条和不可拖动进度条的原理几乎是一模一样,唯一的区别是可拖动进度条上多了一个拖动快和BoxCollider来接收事件,而不可拖动的进度条只能显示一个数字的百 阅读全文
posted @ 2016-09-15 00:27 _Soy 阅读(3146) 评论(0) 推荐(0)
摘要:按钮的核心作用 1.按钮能接收单击并触发响应事件。 2.按钮被单击时能同时触发多个响应事件。 3.按钮可以有普通、悬停、单击、禁用等多个状态的不同表现。 4.广泛的说,按钮的核心在于接收事件,任何可以接收用户操作事件的,都可以称之为按钮。 创建按钮 1.创建一个Sprite,这个Sprite将会是按 阅读全文
posted @ 2016-09-09 03:44 _Soy 阅读(2606) 评论(0) 推荐(1)
摘要:什么情况下使用UI Texture UI Texture的功能是在屏幕上显示一张图片,在这一点上它和Sprite有着相似的功能,但是UI Texture会消耗单独的DrawCall去渲染,并会单独加载进内存,所以,会增大性能的开销。当判断是否应该使用UI Texture时,可以遵循以下规律。 1.当 阅读全文
posted @ 2016-09-08 23:49 _Soy 阅读(1202) 评论(0) 推荐(0)
摘要:怎样判断是否应当使用标签 当游戏中出现需要程序输出文字的地方,就要使用标签。 创建标签 在Unity顶部选择NGUI菜单、选择Create->Label,即可创建一个Label。 Label的文字设置 1.设置字体 如果新创建的Label的组件面板为一片灰色(不可设置)的话,说明还没有设置字体。单击 阅读全文
posted @ 2016-09-08 00:00 _Soy 阅读(1394) 评论(0) 推荐(0)
摘要:凡是带有Widget参数的组件都是控件。 阅读全文
posted @ 2016-09-07 02:35 _Soy 阅读(587) 评论(0) 推荐(0)
摘要:怎样判断是否应该使用精灵 在一套UI中,精灵是一种非常常见的元件。当制作UI时,如果需要显示一张图片,需要先判断这个图片是否应该制作到图集里去,然后用精灵的方式去使用它,一般来说,可以遵循以下规律。 1.首先说明一点,精灵是一个很基础的UI元件,经常不会独立使用,很多其他控件都会用到精灵。所以,精灵 阅读全文
posted @ 2016-09-07 02:33 _Soy 阅读(6156) 评论(0) 推荐(0)
摘要:强化对深度的理解 在老版本的NGUI中,UI的显示层次关系是依靠z轴进行的。在新版本的NGUI中,所有UI的z轴都被统一,然后用深度来决定和管理显示的层次关系。关于深度,要记住一下关键点: 1.每一个UI Panel和每一个UI控件都一定会有一个Depth,深度值大代表显示的优先级高(会越趋向于在界 阅读全文
posted @ 2016-09-06 01:33 _Soy 阅读(2720) 评论(0) 推荐(0)
摘要:2D UI的工作原理 UI控件的位置在UI Root 的红框(视窗)上,也就是UI控件的z轴,相机的z轴,UI Root的z轴都是0,因为2D UI都是纯粹的2D图片按层次显示,不会不出现三维立体效果,所以都是直接紧贴着视窗,只要UI控件在UI Root的红框范围内,那么UI就能够正常显示在Game 阅读全文
posted @ 2016-09-06 00:15 _Soy 阅读(3416) 评论(0) 推荐(0)
摘要:创建一个2D UI 制作UI时,首先要创建UI的"根"。在Unity顶部NGUI菜单中选择Create,然后选择2D UI。 创建完成后,在Scene窗口中,NGUI自动生成了一个名为UI Root的物体,其中带有一个Camera作为子物体。 这个新生成的Camera,是NGUI生成的专门用来渲染U 阅读全文
posted @ 2016-09-05 00:44 _Soy 阅读(740) 评论(0) 推荐(0)