From 9a2df3566b3f2a067b54c577ab8642046096da8f Mon Sep 17 00:00:00 2001 From: BlueRose <378100977@qq.com> Date: Wed, 25 Jun 2025 14:59:46 +0800 Subject: [PATCH] vault backup: 2025-06-25 14:59:46 --- .../ShaderWorldPlugin/ShaderWorld.md | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/03-UnrealEngine/Rendering/RenderFeature/ShaderWorldPlugin/ShaderWorld.md b/03-UnrealEngine/Rendering/RenderFeature/ShaderWorldPlugin/ShaderWorld.md index 68556ed..9afa558 100644 --- a/03-UnrealEngine/Rendering/RenderFeature/ShaderWorldPlugin/ShaderWorld.md +++ b/03-UnrealEngine/Rendering/RenderFeature/ShaderWorldPlugin/ShaderWorld.md @@ -19,6 +19,30 @@ rating: ⭐ ## ASWorld ## AShaderWorldActor +### PreEditChange() / PostEditChangeProperty() +**PreEditChange()** 主要针对以下两个变量的设置: +- PreventReRegistration:防止重新注册。 +- RuntimePropertyEditing:实时属性修改。 + +**PostEditChangeProperty()** +里面比较关键的逻辑有: +- EditRebuildVegetation.AtomicSet(true); + - 在Setup()中清空Bioms数组。 +- EditRebuild.AtomicSet(true); + - 在SetupCollisions()设置rebuild = true。 + +如果RuntimePropertyEditing为true,在最后会将RuntimePropertyEditing设置为false。PreventReRegistration也会设置为false。 + +### Rebuild变量 +主要出现在: +- Setup():调用RebuildCleanup()清空所有数据。 +- SetupCollision(): RedbuildCollisionContext = true。 +- ProcessSpawnablePending():如果处于重建状态就直接返回。 +- InitiateClipMapMeshes():如果处于重建状态就直接返回。 +- FinalizeAsyncWork():如果处于重建状态就直接返回。 + + + ### Tick()