@artemkaw

Unity C# — Как сделать перезапуск уровня при падении персонажа в пропасть?

Всем привет. Я новичок, изучаю Unity 3D, пишу на C#. Экспериментирую на одной игре. Сейчас столкнулся с проблемой, как сделать перезагрузку уровня(SceneManager.LoadScene(SceneManager.GetActiveScene().name)) при падении главного персонажа в пропасть?За ранее спасибо
P.S. Как перезапустить уровень я понимаю, нужно проверить: падает персонаж в пропасть, или нет? И затем перезагружать уровень.
  • Вопрос задан
  • 4377 просмотров
Решения вопроса 1
DanceM
@DanceM Куратор тега Unity Game Engine
Кто хочет -ищет способ, кто не хочет -ищет причину
Ну уровень то вам не обязательно выгружать и загружать заново. Просто верните по событию "персонаж упал" все величины в нужных скриптах на стартовую позицию. То есть, конечно надо учесть в скриптах, что они могут быть "сброшены" на начальное значение, создать метод сброса или задавать переменным значения на Start() а после его вызывать.

PS: для проверки упал ли, можно разместить Collider, Trigger и при соприкосновении, OnTriggerEnter(), вызывать метод перезапуска уровня (сброса параметров).

Вот какое-то видео на эту тему, но наверное можно найти и посвежей https://youtu.be/OcmqVmg28F0

Более простой вариант - проверять по высоте, если объект сместился ниже определенного уровня, значит упал.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы