【Unity3D】【NGUI】如何给Clipping的Panel下的UITexture加shader

NGUI讨论群:333417608

NGUI版本:3.6.5

NGUI在较新的版本中,为了实现Clipping嵌套,为他自身的一些shader写了几个版本。

Unlit - Transparent Colored.shader     无Clipping

Unlit - Transparent Colored 1.shader     1层Clipping

Unlit - Transparent Colored 2.shader     2层Clipping

Unlit - Transparent Colored 3.shader     3层Clipping

替换shader的代码在UIDrawCall的CreateMaterial部分。

所以如果你新增了自己的shader,而且要支持Clipping的话,就需要也同时实现以上的4个版本

其实上面4个版本的主体内容是一样的,所以如果为了方便,你可以:

1、把这4个shader复制一份

2、修改每个shader上最上面的名字

3、把自己的shader主体功能部分每个里面替换

(NGUI默认支持3层嵌套Clipping,你可以自己扩展出4、5、6等,但是没必要了)

时间: 2024-08-10 03:57:18

【Unity3D】【NGUI】如何给Clipping的Panel下的UITexture加shader的相关文章

Unity3d NGUI知识

参考:http://forum.exceedu.com/forum/forum.php?mod=viewthread&tid=33091&extra=page%3D1 一.Panel相关 1.Alpha属性影响所有在panel下面的widget.所以可以用它来淡出整个窗口 2.如果你的UI需要被灯光影响,需要勾选上Normals. 二.Camera 1.UICamera真正做的事情是发送NGUI事件给所有被当前camera渲染的object,camera是UICamera脚本所在的那个.

Unity3D NGUI自适应屏幕分辨率(2014/4/17更新)

原地址:http://blog.csdn.net/asd237241291/article/details/8126619 原创文章如需转载请注明:转载自 脱莫柔Unity3D学习之旅 本文链接地址:Unity3D NGUI自适应屏幕分辨率 1.UIRoot:根据高度自适应屏幕分辨率. NGUI根目录的UIRoot组件自带了根据高度自适应分辨率的功能. Scaling Style属性可选择三种不同的缩放策略. PixelPerfect 完美像素:直接显示设定好的像素.当屏幕高度低于minimum

[Unity3d][NGUI]两种思路解决AssetBundle的依赖关系.

接上文. 使用上文中的AssetBundle打包方式生成的文件包括了依赖关系中的文件. 一般的使用中并不会发现什么问题. 可是当配合NGUI的时候,使用dynamicFont时打包AssetBundle会将每一个组件使用的dynamicFont都分开打包进去. 导出函数请參考:导出资源 导出资源包时出现的问题: 如图: 在解决依赖关系上我使用过2种方案: 第一种是使用BuildPipeline中的PushAssetDependencies和PopAssetDependencies方法来解决依赖关

Unity3D游戏开发之自由视角状态下的角色控制(二)

在测试Unity3D游戏开发之自由视角状态下的角色控制这个项目的时候意外地发现了一个Bug.Bug出现在如下位置: [csharp] view plaincopyprint? //设置玩家跟随角度 if(Target.GetComponent<NoLockiVew_Player>().State==NoLockiVew_Player.PlayerState.Walk) { Target.rotation=Quaternion.Euler(new Vector3(0,mX,0)); } 该方法主

Unity3d + NGUI 的多分辨率适配

移动端的多机型适配 现在要介绍的是<锁链战记>这款游戏的适配方法,这种适配方法是UI是一个基础尺寸,背景是一个基础尺寸,背景比UI多出的部分是一些没有实际作用的部分,这样的适配方式避免了在iPhone5这样的小屏幕上镶边. 首先设定UIRoot的Scaling Style属性,如果是电脑现在FixedSize,如果要打包到移动端选择FixedSizeOnMobiles. 我这里是以960*640为UI基础尺寸所以这里填写640高. 下面编写脚本BaseAspect.cs using Unity

Unity3D NGUI学习(一)血条

这次来讲讲Unity3D NGUI这个插件的学习,这个插件是收费的,不过去网上可以下载得很多可用版本.用来做用户的交互UI,学习起来比较简单 第一步,导入NGUI包 http://pan.baidu.com/s/1mhKaoha 导入后Unity工具栏上面就会出现关于NGUI的选择了 第二步,开始看一些例子,分析一些例子,因为一般学插件就是下载后照着别人的例子去做可以学会了. 来看一个例子 这里还看一个上面的进度条的 当这个按钮包含几个脚本之后,就达到这样的效果 之后就能够通过实现脚本控制这个进

Unity3D NGUI图集切成图片

Unity3D NGUI图集切成图片 有的时候用NGUI做好了图集,那么原图就没有必要放到Unity3D中了,严重影响Unity3D的速度.但是突然右想把图片弄出来.当然NGUI是提供了图集中单个图片另存,但是如果图片太多,比较费时间,所以用python写了个切图片的工具代码如下: Python环境:2.7 测试通过,需要依赖Image库 NGUI版本:3.7 #coding:utf-8 #unity 图集裁剪成png #Author:Wiker Yong #Date:2015-07-08 im

在tomcat下使用jni加载本地库的问题总结——处理UnsatisfiedLinkError错误

最近想使用ICTCLAS分词系统,需要在myeclipse中加载dll(本地库),查阅资料使用jni,ICTCLAS官方也提供了很全面的加载方法,虽然在run as java application下运行没有问题,但是在tomcat下报UnsatisfiedLinkError的错误,错误来自System.loadLibrary("ICTCLAS50"),是jni加载本地库的语句. 之前其实为了省事将dll放在根目录下,显然也不符合tomcat的要求,重新移动到webapps下,想将IC

Android下将图片加载到内存中

Android的系统的标准默认每个应用程序分配的内存是16M.所以来说是非常宝贵的,在创建应用的时候要尽可能的去节省内存,但是在加载一些大的文件的时候,比如图片是相当耗内存的,一个1.3M的图片,分辨率是2560X1920(宽X高)图片当加载到手机内存的时候就会请求19M的一块内存,这是远远超出了系统自带的内存空间,这时候应用程序就会挂掉,所以我们要进行图片的缩放处理,下面我就来带大家创建一个用来图片缩放的应用: 应用效果图如下: 核心代码的实现: package com.examp.loadp