UnityShader
ALey_Z
lalala
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
UnityShader应用——卡通渲染
1.描边 外描边之前记过。 内描边的实现:ILM的a通道控制内描边的范围。 也就是黑色区域对应uv上的地方进行需要内描边。在最后与光照模型算出的颜色相乘就行。 2.光照模型 diffuse部分: ILM的g通道控制漫反射阴影的阈值。 shadowRange = g值 * 顶点颜色(平时没有的数据) 共同决定受光范围。也就是说黑色的区域,是不想受到阴影的。 diffuse = max( 0 ...原创 2020-03-12 14:47:00 · 1133 阅读 · 0 评论 -
Unity中更换游戏对象Shader以及Shader属性
using UnityEngine; public class changeColor : MonoBehaviour { public GameObject obj; private Renderer renderer; void Start () { renderer = obj.GetComponent<Renderer>(); } public void onClick()...原创 2018-06-07 18:35:50 · 4268 阅读 · 0 评论 -
UnityShader——使用ReplacementShader
1.摄像机脚本 用摄像机的SetReplacementShader(Shader,Tag)进行shader替换; 当摄像机看到的Shader的Tags和当前要替换的ReplaceShader的指定Tags一致,就会进行替换; 2.使用深度的Shader代码 Shader "Study/DepthColorShader" { SubShader { Tags{"...原创 2018-08-28 14:49:43 · 1066 阅读 · 0 评论 -
UnityShader应用——序列图动画
1.序列图动画Shader Shader "Study/UVAnim" { Properties { _MainTex ("Texture", 2D) = "white" {}原创 2018-08-28 15:15:20 · 1121 阅读 · 0 评论 -
UnityShader应用——水波效果
最近学了顶点片元Shader基本语法之后,决定拿一个Shader来分析一下,初学Shader,在此记录一下! 这个Shader效果都是在frag里进行;(不是说好了frag里计算量大要避免吗!!) sampler2D _MainTex; float _WaveStrength; float _WaveFactor; float _TimeScale; fix...原创 2018-09-04 17:22:24 · 4371 阅读 · 0 评论 -
UnityShader——Phong光照模型 = Diffuse + Specular + Ambient
一.图形学颜色叠加乘法(各分量相乘) light(1, 1, 1) * stuff(0.2f, 0.3f, 0.5f) = (0.2f, 0.3f, 0.5f) 二.经验模型Phong Phong = Ambient + Diffuse +Specular 1.Diffuse漫反射 Diffuse = dot ( -lightDir , N) * lightColor 这里点乘: d...原创 2018-11-15 17:58:29 · 1529 阅读 · 0 评论 -
UnityShader应用——边缘内发光
在学完了Phong光照模型之后,边缘光就可以在它基础上添加几行代码完成; Shader: Shader "Unlit/RimLight" { Properties{ _SpecularGlass("SpecularGlassStrength", Range(0,64)) = 32 _ObjColor("ObjColor", color) = (1,1,1,1) _RimColor(..原创 2018-11-16 16:24:37 · 2032 阅读 · 0 评论 -
UnityShader——渲染队列,ZTest,ZWrite,Early-Z
转载: https://blog.youkuaiyun.com/puppet_master/article/details/53900568 简介 在渲染阶段,引擎所做的工作是把所有场景中的对象按照一定的策略(顺序)进行渲染。最早的是画家算法,顾名思义,就是像画家画画一样,先画后面的物体,如果前面还有物体,那么就用前面的物体把物体覆盖掉,不过这种方式由于排序是针对物体来排序的,而物体之间也可能有重叠,所以效...转载 2018-12-28 17:43:55 · 567 阅读 · 0 评论 -
UnityShader应用——外发光实现
学习了一下实现物体外发光的Shader。 实现外发光的Pass //pass2 生成模型外部的光晕 Pass { Name "OutLight" Tags {"LightMode" = "Always"} Cull Front //不正面剔除会出错 Blend SrcAlpha One CGPROGRAM #pragma vertex ve..原创 2018-12-25 17:15:45 · 11453 阅读 · 9 评论 -
UnityShader应用——使用深度值实现Fog雾效
1.开启深度 GetComponent<Camera>().depthTextureMode = DepthTextureMode.Depth; //开启摄像机深度mode 2._CameraDepthTexture 存储深度信息的Tex,需要在Shader中声明; sampler2D _CameraDepthTexture; 3.ZBuffer (只有ShaderTag是...原创 2019-01-21 19:45:56 · 4044 阅读 · 0 评论 -
UnityShader应用——双摄像机分别渲染彩色主角和黑白环境
实现黑白画面中只有主角是彩色的画面。 1.创建两个Camera分别渲染环境和角色 增加一个LayerMask,命名为Color层。 然后设置两个Camera的属性。 EnvCam的渲染层取消勾选Color层和UI层。 RoleCam的ClearFlags设置成只清理深度缓存, 渲染层只选UI和Color层。 2.EnvCam添加黑白灰度后处理 先写一个Shader: (获得摄像机画面C...原创 2019-03-23 14:22:20 · 2544 阅读 · 1 评论
分享