摘要:
前言 本篇总结一些常用的UE5材质相关的知识点,因为其中有些是图形学内容而这些内容在笔者以前的博客中均有记载,所以只是简单提及。随着本人的不断学习,该篇总结也会不断丰富 uv 与unity不同,UE的uv坐标的u轴正方向指向右,而v轴正方向指向下 例如下图,我输出了屏幕的坐标值,可以看到左上角是完全 阅读全文
摘要:
# 前言 本文将对图形学噪声进行介绍,其中重点介绍perlin noise,并讲解如何实现Perlin noise和优化Perlin noise # 噪声 ## 定义 - 噪声是一系列的随机变量,而噪声函数是给定一个输入,输出一个随机变量 - 噪声是将自然现象的变化加入纹理的一个工具,因为在真实世界 阅读全文
摘要:
潮湿效果 物体表面是如何变湿的? 物体表面吸水使颜色变深 潮湿的颜色会变得暗淡且饱和 实现 增加饱和度且变暗 潮湿的物体表面的特点 当水作用在材质表面,材质表面的specualr会略微变弱且粗糙度会大幅降低 对于积水的表面,我们设置它的roughness = 0.07, specualr = 0.3 阅读全文
摘要:
总览 凹凸贴图(Bump Mapping)思想最早是由图形学届大牛中的大牛 Jim Blinn 提出,Normal Mapping,Parallax Mapping,Parallax Occulision Mapping,Relief Mapping 等都是基于凹凸贴图衍生出的 除开displace 阅读全文
摘要:
原理 因为游戏为了保证舒适的帧数,通常不能临时计算特效,所以一般是提前将动画做成单独的帧,最后渲染至纹理 流程 UE5提供的FlipBook节点 原理 提供uv坐标,time节点,指定行列即可实现FLipBook 实现 使用的flipbook纹理有五行五列,因此提供一个float = 5的节点连接到 阅读全文
摘要:
前言 本篇使用UE5的材质系统实现运动的扭曲效果,并解决他的重复性 纹理变换 总结思路 为uv坐标添加time节点 实现 如下图所示,Texcoord指定uv起始坐标,提供一个float2变量和Time节点相乘(这样对Time有控制权),将相乘结果与uv坐标相加,最后传给采样器 扭曲效果 原理 由于 阅读全文
摘要:
前言 本篇将展示如何使用DX12 实现normal map 源代码chenglixue/D3D12 at normalmap 要点 定义:法线贴图基于凹凸贴图衍生出来的。纹理贴图中的纹素是RGB颜色值,而法线贴图中的纹素是法向量的坐标 用途:计算光照,在纹理图中存储法向量,再将其带入光照计算。在避免 阅读全文
摘要:
前言 本篇将展示如何使用DX12实现blend 源代码D3D12 at blend 要点 over & under算子 blend的实现是基于over算子和under算子 over 含义:应对==半透明物体==在==不透明物体前或半透明物体==和==半透明物体==间的情况,它的顺序是==从后向前== 阅读全文
摘要:
前言 本篇将展示如何运用深度模板缓冲区来实现游戏中的物体轮廓效果 源代码model_outline 基础知识 模板测试过程 // compare_func:定义的比较函数。对两个参数进行比较 // StencilRef:模板参考值 // StencilReadMask:位于D3D12_DEPTH_S 阅读全文
摘要:
前言 本篇将展示如何使用DX12实现天空盒 源代码cubemap 创建dds立方体贴图 微软官方提供了一个命令行工具Texassemble,该工具可以将输入的几个图片转换为GPU可识别的DDS贴图,如立方体贴图 语法 texassemble <command> [-r] [-flist <filen 阅读全文