UE4-(蓝图)第一百一十八课 贴花

2023-10-18 19:20

本文主要是介绍UE4-(蓝图)第一百一十八课 贴花,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

贴花:是投射到关卡中网格体(包括静态网格体和骨架网格体)上的材质,无论这些网格体的移动性是静态还是可移动,贴花都可以投射到他们上面,可以同时渲染许多贴花,而且这不会造成性能大幅下降,但是,如果屏幕空间较大而且着色器指令数较大,性能将下降。

如果想在场景中添加灰尘、污渍、泄露、钢印号码、墙上的海报或者涂鸦,都可以使用贴花来制作。

分为两部分:1.场景中自定义设置贴花(海报)  2. 蓝图中生成贴花(产生弹孔)

场景中设置贴花

一.创建贴花材质:

1.创建材质球命名为MyDecal,打开材质蓝图后,在细节面板调整参数:

注意:更改材质Material Domain为Deferred Decal(延迟贴花),会报错,将BlendMode更改为半透明即可。

2.编辑材质,赋予颜色或者一张贴图

3.更改完成后应用材质并保存。

二.将贴花放置到场景中的方法

方法一.选中MyDecal材质,直接拖拽到场景中

方法二.视觉效果中选择Deferred Decal 拖拽到场景

选中大纲视图中的DecalActor,在细节面板设置Decal参数,将贴花材质,选入到DecalMaterial

三、贴花的设置

1.当你在当前的关卡中插入了贴花,它将自动在周围的几何体上进行投影,选择你放置的贴花然后点击空格键在移动,旋转,以及缩放之间进行变换

2.调整贴花,放置到墙上

注意:贴花在屏幕中的尺寸大小将决定投影的性能,所以尽量使得贴花的尺寸以及投影距离小一点,这样将只会影响周围邻近的几何体

四、设置附着贴花的几何体

1.可以控制静态网格物体哪个上面贴上贴花,哪个不需要,比如:只希望墙上有,柱子上没有

设置:选中柱子,在细节面板Rendering面板中将Receives Decals (基元是否接收贴花)取消勾选

五、多个贴花重叠在一起设置显示顺序

1.如果贴花有多个在重复显示,并且想要有前后显示顺序,设置细节面板Decal中的Sort Order

值越高的显示在最前面。

注意:尽管可以将贴花叠加排序,但是限制贴花的数量,将贴花简化真的很重要。一定要避免有太多被渲染的贴花在其他贴花上方

六、如果场景中不显示贴花

查看视口中显示标签中的贴花是否勾选显示

这篇关于UE4-(蓝图)第一百一十八课 贴花的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

AI产品经理成长蓝图:从入门到精通的学习路径指南

AI产品经理区别于普通产品经理的地方,不止在懂得AI算法,更重要的是具有AI思维。 人工智能产品设计要以操作极度简单为标准,但是前端的简单代表后端的复杂,系统越复杂,才能越智能。 同样,人工智能的发展依赖于产业生态的共同推进,上游芯片提供算力保障,中游人工智能厂商着力研发算法模型,下游应用领域提供落地场景。 一、人工智能产业链结构 人工智能产业链结构上可分为基础层(计算基础设施)、技术层(

【UE4源代码观察】观察Core模块

话题 Core模块是整个引擎中最核心的模块,在之前的博客【UE4源代码观察】可视化所有模块的依赖情况中有统计,它被983个模块引用,恐怕除了第三方的模块外基本所有模块都有引用。我想首先观察其中的内容,然后再做测试:将Core模块拷贝到之前【UE4源代码观察】手动建立一个使用UBT进行编译的空白工程建立的空白工程中,看能否将它成功编译,理论上讲,“核心”不应再依赖太多其他的东西,所以我应该不会再需

【UE4源代码观察】在空白工程中测试跨模块调用函数

目的 在之前的博客【UE4源代码观察】手动建立一个使用UBT进行编译的空白工程中,成功让UBT工作起来了。现在我想要测试编译出的多个模块之间是否能互相调用,我记录下测试的过程。最终工程见 工程GIT链接。 实践 第一部分 首先仿照TestA模块建立TestB模块。 在TestB.h文件中声明了一个函数 int TestBFunc(int x, int y); 并在TestB.cpp中

【UE4源代码观察】观察FEngineLoop中各函数的调用顺序

当启动编辑器时,Launch模块是启动模块,在Windows平台中 LaunchWindows.cpp 的 WinMain函数是入口,而 FEngineLoop 管理了程序的初始化与主循环。他的成员函数如下: public:/*** Pre-Initialize the main loop, and generates the commandline from standard ArgC/Arg

【UE4源代码观察】手动建立一个使用UBT进行编译的空白工程

我想观察UE4是怎么编译的,于是查阅官方文档,了解到UE4有一套自己的编译工具:UnrealBuildTool,简称UBT。关于UBT的官方文档参阅:虚幻编译工具。我想尝试自己手动建立一个使用UBT进行编译的空白工程。不过首先,先了解下UBT的编译流程中一些文件所扮演的角色 UBT的编译流程中一些文件所扮演的角色 模块 每个模块都由一个 .build.cs 文件声明,它存储在 Source

【UE4源代码观察】可视化所有模块的依赖情况

思路 UE4引擎的模块非常多,我想要观察他们的依赖情况。于是我写了程序读取所有模块的.Build.cs文件,记录每个模块依赖的模块(当前是看PublicDependencyModuleNames和PrivateDependencyModuleNames。但后来经评论提醒我发现AddEngineThirdPartyPrivateStaticDependencies也应该视作是“依赖”但没统计,后续

简单梳理UE4的Houdini官方插件代码

前言 Houdini官方插件名字叫 “Houdini Engine”,它搭建了Houdini数据与UE4数据间的桥梁。我接触这个插件已经有段时间了,我想是时候梳理一下插件的结构了。(当前我用的UE4版本是4.24.2,Houdini版本18.0.348) 需要说明的是,这篇博客主要是从代码出发的。我准备先分析插件整体的代码结构,再逐个翻阅每个文件试图搞明白他角色。但如果不准备研究代码结构和实现

【UE4源代码观察】观察TargetPlatform模块

前情提要与本次目标 在之前的博客《【UE4源代码观察】观察 RHI、D3D11RHI、RenderCore 这三个模块的依赖关系》中,我将RHI、D3D11RHI、RenderCore这三个模块加入了我的空白工程中并确保可以成功编译。然而当时RenderCore模块有一个比较大的缺失:没有让shader相关的功能正常编译,因为它需要TargetPlatform模块中的内容。 因此,这次我想观察

【UE4源代码观察】尝试调试UBT

前言 在之前的博客《【UE4源代码观察】手动建立一个使用UBT进行编译的空白工程》中我尝试动手搭建了一个用UBT进行编译的空白的工程。但是对UBT其中的逻辑并不理解。 后来在学习UE4源代码的过程中,又了解了它的一些行为。目前,对我影响较大的是:1.他会有一些逻辑去添加一些宏。2.他会有一些逻辑去给修改ModuleRules(和.build.cs中内容的角色一样)。这时候我发现一些和预期不太一

试用UE4的纹理数组(UTexture2DArray)

UTexture2DArray 我发现在我目前使用的版本(4.25)中,官方已经实现了纹理数组(可能在4.24或更早版本就已经实现了)。 纹理数组,其含义不言而喻。一个重要作用是可以使用更多的纹理而不受制于sampler数目限制。 这一篇里我想对官方的纹理数组进行一下简单的试用。 试用 0. 启用纹理数组 虽然我看到了代码中有UTexture2DArray这个类,不过一开始并没有在编辑器