Связь с планом уровня довольно сложна в UE4, поскольку они не такие постоянные, как, например, GameMode, и поэтому к ним нельзя обращаться напрямую (представьте себе старые игры, такие как Final Fantasy, где новый уровень загружался каждый раз, когда вы заходилиза пределами границ, так что полагаться на это может привести к поломке ваших актеров или крушению игры из-за nullptrs).
Это немного странно, но работает:
Переместите переменную внутри кубического проекта.Добавьте диспетчер событий в куб, если он перемещен, вызовите его и передайте переменную.
Выберите куб в редакторе, откройте чертеж уровня, щелкните правой кнопкой мыши, «Добавить ссылку на выбранного актера»(куб должен быть частью класса светокопии, а не только статической сетки, перетянутой внутрь) и связывать диспетчер событий внутри BP уровня.
Создайте функцию внутри каждого проекта, которому требуется доступ к переменной, которая делает все, что должна, в зависимости от переменной.
Настраиваемое событие уровня Bp (которое было связано сДиспетчер событий куба), требуются ссылки на все акторы, которые должны работать, когда переменная изменяется и вызывает каждую функцию Actors (вы можете получить ссылки, как вы получили ссылку из куба)
Затем каждыйКогда переменная изменяется, уровень BP уведомляется, пользовательское событие выполняется, и это пользовательское событие вызывает все функции актера.
Объяснение диспетчеров событий
Это огромная потеря функций / кода, так как он нужен только для этого одного уровня и может никогда не использовать его снова.Избегайте этого в будущем, не слишком полагаясь на уровень BP.