自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 什么是_MainTex_TexelSize

如果最终屏幕输出是1k x 2k 那么_MainTex_TexelSize.x = 1/1024_MainTex_TexelSize.y = 1/2048懂了吧,如果最终输出事一张图铺满屏幕,这个值可以快速取得屏幕上某个像素的值

2017-07-04 16:23:26 7721 1

原创 Unity Shader之Tessellation

这是一个很牛逼的东东,得益于显卡技术的发展,可以将一些粗糙的低精模型,搞出高精的效果,首先,来说说本质是啥如图所示,Tessellation就是可以在原来的三角形上细分出很多更小的三角形,增加很多顶点。但是在具体运用中,我们应该怎么使用,达到我们想要的效果呢,这里就不得不先说一个东西置换贴图,也叫高度图,大家都知道法线贴图,可以使一个平面产生视觉上凹凸的感觉,但是这个平面越垂直于我们的

2017-06-29 17:29:08 5211

原创 UntiyShader之深度纹理

unity是可以取得物体的深度值,相当于可以取得z-buffer的值,这个需要在相机上获得,另外需要硬件支持首先在相机上开启获取深度渲染GetComponent().depthTextureMode =DepthTextureMode.Depth;然后就可以在shader中使用了,需要先申明sampler2D _CameraDepthTexture;这个由unity自己

2017-06-28 14:15:58 414

原创 UnityShader之毛绒绒效果

今天要做一个毛球的效果核心的算法通过多个pass,从里到外一层一层的糊上一层透明diffuse,越靠外面的地方层次越少看起来越稀疏,越模糊FurHelper.cgincstruct v2f { float4 pos : SV_POSITION; half2 uv : TEXCOORD0; half2 uv1 : TEXCOORD1; fixed4 diff : COLOR;}

2017-06-28 09:39:16 8008 3

原创 Unity Shader之雾效

Unity可以多种实现雾效的方法,比如在编辑器设置,官方Shader开启,这里介绍一种自己用纹理贴图方式实现的雾效说明一下,这个雾其实是一个plane上的贴图效果,不适合大距离的拉远拉近,可以用在一些固定视角的游戏中雾的贴图遮罩图:shader如下Shader "Custom/Fog"{ Properties { _MainTex("Fog

2017-06-23 10:43:51 2085

原创 Unity Shader之Post Effect抖动重影效果

大家想一下对整张照片做处理,不管照片中物体的材质处理的方法叫Post Effect有些效果,比如雾啊,Bloom拉,模糊拉,Hdr,都需要用到PostEffect,我们需要单独写一个脚本,绑定在Camera上在OnRenderImage这个回调函数中,用Graphics.Blit这个方法来处理,传入我们制作的shader即可,下面是我自己写的一个抖动效果纪念碑谷中就有类似的

2017-06-22 16:30:24 4422

原创 Unity Shader之Blending

今天讲下Unity Shader里面的Blend模式主要原理就是取得当前片元颜色,和存在颜色缓冲里面的颜色混合,说的就是怎么混合的公式首先,shader是默认混合关闭的,如果不设置,那么在深度测试之后会将靠近摄像头的片元颜色写入颜色缓冲,之前的会被覆盖掉。首先注意,RenderType可以设置成任何类型,没有限制,有的同学以为一定要设置成Transparent才有效,这是不对的设置

2017-06-20 17:13:08 1664

原创 Unity Shader之燃烧消散效果

这种效果已经很多例子了,但是各种算法区别还是挺大的,不同的噪点图也有不同的效果,可以自己调整算法试试效果Shader "Custom/Dissolve3D"{ Properties { _MainTex("Main Texture", 2D) = "white" {} _NoiseTex("Noise",2D) = "white"{} _edgeColor1("_ed

2017-06-20 13:36:14 3662

原创 UnityShader之OutLine

算法很简单,主要需要不同观察角度看上去线的宽度一样,需要转换到观察空间进行操作,空间变换请看我上一篇博客。需要两个pass,一个画线,一个填充Shader "Custom/Outline"{ Properties { _OutlineVal("Outline value", Range(0., 2.)) = 1. //描线的宽度 _Ou

2017-06-19 16:17:41 1240

原创 UnityShader之空间变换解析

都知道要渲染出一个物体,需要经历空间变换,模型坐标(通常由美术决定)----->世界坐标----->观察空间(相机位置决定)------------>裁剪空间(相机类型和参数决定)------->投影unity提供了一系列的矩阵来帮助用户进行坐标空间变换,这里列个表记录下:1:模型空间 2:世界空间 3:观察空间 4:裁剪空间UNITY_MATRIX_MVP:将坐标或者

2017-06-19 15:16:46 3654

原创 Unity Shader 之Geometry Shader

其实unity shader除了vertex shader和frag shader之外,还有一个geom shader,处理流程在vextex shader和frag shader之间,主要是能获取到一个顶点临近的一些顶点,处理三角形之类的,下面看一个例子Shader "Custom/GeomShader"{ Properties { _MainTex("Texture", 2D)

2017-06-19 10:59:09 2439

原创 Unity Shader之波浪效果

很简单,注意每次传入的顶点值是没有偏移过的Shader "Custom/Waves"{ Properties { _MainTex("Texture", 2D) = "white" {} _WaveSpeed("Speed", float) = 0.0 _WaveStrength("Strength", Range(0.0, 1.0)) = 0.0 } SubShader

2017-06-16 13:29:14 3151

原创 Unity Shader之uv旋转

uv旋转,注意按照z轴变换的时候旋转公式,还有中心点的设置Shader "Custom/UV rotation"{ Properties { _MainTex("Texture", 2D) = "white" {} _Angle("Angle", Range(-5.0, 5.0)) = 0.0 } SubShader { Tags{ "RenderType"

2017-06-15 14:43:51 3890

原创 Unity Shader之Stencil Buffer

玩过纪念碑谷的人都知道里面有个很酷炫的效果,可以转动一个盒子看到盒子里面不同的建筑物,很好玩,自己做了个类似的效果。核心是需要用到Unity Shader的Stencil Buffer功能,这里是官方文档https://docs.unity3d.com/Manual/SL-Stencil.html这个功能主要是提供一个遮罩功能,可以由一个数值来决定丢弃或保存在缓冲里面颜色值。注

2017-06-12 14:57:03 1844

原创 Test

写点关于Unity Shader的东西,欢迎大脚关注并交流

2017-06-12 14:12:41 415

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除