ОПИСАНИЕ:
Система сохранения разрушений для Unreal Engine, реализованная на Blueprints с использованием плагина Destruction State Saver. Система позволяет разрушить Geometry Collection, сохранить положение, поворот и масштаб каждого сегмента, а затем восстановить разрушение в прежнем виде после повторной загрузки объекта.
World Partition отвечает за выгрузку и загрузку объекта в открытом мире, а плагин сохраняет и восстанавливает его разрушенное состояние.
Подходит для открытых миров, прототипов, обучающих проектов и игровых механик, где важно, чтобы разрушенные объекты не возвращались в исходное состояние после выгрузки участка мира или перезапуска сцены.
ИСПОЛЬЗУЕМЫЕ КЛАССЫ И ПЛАГИНЫ:
BP_Saved_Destruction — основной класс разрушаемого объекта с Geometry Collection, логикой разрушения, сохранения и восстановления сегментов.
BP_SaveGame — класс сохранения, в котором хранятся идентификаторы разрушенных объектов и сохранённые данные Geometry Collection.
BP_FirstPersonCharacter — персонаж от первого лица, который запускает разрушение через трассировку из камеры, а также используется для тестового сброса сохранения и быстрого перемещения.
Geometry Collection — разрушаемый объект, созданный через Fracture Mode.
Destruction State Saver Plugin — плагин, который сохраняет, восстанавливает, замораживает и очищает состояние Geometry Collection.
ПЕРЕМЕННЫЕ В КЛАССЕ СОХРАНЕНИЯ:
DestroyedActors — массив имён разрушенных объектов.
GCStateData — данные сохранённого состояния Geometry Collection.
HasGCStateData — показывает, есть ли сохранённые данные разрушения.
ПЕРЕМЕННЫЕ В КЛАССЕ РАЗРУШАЕМОГО ОБЪЕКТА:
DestructionID — уникальное имя объекта для поиска его сохранённого состояния.
Destroyed — показывает, был ли объект уже разрушен.
CurrentSave — ссылка на текущий объект сохранения.
TempSaveObject — временная ссылка при загрузке SaveGame.
GCDestroyed — компонент Geometry Collection, который разрушается и восстанавливается.
ОСНОВНЫЕ СОБЫТИЯ И ФУНКЦИИ:
DestroyObject — запускает разрушение объекта, включает гравитацию, вызывает Apply External Strain и сохраняет состояние сегментов.
ShowDestroyedState — подготавливает объект к восстановлению сохранённого разрушенного состояния.
RestoreObject — отладочное событие для сброса сохранённых данных и возврата объекта в исходное состояние.
Event BeginPlay — проверяет наличие сохранения и восстанавливает разрушенный объект при загрузке.
Event EndPlay — выводит отладочное сообщение при выгрузке объекта системой World Partition.
Left Mouse Button — трассировка из камеры персонажа для поиска разрушаемого объекта перед игроком.
ИСПОЛЬЗУЕМЫЕ НОДЫ ПЛАГИНА:
Save Geometry Collection State To SaveGame Data — сохраняет текущее состояние сегментов Geometry Collection.
Restore Geometry Collection State From SaveGame Data — восстанавливает сохранённое состояние разрушения.
Freeze Geometry Collection State — замораживает сегменты после сохранения или восстановления.
Clear Geometry Collection State — очищает сохранённые данные разрушения по выбранному идентификатору.
World Partition отвечает за выгрузку и загрузку объекта в открытом мире, а плагин сохраняет и восстанавливает его разрушенное состояние.
Подходит для открытых миров, прототипов, обучающих проектов и игровых механик, где важно, чтобы разрушенные объекты не возвращались в исходное состояние после выгрузки участка мира или перезапуска сцены.
ИСПОЛЬЗУЕМЫЕ КЛАССЫ И ПЛАГИНЫ:
BP_Saved_Destruction — основной класс разрушаемого объекта с Geometry Collection, логикой разрушения, сохранения и восстановления сегментов.
BP_SaveGame — класс сохранения, в котором хранятся идентификаторы разрушенных объектов и сохранённые данные Geometry Collection.
BP_FirstPersonCharacter — персонаж от первого лица, который запускает разрушение через трассировку из камеры, а также используется для тестового сброса сохранения и быстрого перемещения.
Geometry Collection — разрушаемый объект, созданный через Fracture Mode.
Destruction State Saver Plugin — плагин, который сохраняет, восстанавливает, замораживает и очищает состояние Geometry Collection.
ПЕРЕМЕННЫЕ В КЛАССЕ СОХРАНЕНИЯ:
DestroyedActors — массив имён разрушенных объектов.
GCStateData — данные сохранённого состояния Geometry Collection.
HasGCStateData — показывает, есть ли сохранённые данные разрушения.
ПЕРЕМЕННЫЕ В КЛАССЕ РАЗРУШАЕМОГО ОБЪЕКТА:
DestructionID — уникальное имя объекта для поиска его сохранённого состояния.
Destroyed — показывает, был ли объект уже разрушен.
CurrentSave — ссылка на текущий объект сохранения.
TempSaveObject — временная ссылка при загрузке SaveGame.
GCDestroyed — компонент Geometry Collection, который разрушается и восстанавливается.
ОСНОВНЫЕ СОБЫТИЯ И ФУНКЦИИ:
DestroyObject — запускает разрушение объекта, включает гравитацию, вызывает Apply External Strain и сохраняет состояние сегментов.
ShowDestroyedState — подготавливает объект к восстановлению сохранённого разрушенного состояния.
RestoreObject — отладочное событие для сброса сохранённых данных и возврата объекта в исходное состояние.
Event BeginPlay — проверяет наличие сохранения и восстанавливает разрушенный объект при загрузке.
Event EndPlay — выводит отладочное сообщение при выгрузке объекта системой World Partition.
Left Mouse Button — трассировка из камеры персонажа для поиска разрушаемого объекта перед игроком.
ИСПОЛЬЗУЕМЫЕ НОДЫ ПЛАГИНА:
Save Geometry Collection State To SaveGame Data — сохраняет текущее состояние сегментов Geometry Collection.
Restore Geometry Collection State From SaveGame Data — восстанавливает сохранённое состояние разрушения.
Freeze Geometry Collection State — замораживает сегменты после сохранения или восстановления.
Clear Geometry Collection State — очищает сохранённые данные разрушения по выбранному идентификатору.
Платформа: UE 5.5+
Формат: .uproject / .uplugin
Производительность: Для прототипов, обучающих проектов и открытых миров
Настройки: Сохранение разрушений, восстановление сегментов, уникальные ID объектов, задержка заморозки обломков