轮廓高光效果

Unity官方高光示例

Shader "Example/Rim" {Properties {_MainTex ("Texture", 2D) = "white" {}_BumpMap ("Bumpmap", 2D) = "bump" {}_RimColor ("Rim Color", Color) = (0.26,0.19,0.16,0.0)_RimPower ("Rim Power", Range(0.5,8.0)) = 3.0}SubShader {Tags { "RenderType" = "Opaque" }CGPROGRAM#pragma surface surf Lambertstruct Input {float2 uv_MainTex;float2 uv_BumpMap;float3 viewDir;};sampler2D _MainTex;sampler2D _BumpMap;float4 _RimColor;float _RimPower;void surf (Input IN, inout SurfaceOutput o) {o.Albedo = tex2D (_MainTex, IN.uv_MainTex).rgb;o.Normal = UnpackNormal (tex2D (_BumpMap, IN.uv_BumpMap));half rim = 1.0 - saturate(dot (normalize(IN.viewDir), o.Normal));o.Emission = _RimColor.rgb * pow (rim, _RimPower);}ENDCG} Fallback "Diffuse"}

核心代码是half rim = 1.0 - saturate(dot (normalize(IN.viewDir),o.Normal));

//saturate:returns 0 if x is less than 0; returns 1 if x is greater than 1; returns x otherwise

//saturate for float scalars could be implemented like this

//float saturate(float x){

//return max(0,min(1,x));

//}

//视线方向与法向量夹角为90度时,正好用来模拟侧光的强度

o.Emission=_RimColor.rgb*pow(rim,_RimPower);

//将rim值用一个pow函数进行放大,强化边缘发亮的效果

Shader学习笔记(七)Unity Shader Rim示例相关推荐

  1. Unity3D学习笔记3——Unity Shader的初步使用

    文章目录 1. 概述 2. 详论 2.1. 创建材质 2.2. 着色器 2.2.1. 名称 2.2.2. 属性 2.2.3. SubShader 2.2.3.1. 标签(Tags) 2.2.3.2. ...

  2. Unity Shader 学习笔记(33) 全局光照(GI)、反射探针、线性空间和伽马空间、高动态范围(HDR)

    Unity Shader 学习笔记(33) 全局光照(GI).反射探针.线性空间和伽马空间.高动态范围(HDR) 参考书籍:<Unity Shader 入门精要> [<Real-Ti ...

  3. Unity Shader 学习笔记(3)URP渲染管线带阴影PBR-Shader模板(ASE优化版本)

    此 Shader 已经不是最新版本,最新版本见本专栏的第四篇文章: Unity Shader 学习笔记(4) 材质面板截图: 功能实现(URP渲染管线下): PBR材质.投射和接收阴影. 代码展示: ...

  4. Unity Shader 学习笔记(27)渲染轮廓线(描边)方法、卡通风格渲染、素描风格渲染

    Unity Shader 学习笔记(27)渲染轮廓线(描边)方法.卡通风格渲染.素描风格渲染 参考书籍:<Unity Shader 入门精要> 渲染轮廓线(描边) 五种方法: 基于观察角度 ...

  5. 【HLSL学习笔记】WPF Shader Effect Library算法解读之[DirectionalBlur]

    原文:[HLSL学习笔记]WPF Shader Effect Library算法解读之[DirectionalBlur] 方位模糊是一个按照指定角度循环位移并叠加纹理,最后平均颜色值并输出的一种特效. ...

  6. 【Unity学习笔记】[Unity中文课堂教程] C#中级编程代码

    [Unity学习笔记][Unity中文课堂教程] C#中级编程代码 最近想补一补C#基础,Unity官方的C#中级编程教程质量很高,于是开个帖子把跟着敲+记录了部分价讲解和我自己的理解的代码存在这 原 ...

  7. window的dos命令学习笔记 七

    文章目录 一.dos历史学习笔记(后期整合到这里,我想能学到这里的应该不多了,嘿嘿,加油) 二.执行状态返回值(`%errorlevel%`,和shell中`$?`相似): 三.视窗 1.color ...

  8. 2022Java学习笔记七十三(异常处理:运行时异常、编译时异常、异常的默认处理的流程)

    2022Java学习笔记七十三(异常处理:运行时异常.编译时异常.异常的默认处理的流程) 一.异常体系 1.Exception:java.lang包下,称为异常类,它表示程序本身可以处理的问题 2.R ...

  9. Typescript 学习笔记七:泛型

    中文网:https://www.tslang.cn/ 官网:http://www.typescriptlang.org/ 目录: Typescript 学习笔记一:介绍.安装.编译 Typescrip ...

  10. 吴恩达《机器学习》学习笔记七——逻辑回归(二分类)代码

    吴恩达<机器学习>学习笔记七--逻辑回归(二分类)代码 一.无正则项的逻辑回归 1.问题描述 2.导入模块 3.准备数据 4.假设函数 5.代价函数 6.梯度下降 7.拟合参数 8.用训练 ...

最新文章

  1. 什么是SAAS 即软件即服务模式
  2. 史上最全Android开发中100%会用到的开源框架整理(1/5)
  3. Xbox“天蝎计划”中国区负责人:“今年的E3展会将超乎你想像”
  4. No symbols have been loaded for this document
  5. 大数据技术 思维导图
  6. 9月安卓机性能榜单公布:华为未进前十,第一名有点意外
  7. 聚焦强化学习,AAAI 2019杰出论文公布:CMU、斯坦福等上榜
  8. 放大图片不失真,不变模糊的方法
  9. 港股上市公司公告 API 数据接口
  10. 虚拟机搭建Harbor安装和简单使用
  11. POJ 3580 SuperMemo
  12. 《伯克毕生发展心理学3》
  13. 将一颗树反转为其镜像
  14. Tipask目录结构
  15. P5.js 实现交互式动态绘画
  16. 五星好评html编写,五星好评.html
  17. 西邮 Linux 兴趣小组 2021 纳新试题
  18. 10min快速回顾C++语法(五)字符串专题
  19. 相机照片误删了,该怎么恢复?
  20. 计算机原理第四章存储器题目,计算机组成原理第四章部分课后题答案(唐朔飞版)...

热门文章

  1. i5-10200h怎么样
  2. 2015移动安全病毒年报
  3. STC硬件主板--电子乐谱展示的设计
  4. 一个透彻的威客相关分析
  5. 2021年Bootstrap实用手册和最强总结以及工具
  6. 关于YY1139-2013心电诊断设备的共模抑制测试项的理解
  7. 黄老板巡演票房连续走高 门票总收入接近三亿美元
  8. ESP-IDF:模板函数测试
  9. Django笔记总结
  10. poj 1753 翻转棋子