自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Unity Shader学习:流体2

Unity Shader学习:流体2参考:https://zhuanlan.zhihu.com/p/340842666c#部分:using System.Collections;using System.Collections.Generic;using UnityEngine;public class ZzcSmoke : MonoBehaviour{ public Material smokeMat; private RenderTexture DivergenceR

2021-02-01 15:39:25 1131 4

原创 Unity Shader学习:流体1

Unity Shader学习:流体1参考:https://zhuanlan.zhihu.com/p/283662524c#部分:using System.Collections;using System.Collections.Generic;using UnityEngine;public class ZzcFluid : MonoBehaviour{ public Texture2D tex; //[Range(0f,10f)] //public float

2021-01-29 17:57:44 863

原创 Unity Shader学习:Gerstner波

Unity Shader学习:Gerstner波参考:https://www.jianshu.com/p/2b0e3f7f15b4?utm_campaign=maleskinehttps://blog.csdn.net/aa20274270/article/details/52122495比较坑的是套用公式得出的法线效果不对,最后看了别人源码改了后才对镜面反射扒来需要调整x轴旋转,可以自行修改代码shader部分:Shader "Zzc/Gerstna"{ Properties {

2020-12-28 17:20:12 906

原创 Unity Shader学习:球谐光照

Unity Shader学习:球谐光照烘培/采样 与 还原shader部分:Shader "Unlit/SHTest"{ Properties { _MainTex ("Texture", 2D) = "white" {} } SubShader { Tags { "RenderType"="Opaque" } LOD 100 Pass { CGPROGRAM #pragma vertex vert #pragma fragment frag

2020-12-21 18:26:51 1006 2

原创 Unity Shader学习:CPU/GPU boid

Unity Shader学习:CPU/GPU boid参考:https://github.com/chenjd/Unity-Boids-Behavior-on-GPGPUhttps://www.youtube.com/watch?v=bqtqltqcQhwCPU:加入了射线碰撞using System.Collections;using System.Collections.Generic;using UnityEngine;public class CPUBoid : MonoBehav

2020-12-15 15:58:36 380

原创 Unity Shader学习:BRDF+IBL

Unity Shader学习:BRDF+IBLhttps://www.cnblogs.com/timlly/p/10631718.html?from=timeline&isappinstalled=0#%E8%BE%90%E5%B0%84%E5%BC%BA%E5%BA%A6radiant-intensityShader "Zzc/BRDF"{ Properties { _MainTex ("Texture", 2D) = "white" {} _NormalTex("Nor

2020-12-09 17:05:02 550

原创 Unity Shader学习:预积分皮肤

Unity Shader学习:预积分皮肤思路:LUT+GGX+SSS参考:https://zhuanlan.zhihu.com/p/70390192?utm_source=wechat_sessionhttps://www.bilibili.com/video/BV1CD4y127Pvhttps://blog.csdn.net/qq_36107199/article/details/103596547Shader "Zzc/ZzcSkinTest"{ Properties {

2020-11-17 17:53:09 2617 1

原创 Unity Shader学习:曲面细分

Unity Shader学习:曲面细分vf shader的基于视距的曲面细分参考:https://catlikecoding.com/unity/tutorials/advanced-rendering/tessellation/https://blog.csdn.net/liu_if_else/article/details/75039895shader部分:Shader "Zzc/TessellationTest"{ Properties { _MainTex("Texture"

2020-09-02 16:53:14 1498

原创 Unity Shader学习:故障(Glitch Art)

Unity Shader学习:故障(Glitch Art)原文链接:https://zhuanlan.zhihu.com/p/148256756c#部分:using System.Collections;using System.Collections.Generic;using UnityEngine;public class GlitchArt : MonoBehaviour { public Material mat; private void OnRenderI

2020-08-17 17:38:09 1606 2

原创 Unity Shader学习:动态模糊(shutter angle方式)

Unity Shader学习:动态模糊动态模糊一般有帧混合和motion vector两种,这里主要介绍motion vector的方法。Keijiro源码:https://github.com/keijiro/KinoMotion当物体快速旋转或者运动时:c#部分:using System.Collections;using System.Collections.Generic;using UnityEngine;[ImageEffectAllowedInSceneView]pub

2020-08-13 11:15:49 2467

原创 Unity Shader学习:卡通瓶纸

Unity Shader学习:卡通瓶纸关于切面填充的做法很巧妙,如果液体需要透明理论上可以用模板测试来做。原文链接:http://walkingfat.com/liquid-bottle-%E6%B6%B2%E4%BD%93%E7%93%B6%E5%88%B6%E4%BD%9C/c#:using System.Collections;using System.Collections.Generic;using UnityEngine;public class Wobble : MonoBe

2020-07-24 18:05:15 475 1

原创 Unity Shader学习:体积光/体积阴影

Unity Shader学习:体积光/体积阴影在前向渲染下实现平行光的体积光影效果,需要全屏深度图,延迟渲染会更划算。思路:通过ray marching的步进点位置计算该点是否在阴影中,采样阴影贴图,通过dither+blur优化性能,叠加原图和光影图。步进策略直接采用等距,有其他策略性能表现也会更好,阴影级联 (Shadow Cascade)选择了无,注意如果开启了多个的话采样阴影算法需要调...

2020-01-22 18:18:20 1828 1

原创 Unity Shader学习:SSR屏幕空间反射

Unity Shader学习:SSR屏幕空间反射本文在前向渲染模式下实现,延迟渲染更适合SSR,这里只简单的实现下,未作更深入的优化。思路:沿视线和法线的反射向量步进光线,判断打到物体(这里用的是深度比较),采样这个点物体的颜色所谓反射的颜色,使用dither进行了优化和模糊。原文:https://blog.csdn.net/puppet_master/article/details/808...

2020-01-10 10:46:12 5748

原创 Unity Shader学习:SSAO屏幕环境光遮蔽

Unity Shader学习:SSAO屏幕环境光遮蔽主要思路:1.随机采样像素法线半球周围的像素,平均对比与该像素深度是否处在暗处。2.双边滤波去噪点。3.后期AO图与原图混合。原文链接:https://blog.csdn.net/puppet_master/article/details/82929708无AO有AOAO图c#部分:using System.Collectio...

2020-01-02 16:31:23 2587 5

原创 Unity Shader学习:SSS次表面散射

Unity Shader学习:SSS次表面散射原文章地址:http://walkingfat.com/simple-subsurface-scatterting-for-mobile-%EF%BC%88%E4%B8%80%EF%BC%89%E9%80%9A%E9%80%8F%E6%9D%90%E8%B4%A8%E7%9A%84%E6%AC%A1%E8%A1%A8%E9%9D%A2%E6%9...

2019-12-18 14:03:06 6949

原创 Unity Shader学习:ShaderToy扩散扭曲

Unity Shader学习:ShaderToy扩散扭曲算法来自:https://www.shadertoy.com/view/4dcGW2c#部分:using System.Collections;using System.Collections.Generic;using UnityEngine;public class Diffusion : MonoBehavi...

2019-08-16 11:08:58 1592 2

原创 Unity渲染学习:简易SRP实现(可编程渲染管线)

Unity渲染学习:简易SRP实现原文:https://zhuanlan.zhihu.com/p/36407658c#部分:using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEngine.Rendering;using UnityEngine.Experi...

2019-07-03 17:21:52 3901 1

原创 Unity Shader学习:ShaderToy变换云

Unity Shader学习:ShaderToy变换云算法来自:https://www.shadertoy.com/view/3l23Rh在此基础上将游戏物件与Ray Marching通过深度做了融合shader部分:Shader "Unlit/ProteanClouds"{ Properties { _MainTex ("Texture", 2D) = "white" {}...

2019-06-05 11:09:55 1901 12

原创 Unity Shader学习:ShaderToy黑洞

Unity Shader学习:ShaderToy黑洞ShaderToy地址:https://www.shadertoy.com/view/llSGRGc#部分:using System.Collections;using System.Collections.Generic;using UnityEngine;public class MousePosition : MonoB...

2019-05-31 14:17:03 1809

原创 Unity Shader学习:皮毛渲染

Unity Shader学习:皮毛渲染主要思路:将顶点延法线挤出,一层一层pass往外叠加形成毛发效果。原文链接:https://blog.csdn.net/qq_24153371/article/details/81742337噪声图:cginc部分:#include "Lighting.cginc"#include "UnityCG.cginc"#include "AutoL...

2019-05-14 18:24:27 3429 5

原创 Unity Shader学习:相交算法实现简易能量盾

Unity Shader学习:相交算法实现简易防能量盾主要思路:对比物体和场景深度图在观察空间下的深度差值,深度差越小表示相交,颜色越深,在加上边缘光勾出轮廓。shader部分:Shader "Unlit/DepthOutline"{ Properties{ _MainTex("MainTex",2D) = "white"{} _RimFactor("RimFactor",Ra...

2019-04-14 23:57:25 1583

原创 Unity Shader学习:法线贴图以及blinn-phong高光穿透的坑

Unity Shader学习:法线贴图以及blinn-phong高光穿透的坑分别实现了切线空间下和世界空间下的法线贴图,切线空间相比运算量要小些。发现使用blinn-phong高光时在背光面会有穿透的现象,查阅后得知可以用NdotL判断当处于背面时将高光*0,然后通过smoothstep过度。高光穿透现象:优化后的blinn-phong:法线贴图:未使用法线贴图:切线空间实现:...

2019-03-26 22:51:54 1037 2

原创 Unity Shader学习:简易PBS实现

Unity Shader学习:简易PBS实现简单根据公式实现了一下基于物理的着色,坑的地方还是有不少,单纯的公式搬过来效果会不正确,这里根据网上资料以及自己调整稍微修改了一下部分计算。左边为实现的效果,右边为Unity2017自带Standardshader部分:Shader "Unlit/BRDF2"{ Properties { _MainTex ("Texture", ...

2019-03-22 13:52:28 1167 1

原创 Unity Shader学习:动态雾

Unity Shader学习:动态雾先将相机近裁面四个角向量传给shader,再通过观察空间下的深度值和相机位置算出像素在世界坐标系的位置,通过世界空间高度值来设定雾的范围和浓度,然后通过噪声和uv偏移实现扰动效果。得到了类似寂静岭或恶灵附身1的效果。c#部分:using System.Collections;using System.Collections.Generic;using ...

2019-03-21 10:23:41 1912 2

原创 Unity Shader学习:玻璃材质

Unity Shader学习:玻璃材质主要是通过反射和折射来达到透明的效果,用菲涅尔来混叠。shader部分:Shader "Unlit/Crystal"{ Properties { _Cube("Skybox",Cube)=""{} //折射角度 _EtaRatio("EtaRatio", Range(0, 1)) = 0 //菲涅尔系数 _FresnelBia...

2019-03-15 17:32:45 3977 1

原创 Unity Shader学习:Geometry Shader(几何着色器)

Unity Shader学习:Geometry Shader(几何着色器)用几何着色器可以操作顶点和三角来达到一些效果,下面是粒子和毛发的效果。shader部分1:Shader "Unlit/GeometryTest"{ Properties { _MainTex ("Texture", 2D) = "white" {} _Length("Length",float) = 1...

2019-03-15 17:27:32 4296

原创 Unity Shader学习:RayMarching2D云和海洋

Unity Shader学习:RayMarching2D云和海洋根据 JiepengTan的教程魔改了下,代码中有些可以合并的地方没有处理,其中一些数学的运算和光照原理还是比较有难度的,等以后再深入研究。采样的噪声图:c#部分:using System.Collections;using System.Collections.Generic;using UnityEngine;...

2019-02-28 13:14:17 1469

原创 Unity Shader学习:GPU Instance

Unity Shader学习:GPU Instance稍微了解下关于gpu instance渲染优化的知识,以下是同屏6400个不同贴图的方块,用柏林噪声改变高度,加了阴影和漫反射。csharp部分:using System.Collections;using System.Collections.Generic;using UnityEngine;public class P...

2019-02-19 17:49:05 4687 3

原创 Unity Shader学习:噪声noise

Unity Shader学习:噪声noiseperlin,value,simplex噪声的实现,详细原理可以看乐乐大佬博客,还是较为复杂的,这里直接给出现成代码和效果。shader部分:Shader "Custom/NoiseTest" { Properties{ _MainTex("MainTex",2D) = "white"{} } SubShader{

2019-02-13 17:04:02 8494 1

原创 Unity Shader学习:简单RayMarching(光线步进)

Unity Shader学习:简单RayMarching(光线步进)简单raymarching实现,还是很好玩的,当然和Shadertoy上的大佬比不了。shader部分:Shader "Custom/RayMarching"{ Properties { _MainTex("MainTex",2D)="white"{

2019-01-31 17:25:23 2881 4

原创 Unity Shader学习:2D图形绘制(蓝天白云大海)

Unity Shader学习:2D图形绘制基本是一些数学上的算法shader部分:Shader "Unlit/2D-Ocean"{ Properties { _MainTex ("Texture", 2D) = "white" {} _SunColor("SunColor",Color) = (1,1,1,1) _Sun

2019-01-30 16:32:06 2924

原创 Unity Shader学习:几何函数练习

Unity Shader学习:几何函数练习shader部分:Shader "Unlit/FunctionTest"{ Properties { _MainTex ("Texture", 2D) = "white" {} } SubShader { Tags { "RenderType"="Opaque" } LOD 100 Pass { CGPROGR...

2019-01-30 09:31:14 415

原创 Unity Shader学习:素描效果

Unity Shader学习:素描效果这是乐乐大佬书里的非真实渲染,其中的算法还是挺有意思的,感兴趣的小伙伴可以试一试。素描效果基本原理:先将物体进行描边画出轮廓,计算物体的漫反射部分,漫反射越暗表明颜色越暗,然后根据漫反射的值来设置采样贴图的权重。采样贴图:shader部分:Shader "Unlit/Sketch"{ Properties { _Color("Colo...

2019-01-25 09:33:45 2438 1

原创 Unity Shader学习:水墨效果

Unity Shader学习:水墨效果偶然在网上看到9级铁甲蛹大神的水墨风格后处理觉得挺有意思,参照着实现一下,还是涉及到之前油画效果的算法,叫什么滤波暂时不清楚,应该用来处理手绘效果挺多的。水墨风格基本原理:高斯模糊原始图像,用深度算出边缘进行描边,最后用画笔效果的滤波完成最终图像。有需要可以用Post Proces改变颜色范围,更接近水墨的颜色。c#部分://屏幕后处理基类...

2019-01-16 14:56:24 7405 2

原创 Unity Shader学习:裁切效果

Unity Shader学习:裁切效果之前看到有人问关于物体裁切方面的问题,初学shader的话可能搞得不是很明白,这里提供下比较简单的思路,有需要的话可以直接使用。(关于切面缝合还没有找到比较好的方法)裁切原理:将世界空间中像素y值(垂直裁切)大于物体自身坐标y值一定范围的直接discard。c#部分:using System.Collections;using System.Col...

2019-01-15 17:23:31 5309 2

原创 Unity Shader学习:油画效果

Unity Shader学习:油画效果油画效果在学习浅墨大神的文章时看到的比较有趣,但是原文中也没详细的算法介绍如何实现,这里就先直接拿来用吧,UI和屏幕后处理都可以用,算法也看的不是很明白,好像是ShaderToy上老外搞得。shader部分:Shader "Custom/OilPaintEffect" { Properties{ _MainTex("MainTex",2D)="...

2019-01-15 09:30:38 2808 3

原创 Unity Shader学习:PBS和BRDF(基于物理着色和双向反射分布函数)

Unity Shader学习:PBS和BRDF(基于物理着色和双向反射分布函数)PBS和BRDF涉及到关于数学光学和物理方面的知识比较多,公式也有好几套,这里先初步的了解了一下,查阅网上的资料实现了个和Unity自带Standard差不多效果的,还没有添加环境映射。其中的公式和原理还是比较复杂的不太看得懂,先拿来用着吧。shader部分:Shader "Custom/PBSTest" { ...

2019-01-14 10:11:03 925

原创 Unity Shader学习:Dissolve消融效果

Unity Shader学习:Dissolve消融效果消融效果在游戏里非常常用,这里简单的实现下,代码里用到了if分支在shader里可能会费一点,如果想直接用puppet_master大佬版本的话可以自己改一下,主要if分支比较好理解,大佬的写法比较绕但是没用到分支,性能可能更好。消融效果基本原理:利用噪声图的随机使主贴图在相应的位置逐渐剔除噪声颜色值小于一定阈值的像素,再在更靠内(噪声颜色...

2019-01-09 16:34:27 2170 2

原创 Unity Shader学习:ShaderToy与Unity

Unity Shader学习:ShaderToy与UnityShaderToy是个非常有意思的网站,里面都是些图形学大神反人类的骚操作,这里学乐乐大佬的文章将ShaderToy的代码和Unity的shader代码做个移植实现。本案例ShaderToy地址(打开要加载一会儿):https://www.shadertoy.com/view/WsfGRXUnity Shader部分:Shade...

2019-01-08 16:16:11 2333

原创 Unity Shader学习:Projector投影仪

Unity Shader学习:Projector投影仪投影仪不太常用,再看大佬关于贴花的文章时看有用到,就实现了一下。一般贴花或者投影效果都能用,实现不一定最完美,有些方法可能会有些费,有兴趣的话可以用用看。需要在游戏物体上添加Projector组件,再把对应的Material赋值过去。shader部分:Shader "Custom/ProjectorDecal" { Propertie...

2019-01-07 17:54:18 5755 1

空空如也

空空如也

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

TA关注的人

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