Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Unreal Engine 5,5,1

Денис Гаврилов Ученик (103), на голосовании 3 месяца назад
как сделать чтобы при касании блока персонаж спавнился на точке спавна
Голосование за лучший ответ
Твой Профессор Гуру (3172) 4 месяца назад
Создай точку спавна
Создай новый Actor Blueprint (например, SpawnPoint).
Внутри этого Blueprint добавь Scene Component или Static Mesh, чтобы визуально обозначить точку спавна.
Определи в Blueprint переменную, которая будет хранить ссылку на персонажа, которого хочешь заспавнить (например, переменная типа Actor).

Создай Actor Blueprint для блока, с которым будет происходить взаимодействие.
Внутри этого блока добавь Box Collision или другой компонент коллизии, чтобы обрабатывать пересечения.
В секции Components найди свой коллизионный компонент и отрегулируй его размеры так, чтобы он подходил под нужный объект.


В Blueprint блока открой граф (Event Graph).
Найди события OnBeginOverlap коллизионного компонента. Это событие срабатывает, когда другой объект пересекает коробку коллизии.
Внутри события получи ссылку на персонажа. Обычно это можно сделать с помощью Other Actor.
Проверь, является ли Other Actor персонажем (например, с помощью Cast To твеого персонажа).

Если успешный каст, добавь ноду Spawn Actor from Class.
Выбери класс вашего персонажа.
В качестве трансформации (Transform) для спавна используй позицию точки спавна. Для этого получи координаты вашего SpawnPoint с помощью ноды Get Actor Transform или Get Actor Location.
После спавна, если необходимо, можно также задать параметры спавненного персонажа, такие как направление или здоровье.

Перейди в главный уровень и добавьте созданный блок и точку спавна.
Запусти игру и проверьте, что персонаж спавнится в точке спавна при взаимодействии с блоком.
Похожие вопросы