摘要:
一,关于皮肤渲染,理论知识可以参考以下资料: An Introduction To Real-Time Subsurface Scattering NEXT GENERATION CHARACTER RENDERING 图形引擎实战:皮肤效果 UE4相关资料: Creating Human Skin 阅读全文
摘要:
shader如下: 1 Shader "TA/Unlit/UI/UIImageGray" 2 { 3 Properties 4 { 5 _MainTex("Main Texture", 2D) = "white"{} 6 } 7 8 SubShader 9 { 10 Tags 11 { 12 "Qu 阅读全文
摘要:
PBR全称Physically Based Rendering,即基于物理的渲染。 关于其理论知识,可参考以下几个网址: 基于物理的渲染(PBR)白皮书: 基于物理渲染和着色的理论 创建PBR纹理实用指南 Physically Based Rendering PBR Reflectance Mode 阅读全文
摘要:
URP管线可扩展的自己的 RendererFeature,这里写了一个屏幕后处理的demo,首先shader如下: 1 Shader "MyURP/Kerry/PostProcess/URPFeature_PostProcessDemo" 2 { 3 Properties 4 { 5 _MainTe 阅读全文
摘要:
方法一 获取屏幕坐标,可使用Unity提供的内置函数 float4 ComputeScreenPos(float4 positionCS); 来获取,该方法定义如下: float4 ComputeScreenPos(float4 positionCS){ float4 o = positionCS 阅读全文
摘要:
关于各向异性头发高光,效果可参考: 首先弄清以下知识点: 1. KK高光模型,即 Kajiya-Kay Model 传统的Phong高光模型使用 NdotH做为因子,这里采用 TsinH,即 sqrt(1 - TdotH * TdotH),注意这里是假设切线方向与发丝方向一致。 即高光公式改为如下: 阅读全文
摘要:
SH,英文全称Spherical Harmonics Lighting,即球谐光照,主要用来模拟漫反射。 1. 如何计算SH SH只需要提供一组Vector4数组,便能通过算法来计算出漫反射光,这种方法的好处是适用于没有光照探针的场景中。如计算方法如下: 1 half3 CalcSH(float3 阅读全文
摘要:
IBL,英文全称Image Based Lighting,即基于图像的照明,是一种通过采样图片从而模拟出光照的技术。 IBL不需要在shader中进行直接光源的光照计算,而是将周围环境提前做成一个CubeMap,或者用反射探针在unity中烘焙好。 采样CubeMap时,可根据粗糙度贴图等生成动态m 阅读全文
摘要:
首先弄明白以下几个知识点: 1. 环境贴图,unity中即CubeMap,采样时需求出视角方向在法线方向的反射方向,用此反射方向来采样CubeMap,拿到颜色后还需解码hdr,公式如下: half3 reflectDir = reflect(-viewDir, worldNormal); hlaf4 阅读全文
摘要:
首先要弄清以下几个概念: 1. 什么是视差贴图(Parallax Mapping)? 视差贴图,是一种贴图,通过采样这张贴图,并依据视角方向对uv做一定的偏移,从而模拟出现实世界中凹凸不平的效果,毕竟通过模型顶点来表达这种效果工作量太大不太实现。 注意,视角方向需要转换到切线空间再做计算。 详细知识 阅读全文