NGUI出现Shader wants normals, but the mesh UIAtlas doesn't have them,没有网格法线,打开UI Root上 UIPanel组建上的 Normal选择对勾就能够了…
通常情况下,我们在Unity3d种可以通过material.SetFloat(name, xxx) 修改参数来达到我们的Material[Shader]的效果. 但是在 NGUI 的UITexture中,除了初始化时调用可以生效之外, 在Update或其他地方修改参数均不起效. 其原因是 NGUI 已经将calldraw作了缓存(没细查),我们可以在设置后调用 RemoveFromPanel 和 SetDirty 来进行重建: 实例: void SetFloat(UITexture t, str…
之前有人做过,不过效率不高: http://blog.csdn.net/onerain88/article/details/12197277  他的代码: fixed4 frag (v2f i) : COLOR{    fixed4 col;    if (i.color.r < 0.001)      {         col = tex2D(_MainTex, i.texcoord);         float grey = dot(col.rgb, float3(0.299, 0.58…
技术分享连载1 Q1:Texture占用内存总是双倍,这个是我们自己的问题,还是Unity引擎的机制? Q2:我现在发现两个因素直接影响Overhead,一个是Shader的复杂度,一个是空Update方法及其同类空方法,不知道是否还有其他因素? Q3:在Unity的内存管理机制中, Reserved Total 和 Used Total之间的关系是怎样的? Q4:纹理Atlas是建议合成一张2048(尺寸)的纹理还是四张1024的纹理? Q5:在把Unity升级到5.3之后,项目中缓存的粒子特…
关于Unity中的资源管理,你可能遇到这些问题 张鑫 8 个月前 原文链接:关于Unity中的资源管理,你可能遇到这些问题 - Blog 在优化Unity项目时,对资源的管理可谓是个系统纷繁的大工程.鉴于Unity独特又绝(cao)妙(dan)资源打包的AssetBundle管理机制,不同资源的属性适合于不同的存储和加载方式.此外,要处理好成百上千个资源之间的相互依赖关系也非易事.谁说良好的资源管理不是个艺术呢?:) —————————————————— 关键字 AssetBundle资源制作…
一.AssetBundle 相关 Q1:Unity中的SerializedFile是怎么产生的?请问用Unload(false)可以清除吗?因为读取了Bundle里面的内容后已经赋值给其他物体了.而且我把图片都打成了Bundle,然后读取出来,图片的大小应该是超过了这个SerializedFile的大小的? SerializedFile是AssetBundle加载时产生的序列化信息,一般为LoadFromCacheOrDownload.LoadFromFile和New WWW加载本地AssetB…
序: 1.项目过程中不可避免的需要用到大量Shader 和 UITexture,由于Ngui对Shader支持非常糟糕,导致项目drawCall异常的高 2.Panel裁剪无法裁剪自定义shader内容,这部分暂不研究,后续再说 始: 1.本文主要解决项目中大量使用shader & UITexture 导致drawCall过高的问题(如下图),图中每个不同的图片都会导致增加一个drawCall,那么如何减少这个drawcall呢?当然只有打图集了! 步骤: 0. 将所有图片打包成图集,通过Tex…
NGUI元素的遮挡情况是不依赖空间关系,所以在NGUI上添加特效有时候特别蛋疼,特别是美术同学还要依赖空间关系来控制特效效果,那先看看看NGUI的层级是怎么处理的,不过下面的描述都是针对单个相机下的Panel,如果存在多个相机当然还要考虑相机的前后关系.在写之前,还是记录下这篇随笔参考的资源:<NGUI 渲染流程深入研究>) , 一篇不错的介绍,对理解整个流程很有帮助,对层级关系也做了很多描述;作为补充,<NGUI的渲染流程> 对 理解UIPanel.UIWidget.UIDraw…
目录 1.介绍两大UI插件NGUI和UGUI 2.unity渲染顺序控制方式 3.NGUI的控制 4.UGUI的控制 5.模型深度的控制 6.粒子特效深度控制 7.NGUI与模型和粒子特效穿插层级管理 8.UGUI与模型和粒子特效穿插层级管理 写在前面 这篇笔记是整理了之前做的记录,在做项目的过程中,遇到了各种各样的界面穿插问题,界面层级混乱,比如,手机卡了或点快了,就导致两个界面相互交叉.对于界面,这应该算是一个很严重的bug,很大部分原因是整个UI框架没有从整体上考虑这个,后来决心弄清楚层级…
先上效果 Shader Shader "Unlit/Transparent Colored Flow Texture" { Properties { _MainTex ("Base (RGB), Alpha (A)", 2D) = "black" {} _FlashTex("Flash (RGB), Alpha (A)", 2D) = "white" {} _FlashColor("Flash C…