05 2023 档案
摘要:# 前言 - UE蓝图的custom node不像unity一样灵活,且貌似因为渲染框架的更改4.2之前使用custom node的方式和如今大不相同,经过捣鼓一番总算是知道如何使用,本篇会介绍如何使用custom node # Code - 主要问题在于custom node 的Code处,在UE
阅读全文
摘要:前言 非真实感渲染的风格不经相同,其中一种便是油画风格,本文总结了如何实现油画滤镜的方法 Kuwahara Filter 为什么使用Kuwahara Filter? 一般对图像进行模糊处理,会使用低通滤波器,但往往模糊后图像会失去它们的硬边,但Kuwahara Filter可以在平滑图像的同时也能保
阅读全文
摘要:前言 本篇基于Unreal Engine 4 Cel Shading Tutorial | Kodeco教程进行一个总结和实现 卡通着色 描绘色带 与写实风格不同,卡通渲染的色带(阴影,中间调,高光)呈现多段式分布 描绘色带的方法 最常用的方法是比较表面normal朝向和光照方向 根据点成结果即可实
阅读全文
摘要:# 目标 - 水有许多特性,本篇将着重实现如下特性 - 表面涟漪 - 水深效果 - 水的反射和折射 - 海浪 - 波光的焦散 # 表面涟漪 ### 初步实现 思想最早是由图形学届大牛中的大牛 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
阅读全文