[Shader]NGUI与粒子系统

Posted kakashi8841

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[Shader]NGUI与粒子系统相关的知识,希望对你有一定的参考价值。

版权所有,转载须注明出处!
喜欢火影、喜欢Java、喜欢unity3D、喜欢游戏开发的都可以加入木叶村Q群:379076227

1、前言
在很久很久以前,流传着在NGUI中使用 unity 3D自带粒子系统的方法。
有一种称为RenderQ,另一种称为Render Texture。
然而,或许是随着历史的原因,有些已经逐渐被人们淡忘。使用方法随着应用的条件不同或残缺不全,或效果错误。
我,不相信命运,踏上了找寻遗失秘法的旅途。最后,终于在某一天,遇见了。。。

2、遇见故友
友:来来,刚好见到你,问问你,NGUi中怎么使用粒子?我:不是用代码设置下粒子的RenderQ就可以了吗?
友:那个太简单了,网上都能搜索到,有什么意思的?
我:那使用Render Texture来渲染出一个图片,然后用UITexture来引用也可以吧。
友:我也想到这样,但是不知道为什么摄像机看到的效果和UITexture用了这个Texture之后效果不对。
我:怎么个不对?
友:你看看调试效果和实际运行效果
 

我:这效果确实不太一样。不过也倒是有另一种美。
友:你给我滚出去
我:于是乎。我就走了。我边走边想。上面的效果图有什么 问题 ?首先,背景是蓝色的。我得先着手解决这个。

那不容易。这个一看就是摄像机的颜色。搞一搞。
 

我:你看,是不是这个效果。
友:是啊,怎么搞的。
我:把渲染粒子的摄像机的背景颜色改成完全不透明的,然后选择和当前颜色一样。
友:你给我滚出去。。
我:不能这样吗。。为啥不能呢。你看我这样搞。。额。。确实好像不能。。

 

我:我得再想想。那如果把摄像机的背景调透明呢。
 

粒子居然完全看不到了。。

3、再重新整理下思绪
显然,不管摄像机的背景是什么颜色,都不能直接把渲染出来的texture放到UITexture上面。
那么我们是否可以自己写个shader。专门用于这种场景。
话不多说,我立马写了“Unlit - Particle”、“Unlit - Particle 1”、“Unlit - Particle 2”、“Unlit - Particle 3”这4个Shader。
这里给出Unlit - Particle的代码,(其他几个的代码在本文最后的项目中有)
[C]  纯文本查看  复制代码 ?
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 Shader "Unlit/Particle"          Properties                           _MainTex ( "Base (RGB), Alpha (A)" , 2D) = "black"                             SubShader                           LOD 100                    Tags                                           "Queue" = "Transparent"                          "IgnoreProjector" = "True"                          "RenderType" = "Transparent"                                                     Cull Off                  Lighting Off                  ZWrite Off                  Fog Mode Off                  Offset -1, -1      Blend One OneMinusSrcAlpha                    Pass                                           [Shader]NGUI与灰化

[Shader]NGUI与灰化

Unity NGUI和UGUI与模型特效的层级关系

RenderDoc[03] 还原粒子特效shader

RenderDoc[03] 还原粒子特效shader

如何在shader中使用自定义函数

(c)2006-2024 SYSTEM All Rights Reserved IT常识