Unity Shader
文章平均质量分 71
御雪妃舞
在职
展开
-
Shader入门——我的第一篇shader
说到shader,很早前就开始看了,但是只是个大概,没有深入的研究,所以只能大概看看,自己写不出来,但是后来发现做项目过程中还是自己写比较快,于是,从这篇博客开始,准备深入研究一下。另外,发现博客被抄袭和转载的厉害,还被别人加上了别人的水印,这点很不喜欢,所以,以后的博客,楼主会加自己的水印。言归正传,我们将简单的从开头,属性和简单的调用介绍,后面还有一个博主研究的郁闷的问原创 2016-09-23 14:26:15 · 3025 阅读 · 1 评论 -
Unity Shader——移动端Shader的优化(Optimize Shader)
本篇参考书《Unity Shaders and Effects CookBook》。首先讲简单的Shader Cheap Shader,轻量级Shader主要是内存占用量,贴图使用量,还有数据使用量来优化。下面详细讲讲那些优化1.改变变量类型(降低内存)首先讲一下几种变量类型:float:32位浮点数据,对应的值有float2,原创 2016-11-01 15:28:18 · 4305 阅读 · 0 评论 -
Unity Shader——Shader实现大海的波涛效果
本篇参考书《Unity Shaders and Effects CookBook》,先实现书上的效果,然后再做处理。1.书中的波浪效果及原理首先上效果图:然后上脚本:Shader "MyShaders/VertexAnimation" { Properties { _MainTex ("Base (RGB)", 2D) =原创 2016-10-27 16:17:36 · 9294 阅读 · 4 评论 -
Unity脚本生成图片
学习shader,刚开始,记下一些自己的解读,如果有其它意见或者建议的欢迎交流。首先先上脚本生成图片的效果图:当然还可以根据参数有所改变。下面开始逐步分析:1.线性变化,颜色控制在黑白(y=|1-x|,1>=x>=0)首先,贴下代码:直接看代码可能不大好理解,下面我们具体化一下:如上图所示,这个原理原创 2016-10-17 15:43:12 · 9253 阅读 · 0 评论 -
Unity Shader菲涅耳反射(Fresnel)
菲涅尔反射经常用于汽车表面的材质,普通的反射看上去比较粗略,菲涅尔的效果和镜面效果会让汽车表面看的更有质感,并且创建一种边缘光照的效果。不是所有的表面都要相同数量的菲涅尔光照,想汽车表面的话需要高强度的菲涅尔反射,但是塑料材质的只需要迟钝点的强度就可以了。下面我们看下效果:我调处来的效果:不知道是版本原因还是其他原因,书上的那种效果我没有调处原创 2016-10-26 10:51:22 · 12189 阅读 · 1 评论 -
Unity Shader------遮罩反射(Masking Reflection)
上一篇分析了反射光,是整个球体都是的,但是我们可能某些情况下不需要整体反射,只需要局部咋办,这一篇会分析遮罩反射。相比上一篇就是小小的改动,但是我觉得还是贴出来,以后用到来翻比较快。先上图,是不是有点像地球的感觉下面上代码:Shader "MyShaders/MaskingReflection" { Properties {原创 2016-10-25 15:35:54 · 1627 阅读 · 0 评论 -
Shader 反射光(reflection)
Unity中的shader使用反射光,相当于我们初中物理的反射光,入射光,发现,发射光的知识,实际上就是模拟现实中的光照。但是Unity中的反射光向量Unity自己计算好的,不需要我们来计算,然后下文看书中的Cubemap有很多人觉得复杂,也有人问过我怎么创建,我这里先简单介绍下:1.CubemapCubemap:立体空间贴图(这是个人翻译的理解),实际上它属于贴图类型原创 2016-10-25 11:16:16 · 2428 阅读 · 0 评论 -
Unity中实现灰度图效果
曾经做游戏时研究过这个灰度图效果,一直没有时间把它写出来,最近空了,整理了出来。本文将介绍两种灰度图效果,一种是普通Untiy中使用的材质的灰度图效果,一种是NGUI中使用在滚动轴中的灰度图效果.一:普通Unity中使用的材质的灰度图效果其实这就是一个简单的Shader处理,Shader脚本中的主要处理如图:新建一个场景,里面建立一个Sphere然后给它原创 2016-11-04 15:56:11 · 6484 阅读 · 1 评论 -
Unity Shader——夜晚视觉屏幕特效(night vision Screen Effect)
本文参考《Unity Shaders and Effects CookBook》。这一篇夜晚视觉的效果跟上篇的老电影特效效果很类似,首先看下什么是夜晚视觉的效果:分析下操作思路:需要的图片素材如下:下面的脚本处理跟前面的几篇一样的模式,一个shader一个cs脚本:Shader脚本:Shader原创 2016-11-04 14:51:03 · 9411 阅读 · 0 评论 -
Unity Shaders——屏幕特效混合模式(Blend mode with screen effects)
屏幕特效不仅仅限于颜色控制RenderTexture,同事还可以结合图片和RenderTexture的混合,这种技术和PhotoShop新建一个 层级,然后选择混合模式,混合两张图片是一样的,但是Untiy里的效果更艺术,整个场景的立体效果都蒙上这种效果,混合模式有Multiplay,Add,Overlay三种模式。然后基本的原理和动作跟上一篇灰度屏幕特效类似。首先看脚本:原创 2016-11-04 11:08:08 · 7318 阅读 · 0 评论 -
RampDiffuse纠错——Error:incorrect number of arguments to numeric-type constructor
看着Shaders and Effects Cookbook的书籍学习shader,照着说上写ramp Diffuse这个shader时,报了个错。Shader书上的源代码是这样的:画红线的那一行报了这样的一个错:最终正确代码如下:猜测原因是旧版的unity支持的是float2(diff)支持,新版的是float2(param原创 2016-09-26 14:35:19 · 5335 阅读 · 0 评论 -
Unity Shaders——屏幕灰度效果(Screen Effect)
以前项目中在后期处理中经常用到屏幕特效,为了让画面更加梦幻或者卡通的效果,就跟添加滤镜一样,那时候只是直接从网上找的或者别人的拿过来用了,并没有深入的理解过,今天看《Unity Shaders and Effects CookBook》刚好涉及到了,就记录下来,供以后学习参考。首先说下原理,屏幕特效的脚本必须挂在MainCamera上,渲染相机的效果,实际上你在scene中看到的东西没原创 2016-11-02 15:57:33 · 3587 阅读 · 0 评论