Как заставить игрового персонажа перейти на другую сцену? - PullRequest
1 голос
/ 09 апреля 2020

Как заголовок, я не знаю, как заставить игрового персонажа пересечь от game_scene_1 до game_scene_2. Я делаю триггер и могу перейти на game_scene_2, но игровой персонаж все еще на game_scene_1. Как это исправить? Пожалуйста, помогите мне.

Ответы [ 2 ]

0 голосов
/ 09 апреля 2020

Хотя вы можете использовать DontDestroyOnLoad, как описано в RadiantMin3, вы на самом деле можете просто перемещать объект между сценами! https://docs.unity3d.com/ScriptReference/SceneManagement.SceneManager.MoveGameObjectToScene.html

Обязательно загрузите game_scene_2 аддитивно, а затем выгрузите game_scene_1 после перемещения игрока. Пример:

SceneManager.LoadScene(game_scene_2, LoadSceneMode.Additive);
SceneManager.MoveGameObjectToScene(player.gameObject, game_scene_2);
SceneManager.UnloadScene(game_scene_1);

Это позволит загрузить game_scene_2 без выгрузки game_scene_1, переместить игрока, пока загружены обе сцены, а затем выгрузить game_scene_1.

0 голосов
/ 09 апреля 2020

Вы можете сохранить игрока как префаб и вызвать его с помощью метода Start в новой сцене.

Или, если у вас есть ссылка на gameobject игрока, используйте это:

DontDestroyOnLoad(PLAYER_GO);

Если у вас нет ссылки на нее, вы можете просто поместить это в метод Start на плеере

DontDestroyOnLoad(this.gameObject);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...