UE5边缘描边材质及理论

2024-03-18 11:40
文章标签 材质 理论 边缘 ue5 描边

本文主要是介绍UE5边缘描边材质及理论,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

开发过程中需要制作一个边缘描边材质的效果,顺着这个脉络搜索到了很多的能看懂和不太能看懂的资料,在这里梳理一下。

以下是查到的相关资料链接:

1、这个是在UE4工程里的制作流程,但是对于原理理论并不是非常了解:

ue4 材质描边、外发光、轮廓线_哔哩哔哩_bilibili

2、这篇是辅助整理关于材质制作的底层逻辑的理论梳理:

Unreal Engine 4 卡通轮廓线(Toon Outlines)教程 之 后期处理法(Post Process Outlines)_unreal轮廓线-CSDN博客

3、这篇涉及到提到的边缘检测原理的内容

python+OpenCv笔记(十六):边缘检测原理(Sobel算子原理、Laplacian算子原理、Canny边缘检测原理)_python opencv sobel-CSDN博客

4、其中涉及到一些算法的内容

1.Sobel算子原理解析_哔哩哔哩_bilibili

5、拓展补充的一些素材:

UE4后期处理材质的一些应用(上) - 哔哩哔哩 (bilibili.com)

以下内容为上面的部分内容复制粘贴过来的加上我理解和吸收的整理出来自己看的

一、边缘检测原理

边缘检测是图像处理和计算机视觉中的基本问题,边缘检测的目的是标识数字图像中亮度变化明显的点。

1、Sobel算子原理

Sobel算子是图像检测的重要算子之一,其本质是梯度运算。

例如,对于一张二维图像:

当我们将卷积核放在图像中时,有三种位置关系,如图:

卷积核和滤波器为类似的概念,关于卷积核 我的理解是相当于一个标准化的卡尺一样,去针对图像的颜色去处理,详细的可以参考链接

python+OpenCv笔记(十六):边缘检测原理(Sobel算子原理、Laplacian算子原理、Canny边缘检测原理)_python opencv sobel-CSDN博客

2、Laplacian算子原理

使用的卷积核如图:

等下制作的材质描边也是使用了laplacian算子原理 将会用到这个卷积核。

二、实现方式

1、叠加描边    

在实现这个功能的算法之前,我使用的是一种简化的方案,即在蓝图里为原本的模型叠加一个mesh将新加的mesh比原来大一点、换个颜色,这样在视觉上就能呈现出描边的效果,以下是之前的操作方式:

增添mesh-设置为高光物体-附上高光材质

高光材质的制作很简单 开放出两个变量在蓝图里调用即可

问题在于:

我的需求需要在游戏开始时在蓝图里动态去获取当前这轮的模型,原本的高光材质的制作方式中模型的绑定写在了构造函数里面,如下图,构造函数的问题在于会在游戏开始前进行调用,但我每次游戏开始时调用的模型不同,因此不能用这种方式,但是如果将mymesh的模型绑定放到beginplay里的话,我需要在另一个蓝图去调用当前蓝图然后设置绑定mymesh,但是高亮材质的效果就会失效,怎么也无法显示,因此我在这里使用了另一种描边高亮材质的办法。

2、后期处理轮廓高亮材质

1)设置材质函数

这个材质函数我的理解就相当于laplacian中的卷积核

input代表移动的像素值,默认值从1开始,数值越大偏移的像素越大

使用sceneTexelSize的原因是这里如果当前的图像是放大两倍或者三倍,那么像素值可能不准确,参考的文章资料里有写,所以在这里要×SceneTexelSize

ScenePosition就是输出当前中心位置的像素点,根据卷积核后边数值要*-4

2)设置轮廓材质

刚才的input提出参数化,后面可以更改高光的宽度,然后将这个卷积核相加最后clamp一下保证在0-1里

!记得这里材质要改两个设置

此时已经可以看到轮廓了,拉一个postVolumn放到场景中,在后期处理材质添加刚才设置好的材质inst

3)问题是此时场景内全部的物体都是轮廓显示了,所以这里需要更改我们只要我们需要点击的物体进行轮廓高亮材质显示 ,继续修改材质

这里的设置是什么意思呢 参考UE4后期处理材质的一些应用(上) - 哔哩哔哩 (bilibili.com)这里的内容

我们需要设置一个蒙版 因为现在目前是全局都会轮廓显示,所以要根据场景的深度制作蒙版,这里的功能还可以用于制作遮挡物体的轮廓高亮显示:

     SceneDepth(场景深度):当前画面上的像素点和摄像机之间的距离。

       CustomDepth(自定义深度):开启物体上的自定义深度通道,获得被遮挡的物体离相机的距离。如果该位置没有物体开启自定义深度,那么得到的值则是无穷大。

       所以我们就可以根据自定义深度(绿色虚线)和场景深度(黑色虚线)的差值来判断是否有东西被挡住(如果有两个开启了自定义深度通道的物体在一条线上的话,那么获取到的CustomDepth是离摄像机更近的那个)

CustomDepth自定义深度-SceneDepth场景深度

       如果开启CustomDepth被挡住,那么CustomDepth>SceneDepth,CustomDepth-SceneDepth=有限值

       如果开启CustomDepth没被挡住,那么CustomDepth=SceneDepth

       如果没有开启CustomDepth,那么CustomDepth-SceneDepth=无穷大

还需要增加材质高亮的范围和颜色的调整

在这里设置SceneTexture代表场景内本身的压缩

好了,此时的材质已经完成了,如何开启对应模型的高亮呢

4)在蓝图里添加rendercustomdepth 也就是在材质里设置的渲染自定义深度

当鼠标点击到该物体的时候调用渲染自定义深度打开,显示高亮

5)获取当前的点击物体

功能实现,大功告成!

这篇关于UE5边缘描边材质及理论的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/822228

相关文章

2024年流动式起重机司机证模拟考试题库及流动式起重机司机理论考试试题

题库来源:安全生产模拟考试一点通公众号小程序 2024年流动式起重机司机证模拟考试题库及流动式起重机司机理论考试试题是由安全生产模拟考试一点通提供,流动式起重机司机证模拟考试题库是根据流动式起重机司机最新版教材,流动式起重机司机大纲整理而成(含2024年流动式起重机司机证模拟考试题库及流动式起重机司机理论考试试题参考答案和部分工种参考解析),掌握本资料和学校方法,考试容易。流动式起重机司机考试技

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识

基于UE5和ROS2的激光雷达+深度RGBD相机小车的仿真指南(五):Blender锥桶建模

前言 本系列教程旨在使用UE5配置一个具备激光雷达+深度摄像机的仿真小车,并使用通过跨平台的方式进行ROS2和UE5仿真的通讯,达到小车自主导航的目的。本教程默认有ROS2导航及其gazebo仿真相关方面基础,Nav2相关的学习教程可以参考本人的其他博客Nav2代价地图实现和原理–Nav2源码解读之CostMap2D(上)-CSDN博客往期教程: 第一期:基于UE5和ROS2的激光雷达+深度RG

UE5 半透明阴影 快速解决方案

Step 1: 打开该选项 Step 2: 将半透明材质给到模型后,设置光照的Shadow Resolution Scale,越大,阴影的效果越好

2024年AI芯片峰会——边缘端侧AI芯片专场

概述 正文 存算一体,解锁大模型的边端侧潜力——信晓旭 当下AI芯片的亟需解决的问题 解决内存墙问题的路径 产品 面向大模型的国产工艺边缘AI芯片创新与展望——李爱军 端侧AI应用“芯”机遇NPU加速终端算力升级——杨磊 边缘端的大模型参数量基本小于100B AI OS:AI接口直接调用AI模型完成任务 具身智能的大脑芯片 大模

外部中断的边缘触发和电平触发

MCS-51单片机中的边缘触发是指当输入引脚电平由高到低发生跳变时,才引起中断。而电平触发是指只要外部引脚为低电平就引起中断。         在电平触发方式下,当外部引脚的低电平在中断服务返回前没有被拉高时(即撤除中断请求状态),会引起反复的不需要的中断,造成程序执行的错误。这类中断方式下,需要在中断服务程序中设置指令,清除外部中断的低电平状态,使之变为高电平。

从零开始学cv-14:图像边缘检测

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、图像边缘是什么?二、Sobel 算子三、Scharr 算子四、Prewitt算子五、Canny算子 前言 边缘检测是OpenCV中的一个重要组成部分,它用于识别图像中亮度变化显著的点,即边缘。通过边缘检测,我们可以从图像中提取出重要的特征,为后续的图像分析、形状识别和物体跟踪等任务奠定

系统架构师考试学习笔记第三篇——架构设计高级知识(19)嵌入式系统架构设计理论与实践

本章考点:         第19课时主要学习嵌入式系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分)。在历年考试中,案例题对该部分内容都有固定考查,综合知识选择题目中有固定分值的考查。本课时内容侧重于对知识点的记忆、理解和应用,按照以往的出题规律,嵌入式系统架构设计基础知识点基本来源于教材内。本课时知识架构如图19.1所示。 一、嵌入式系统发展历程

西方社会学理论教程复习重点

一.名词解释 1.社会静力学:旨在揭示人类社会的基本秩序。它从社会的横断面,静态的考察人类社会的结构和制度,寻找确立和维护人类社会的共存和秩序的原则。 2.社会动力学:纵观人类理性和人类社会发展的先后必要阶段,所叙述的是这一基本秩序在达到实证主义这一最终阶段之前所经过的曲折历程。 3.社会事实:一切行为方式,不论它是固定的还是不固定的,凡是能从外部给予个人以约束的,或者说是普遍存在于该社会各

行政组织理论-第十一章:创建学习型组织

章节章节汇总第一章:绪论第二章:行政组织的演变第三章:科层制行政组织理论第四章:人本主义组织理论第五章:网络型组织理论第六章:行政组织目标第七章:行政组织结构第八章:行政组织体制第九章:行政组织设置与自身管理第十章:组织激励第十一章:创建学习型组织第十二章:政府再造流程第十三章:行政组织变革 目录 第一节 学习型组织理论的产生1. 学习型组织的源起2. 学习型组织的定义3. 学习型组织与组