【Unity Shader学习】边缘泛光效果
Shader "Sbin/Rim"
{Properties{_Scale("Scale",Range(1,8)) = 1}SubShader{// 通过标签对透明物体渲染进行排序tags{"queue" = "transparent"}pass {// Alpha混合blend srcalpha oneminussrcalpha// 取消深度的写入zwrite offCGPROGRAM
#pragma vertex vert
#pragma fragment frag
#include "unitycg.cginc"float _Scale;struct v2f{float4 pos: POSITION;float3 normal: TEXCOORD0;float4 vertex: TEXCOORD1;};// 顶点函数v2f vert(appdata_base v){v2f o;// 将顶点转换到投影空间o.pos = mul(UNITY_MATRIX_MVP,v.vertex);// 将原始数据传递给结构体o.vertex = v.vertex;o.normal = v.normal;return o;}// 片段函数fixed4 frag(v2f IN):COLOR{// 计算世界空间法线向量float3 N = normalize(mul(IN.normal,(float3x3)_World2Object));// 计算世界空间顶点位置float3 worldPos = mul(_Object2World,IN.vertex).xyz;// 计算从顶点指向摄像机的向量float3 V = normalize(_WorldSpaceCameraPos.xyz - worldPos);float bright = 1 - saturate(dot(N, V));bright = pow(bright,_Scale);return fixed4(1,1,1,1) * bright;}ENDCG}}
}
效果截图:
【Unity Shader学习】边缘泛光效果相关推荐
- Unity Shader学习:油画效果
Unity Shader学习:油画效果 油画效果在学习浅墨大神的文章时看到的比较有趣,但是原文中也没详细的算法介绍如何实现,这里就先直接拿来用吧,UI和屏幕后处理都可以用,算法也看的不是很明白,好像是 ...
- Unity Shader学习:Dissolve消融效果
Unity Shader学习:Dissolve消融效果 消融效果在游戏里非常常用,这里简单的实现下,代码里用到了if分支在shader里可能会费一点,如果想直接用puppet_master大佬版本的话 ...
- Unity Shader学习:动态模糊(shutter angle方式)
Unity Shader学习:动态模糊 动态模糊一般有帧混合和motion vector两种,这里主要介绍motion vector的方法. Keijiro源码:https://github.com/ ...
- Unity Shader学习:水墨效果
Unity Shader学习:水墨效果 偶然在网上看到9级铁甲蛹大神的水墨风格后处理觉得挺有意思,参照着实现一下,还是涉及到之前油画效果的算法,叫什么滤波暂时不清楚,应该用来处理手绘效果挺多的. 水墨 ...
- Unity Shader 学习笔记(33) 全局光照(GI)、反射探针、线性空间和伽马空间、高动态范围(HDR)
Unity Shader 学习笔记(33) 全局光照(GI).反射探针.线性空间和伽马空间.高动态范围(HDR) 参考书籍:<Unity Shader 入门精要> [<Real-Ti ...
- 《Unity Shader入门精要》学习笔记第5章 开始Unity Shader学习之旅
本文章用于帮助自己学习,因此只记录一些个人认为比较重要或者还不够熟悉的内容. 原作者:http://blog.csdn.net/candycat1992/article/ 第五章 开始Unity Sh ...
- Unity Shader 学习笔记(3)URP渲染管线带阴影PBR-Shader模板(ASE优化版本)
此 Shader 已经不是最新版本,最新版本见本专栏的第四篇文章: Unity Shader 学习笔记(4) 材质面板截图: 功能实现(URP渲染管线下): PBR材质.投射和接收阴影. 代码展示: ...
- Unity Shader 学习笔记(27)渲染轮廓线(描边)方法、卡通风格渲染、素描风格渲染
Unity Shader 学习笔记(27)渲染轮廓线(描边)方法.卡通风格渲染.素描风格渲染 参考书籍:<Unity Shader 入门精要> 渲染轮廓线(描边) 五种方法: 基于观察角度 ...
- Unity Shader学习:动态雾
Unity Shader学习:动态雾 先将相机近裁面四个角向量传给shader,再通过观察空间下的深度值和相机位置算出像素在世界坐标系的位置,通过世界空间高度值来设定雾的范围和浓度,然后通过噪声和uv ...
- Unity Shader学习-高光反射
Unity Shader学习-高光反射 高光反射计算公式 高光反射 = 光源的色彩和强度 * 材质的高光反射系数 * pow(max(0,视角方向 · 反射方向),_Gloss) 视角方向 = ref ...
最新文章
- HTML5 canvas处理图片的各种效果,包括放大缩小涂鸦等
- Spring MVC拦截器+注解方式实现防止表单重复提交
- 零基础学Python(第一章 开发工具·最简易的环境·无需配置环境变量)
- 电脑无法连接到系统服务器,请问怎么客户端的电脑连接不到服务器?这是什么原因?...
- Leetcode--881. 救生艇
- python列表乘数值_《利用Python进行数据分析》十一章· 时间序列·学习笔记(一)...
- 计算机网络|UDP用户数据报服务
- Futter基础第13篇: 实现Drawer侧边栏、以及侧边栏内容布局
- regsvr32.exe是什么东西
- 用程序关闭、注销、重启计算机
- 深入机械制造业供应链关键节点,SCM供应链管理系统全面防控企业供应链风险
- 大白用html5制作,暖心大白纸雕灯的制作过程 给圣诞节礼物助力啦
- 西安交大计算机录取分数线,2017年西安交通大学各省录取分数线
- php随机一句话,PHP简单实现一言 / 随机一句功能
- wim工具扫描linux磁盘,WimTool Pro(WIM映像处理工具)
- 跟着Vam一起学习Typescript(第一期)(更新中)
- 如何使用KMS激活win10和office
- mysql的时间格式化问题(上下午)
- OpenGL之路(一)OpenGL、gl、glu、glut的区别 + glut环境的搭建
- Vue 中 CSS scoped 的原理