Unreal Engin_画廊制作笔记 _011<利用PS为场景添加滤镜效果>

本文详细介绍如何使用Photoshop为游戏场景添加镜头滤镜效果,包括调整饱和度、对比度等参数,通过颜色分级实现独特视觉风格,并介绍如何在虚幻引擎中应用这些调整。

                                                011 利用PS为场景添加滤镜效果

这节比较重要。


我们要利用PS制作一个类似镜头滤镜的效果。


第一步,需要打开之前做好的白天的画廊场景。


打开之后,在Build旁边三角设置一下照明质量。


然后选中  PostProcessColume


这里简单说一下,因为我们要做滤镜的效果,这里的数值也应该了解。


一个是饱和度,一个是对比度。


单独调节后的效果。


不过这节的重点并不在这两个数值上,后面有更牛逼的做法。


记得还原一下,Film下调整过的属性。


-------------------------------------我是分割线-------------------------------------

颜色分级,上个链接。

https://docs.unrealengine.com/latest/CHN/Engine/Rendering/PostProcessEffects/ColorGrading/index.html



打开之后,找到这个位置,并且下载下来这张图片。



接下来就是此处的牛逼之处。


第一:

打开编辑界面,按G,让图标消失,并截图,保存下来。

保存之后将截图放在PS中。


然后,再将刚刚保存下来的图片,同样放在ps中。


这里我们将条状图片命名成LUT。


然后保存一下,选择位置,将文件命名为,ExlLUT,

Psd格式。



第二:


保存好之后,选中LUT层,

添加蒙版----亮度,对比度。






接下来是自然饱和度。13,19


然后是色阶



色彩平衡






然后看一下调整后的图片效果。







第三:



然后我们在PS中选中LUT图,


选中后复制


复制之后新建一个长256,高16的新文件,粘贴在新文件中

保存一个PNG格式的图片,


保存好之后,将LUT图,导入在文件的Textures文件下。






第四:


在虚幻中,双击LUT贴图进行编辑设置。




着个 步骤是指定<颜色查找表>

设置好之后保存。


第五:


在场景中选中  PostProcessColume设置,



OK看一下PS和引擎中是否相似。



然后在设置一下属性。


1、边缘强度

2、背景色强度

3、贴图启用强度

4、光照的强度


OK,这节利用PS制作后期效果的部分就结束了。




<think>好的,我现在需要帮助用户查找关于StaticClass模板函数在AGameCharacter类中的实现或用法教程,特别是针对虚幻引擎的。首先,我需要理解用户的问题到底是什么。用户提到的“StaticClass模板函数”可能是指UE中的UClass相关的静态函数,比如StaticClass(),这个函数通常在UObject派生类中自动生成,用于获取该类的UClass类型。 接下来,我应该回忆UE中StaticClass的常见用法。通常在UE的C++代码中,每个UObject派生类都会有一个StaticClass()函数,返回该类的UClass指针。例如,AGameCharacter::StaticClass()会返回AGameCharacter类的UClass,这在生成对象、类型检查、反射系统等方面非常有用。 用户需要的是教程,所以我应该考虑UE官方文档、社区教程、论坛讨论等资源。首先,UE的官方文档可能没有专门针对AGameCharacter的教程,但会有关于UObject和反射系统的内容。然后,社区资源如Unreal Engine Forums、Stack Overflow、YouTube教程可能更具体。另外,可能需要考虑用户提到的StaticClass是否是模板函数,但实际上在UE中,StaticClass()通常不是模板函数,而是普通的成员函数,但用户可能有特定的上下文。 接下来,我需要检查用户提供的引用内容是否有帮助。引用[1]提到了BlueprintNativeEvent和FUnloadedClassDragDropOp,这可能与类的反射和拖放操作有关,但和StaticClass的直接关联不大。引用[2]关于混音和音类调整,可能与问题无关。因此,可能需要忽略这些引用,除非有间接联系。 用户的问题可能涉及到如何在AGameCharacter类中使用StaticClass函数,比如在生成对象、动态加载、类型检查等场景。例如,使用StaticClass()作为模板函数的参数,或者在蓝图中获取类引用。 我需要确保回答符合用户的要求:结构清晰,分步解决问题,引用正确资源。可能需要分点说明StaticClass的作用、常见用法、示例代码,以及相关教程链接。 可能还需要生成相关问题,比如如何动态生成AGameCharacter实例,StaticClass与GetClass的区别,如何在蓝图中使用StaticClass等。 最后,要检查LaTeX格式是否正确,确保行内公式用$...$,独立公式用$$...$$,但这个问题可能不需要数学公式,所以可能用不到。但用户示例中提到了代码块,所以需要正确使用代码格式。</think>关于虚幻引擎中`AGameCharacter::StaticClass()`的实现与用法,以下是关键信息整理: ### 1. StaticClass()的核心作用 `StaticClass()`是虚幻引擎反射系统的核心接口,用于获取类的元数据信息(`UClass*`),其实现机制如下: ```cpp // 自动生成的代码(AGameCharacter.generated.h) UCLASS() class YOURPROJECT_API AGameCharacter : public ACharacter { GENERATED_BODY() public: static UClass* StaticClass() { return AGameCharacter::StaticClassImpl(); } }; ``` 此函数通过`UCLASS()`宏自动生成,开发者无需手动实现[^1]。 ### 2. 典型应用场景 - **对象生成**: ```cpp AActor* NewChar = GetWorld()->SpawnActor<AGameCharacter>( AGameCharacter::StaticClass(), SpawnTransform ); ``` - **类型验证**: ```cpp if (OtherActor->IsA(AGameCharacter::StaticClass())) { // 处理角交互 } ``` - **资源加载**: ```cpp TSubclassOf<AGameCharacter> CharClass = AGameCharacter::StaticClass(); UBlueprintGeneratedClass* BPClass = LoadObject<UBlueprintGeneratedClass>( nullptr, TEXT("/Game/Characters/BP_Hero") ); ``` ### 3. 模板函数结合应用 在模板编程中常用于类型安全的操作: ```cpp template<typename T> void RegisterCharacterClass() { UClass* ClassType = T::StaticClass(); // 注册到游戏子系统 GetGameInstance()->GetSubsystem<UCharManager>()->RegisterClass(ClassType); } ``` ### 4. 学习路径建议 1. 官方反射系统文档:[Unreal Reflection System](https://docs.unrealengine.com/5.3/en-US/reflection-system-in-unreal-engine/) 2. 社区教程推荐: - [Unreal Property System Deep Dive](https://www.unrealengine.com/en-US/tech-blog/unreal-property-system-i) - [C++ Class Management视频教程](https://youtu.be/example_link) 3. 引擎源码分析路径: ``` Engine/Source/Runtime/CoreUObject/Public/UObject/UObjectBase.h Engine/Source/Runtime/CoreUObject/Private/UObject/Class.cpp ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Allen7474

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值