后期材质(PostProcess Material)+ Custom Node 实现"描边"和"马赛克"效果【UE4】

简介: 后期材质(PostProcess Material)+ Custom Node 实现"描边"和"马赛克"效果【UE4】

参考自:

描边

马赛克

 

描边效果

静态:

image.png

动态:

20170318160510717.gif

马赛克效果

静态:

image.png

动态

image.png

材质编辑器分别如下:

描边

image.png

马赛克

image.png

image.png

HLSL代码分别如下:

描边

//input SceneTexSize
//input UV
//input NotUse
//input OutLineSize
//input MaxZ
//input OutLineColor
float3 w=float3(0.2125,0.7154,0.0721);
float2 Sampler[]={float2(-1,-1),float2(-2,0),float2(-1,1),
                    float2(0,-2),float2(0,0),float2(0,2),
                    float2(1,-1),float2(2,0),float2(1,1)};
float2 UVOffset[]={float2(-1,-1),float2(0,-1),float2(1,-1),
                   float2(-1,0),float2(0,0),float2(1,0),
                   float2(-1,1),float2(0,1),float2(1,1),};
float2 Edge=0;
for(int i=0;i<9 ;i++)
{
    Edge+=Sampler[i]*dot(SceneTextureLookup(UV+UVOffset[i]*SceneTexSize*OutLineSize,14,false).xyz,w);
}
//最后的length可以改成1-abs(Edge.x)-abs(Edge.y),这样可以减少运算量
return lerp(
SceneTextureLookup(UV,14,false),OutLineColor,length(Edge));

马赛克

//input BaseUV 屏幕UV
//intput Tiling
//input Ratio
//input NotUse
float2 UV=BaseUV;
UV*=Tiling;
UV.y*=Ratio;
UV=ceil(UV);
UV/=Tiling;
UV.y/=Ratio;
return SceneTextureLookup(UV,14,false);

(完)

目录
相关文章
|
10月前
阿里云盘企业版收费标准:不同人数、存储空间价格表
2025年阿里云盘企业版推出全新收费标准,首月免费试用,费用较原规格最多节省87%。新版CDE提供不同用户数和存储空间组合,如5人500GB/年169.9元、20人2TB/年749元等。具体价格及详细对比请参考官方页面或文章解析。 了解更多:[阿里云盘企业版CDE](https://www.aliyun.com/product/storage/pds/cde?source=5176.29345612&userCode=r3yteowb)
2399 54
visual studio 2022 社区版 c# 环境搭建及安装使用【图文解析-小白版】
这篇文章提供了Visual Studio 2022社区版C#环境的搭建和安装使用指南,包括下载、安装步骤和创建C#窗体应用程序的详细图文解析。
visual studio 2022 社区版 c# 环境搭建及安装使用【图文解析-小白版】
|
域名解析 缓存 网络协议
揭秘DNS协议:从'http://www.example.com'到IP地址的奇幻旅程,你不可不知的互联网幕后英雄!
【8月更文挑战第4天】在互联网的广袤空间里,每台设备都有唯一的IP地址,但记忆这些数字组合并不直观。因此,DNS(域名系统)作为关键桥梁出现,将易记的域名转换为IP地址。DNS协议工作于应用层,支持用户通过域名访问资源。DNS系统包含多级服务器,从根服务器到权威服务器,共同完成域名解析。查询过程始于客户端,经过递归或迭代查询,最终由权威服务器返回IP地址,使浏览器能加载目标网页。
522 12
|
存储 Unix Python
shutil:更优雅地拷贝文件
shutil:更优雅地拷贝文件
386 0
|
前端开发 Linux API
【推荐100个unity插件之8】实现多人在线联机游戏——Mirror插件的使用介绍(附项目源码)
【推荐100个unity插件之8】实现多人在线联机游戏——Mirror插件的使用介绍(附项目源码)
4049 0
|
编解码 开发者 Python
【Python】已解决:UnicodeEncodeError: ‘gbk’ codec can’t encode character ‘\u0157’ in position 1: illegal m
【Python】已解决:UnicodeEncodeError: ‘gbk’ codec can’t encode character ‘\u0157’ in position 1: illegal m
1023 1
|
数据可视化 数据挖掘 Serverless
单细胞分析(Signac): PBMC scATAC-seq 聚类
单细胞分析(Signac): PBMC scATAC-seq 聚类
|
编解码 Android开发
selinux报avc denied权限和编译报neverallow 解决方案
selinux报avc denied权限和编译报neverallow 解决方案
1554 1
|
Java 数据库连接 数据库
解决:Mybatis-plus使用selectList查询数据为null
解决:Mybatis-plus使用selectList查询数据为null
1203 0
解决:Mybatis-plus使用selectList查询数据为null
|
存储 算法 程序员
实现一个malloc内存分配器(图文并茂)
实现一个malloc内存分配器(图文并茂)
101814 0