01 2023 档案
摘要:一, 关于镭射,Unity里已经提供好了公式,我们只需要调用就行,如下: 效果如下: 转载请注明出处:https://www.cnblogs.com/jietian331/p/17062603.html
阅读全文
摘要:一,关于绒毛渲染原理,网上可参考的资料非常多,这里可参考: https://www.xbdev.net/directx3dx/specialX/Fur/index.php 二,渲染方案 1. 绒毛是立体的,但我们衣服是一层片,所以渲染方案是: 绘制多层,每一层按照权重值向外挤出。 并且根据权重值裁剪
阅读全文
摘要:一,丝袜渲染,其实相当简单了,在原有丝绸shader基础上增加半透明即可,效果图如下: 二,湿身,首先要模拟身体上有水流动的效果,可以用noise贴图配合ui动画经过一番处理生成雨水mask。 代码如下: 生成的雨水mask如下: 它其实是有流动效果的。 再用这张mask,去影响皮肤的 roughn
阅读全文
摘要:Unity URP获取屏幕纹理方法不同于传统管线,GrabPass 已经失效,而是已经提供了这张纹理,如下图: 这张纹理是在渲染完所有 Opaque 物体之后提供了,所以 shader 中要获取这张纹理首先得将 Queue 修改至 Transparent,如下: 接着,申明这张纹理: 然后通过屏幕坐
阅读全文
摘要:丝绸silk、缎子satin、尼龙和聚酯 一,观察效果 一般来说,丝绸和其他合成纤维更光滑,因为它们是作为单根光滑细丝生产的。当它被编织时,它会产生一种具有各向异性镜面高光的织物。 二,渲染方案 1. 各向异性高光 直接光高光部分可参考UE4代码SpecularGGX D项和V项使用各向异性的版本即
阅读全文
摘要:棉cotton,羊毛wool,天鹅绒velvet 一,效果观察 1.前面所有的光照模型都是基于硬表面建模的。然而衣服和布料通常由一根根松散的线构成,材料对光线进行吸收和散射,因此具有较大衰减范围且较柔和的镜面光。2.由于前向和后向散射,会呈现绒毛Fuzz效果,这种类型的织物呈现出强烈的边缘照明。这些
阅读全文
摘要:一,参考资料 https://gamesartist.co.uk/realistic-hairstyle-tutorial-marcin-cecot/ https://80.lv/articles/tips-tricks-on-hair-for-games/ https://80.lv/articl
阅读全文
摘要:一,关于其理论知识的资料,参考如下: Next-GenerationCharacter Rendering Photorealistic Character Digital Humans 剖析Unreal Engine超真实人类的渲染技术Part 2 - 眼球渲染 虚幻4渲染编程(人物篇) 二次元角
阅读全文
摘要:一,关于皮肤渲染,理论知识可以参考以下资料: 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做一定的偏移,从而模拟出现实世界中凹凸不平的效果,毕竟通过模型顶点来表达这种效果工作量太大不太实现。 注意,视角方向需要转换到切线空间再做计算。 详细知识
阅读全文
摘要:Matcap全称MaterialCapture(材质捕获),是一种把光照信息存储在纹理,从而省略大量光照计算(只需要采样一张图),就可以实现有光的感觉。 实现方法:将模型的法线转换到相机空间,再使用法线作为uv去采样贴图。由于法线的范围是-1到1,在采样时法线的范围是以0点为圆心,半径为2的圆形区域
阅读全文
摘要:首先分析下玉石材质的特性: 1. 透光性,根据玉石的厚度,越薄越透光。实现方法是,通过视线与光线方向点乘并乘以厚度来计算透光的颜色,所以需要一张厚度图,当然这里光线方向可以加上法线来做扰动,具体公式如下: float3 LaddN = lightDir + worldNormal * _distor
阅读全文
摘要:BlinnPhong光照,这是shader中最基础,最经典的光照模型,具体计算方法如下: 1. 漫反射 half3 diffuseCol = NdotL * lightCol * baseCol * shadowAttenuation * distanceAttenuation; 2. 镜面反射 h
阅读全文