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()