Skip to content

swordjoinmagic/Sjm-Shader-Collection

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Unity Shader Collections

参考资料

《Unity Shader 入门精要》 大神博客 https://blog.csdn.net/puppet_master

简述

这里收录了我学习Shader时模仿或者自制的一些效果,并记录了实现这些效果的技术要点以及我对实现的一些反思与感悟。轻戳技术要点就可以看到SJM在写这些效果的时候遇到的各种奇奇怪怪的问题和他的解决方式喔~~~

其中参考的资料都会在原文中提及,如果是将参考资料的一部分原文原封不动的搬过来的话,会像下面这样使用引用符号括起来~

这里类比一段摘抄的原文

Volume 01 Diffuse 基于兰伯特光照模型的漫反射、高光反射光照 -> 技术要点

  1. 逐片元漫反射

Avater

  1. 逐顶点漫反射

Avater

Volume 02 Texture 纹理的简单应用 -> 技术要点

  1. 简单纹理映射

Avater

  1. 简单法线纹理映射(逐渐加大物体表面凹凸程度)-> 技术要点

Avater

  1. 渐变纹理 -> 技术要点

Avater

Volume 03 Alpha 透明效果 -> 技术要点

  1. 透明度测试(在立方体上挖洞) -> 技术要点

Avater

  1. 透明度混合 -> 技术要点

Avater

Volume 04 ForwardRender 渲染路径、阴影 -> 技术要点

  1. 基于ForwardAdd实现多光源照射 -> 技术要点

Avater

  1. 阴影的接受与投影 -> 技术要点

Avater

Volume 05 CubeMap 立方体纹理 -> 技术要点

  1. CubeMap实现天空盒的反射 -> 技术要点

Avater

  1. 玻璃效果的折射 -> 技术要点

Avater

  1. 火焰扭曲的折射效果 -> 技术要点

Avater

Volume 06 VertexChange 顶点变换 -> 技术要点

  1. 序列帧动画 -> 技术要点

Avater

  1. 广告板 -> 技术要点

Avater

在不使用广告版的情况下是这样的:

Avater

  1. 广告板+序列帧动画(可以将2D动画移植到3D游戏中)

Avater

在不使用广告版的情况下是这样的:

Avater

Volume 07 SimplePostEffect 简单屏幕后处理

原图:

Avater

  1. 高斯模糊

Avater

  1. Bloom

Avater

  1. 运动模糊(基于当前帧与上一帧混合的方案制作)

Avater

  1. 基于边缘检测进行描边(使用屏幕像素值和sobel算子判断边缘)

Avater

Volume 08 DepthNormalTexture 深度和法线纹理的简单应用

  1. 运动模糊(使用矩阵变换和深度重建世界坐标)

Avater

  1. 基于高度的雾效(使用射线+摄像机位置+深度重建世界坐标)

Avater

Volume 09 EdgeDetection 详解边缘检测

  1. 基于边缘检测的转场效果(基于噪声、uv变换、边缘检测)

Avater

  1. 基于边缘检测的子弹时间效果(基于重建世界坐标、噪声、uv变换、边缘检测、mask图)

Avater

Volume 10 Projector 投影仪的原理及简单应用

  1. 仿动画Revisions ED中人物以线条形式投影到大楼上的效果(虽然跟动画里效果差了十万八千里就是了)

Avater

第二版,加上了_Time变量和噪声使线条呈不规则运动(依旧不像):

Avater

About

关于Unity Shader的一些心得体会~

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published