Давайте рассмотрим скрипт перехода между сценами через взаимодействие с объектом.
Допустим на сцене есть предмет или персонаж, при взаимодействии с которым вам необходимо перейти на другую сцену.
Создадим два C# скрипта и назовем их Perehod и Bot. Первый вешаем на вашего персонажа, второй на тот объект с которым будете взаимодействовать.
Скрипт Perehod
using UnityEngine;
using System.Collections;
using UnityEngine.SceneManagement;
public class Perehod : MonoBehaviour {
public Transform cam1; // Камера персонажа из которой будет выходить луч
RaycastHit rch1; // Собственно сам луч
public GameObject point; // Точка на второй сцене в которой буде появляться персонаж
private bool visible; // Переменная для отображения диалога
void Update () {
Vector3 Direction = cam1.TransformDirection(Vector3.forward);
if (Physics.Raycast(cam1.position, Direction, out rch1, 3)) { // Луч будет выходить из камеры на расстоянии 3 метра
if (rch1.collider.GetComponent<Bot> ()) { // Если луч попадает на коллайдер объекта на котором есть скрип Bot
if (Input.GetKeyDown (KeyCode.E)) { // и если нажимаем клавишу Е
visible = true; // то переменная visible принимает значение true
}
}
}
}
void OnGUI (){ //Создадим диалог
if (visible) { // если visible = true
GUI.Box (new Rect ((Screen.width - 300) / 2, (Screen.height - 300) / 2, 300, 300), "Диалог" ); // создается окно с двумя кнопками
GUI.Label (new Rect (new Rect ((Screen.width - 300) / 2, (Screen.height - 270) / 2, 300, 300)), "?"); //текст диалога
if (GUI.Button (new Rect ((Screen.width - 250) / 2, (Screen.height - 250) / 2 + 250, 250, 25), "Отмена")) // если нажать отмена
{
visible = false; // окно закроется
}
if (GUI.Button (new Rect ((Screen.width - 250) / 2, (Screen.height - 300) / 2 + 250, 250, 25), "Я хочу войти")) { // если нажать "Я хочу войти"
visible = false; // опять же окно закрывается
SceneManager.LoadScene("2"); // и загружается сцена 2 (название сцены, у вас оно может быть другое)
transform.position = point.transform.position; // переносим персонажа в ту точку где находится наш Point
}
}
}
На второй сцене поместите пустышку Empty, сохраните ее в префаб. Затем этот префаб перетащите на персонажа в строчку point Скрипта Perehod. Ваш персонаж будет при загрузке сцены перемещен в те координаты которые имеет point т.е. ваша пустышка.
Скрипт Bot оставьте пустым.
using UnityEngine;
using System.Collections;
public class Bot : MonoBehaviour {
void Start () {
}
Видео:ПЛАВНАЯ смена сцены В Unity | Переход локаций легко и простоСкачать
void Update () {
}
}
Добавьте ваши сцены в настройки проекта File — Build settings. Просто перенесите их туда. Первая сцена, которую планируете запускать, должна иметь индекс 0.
Так же, необходимо создать С# скрипт dontdestroy, он нужен для того что бы при переходе на новую сцену персонаж удалялся на старой и сохранил все свои параметры в новой сцене.
using UnityEngine;
using System.Collections;
public class dontdestroy : MonoBehaviour
{
public static Transform playerTransform;
void Awake ()
{
if (playerTransform = null)
{
Destroy(gameObject);
return;
}
DontDestroyOnLoad(transform.gameObject);
playerTransform = transform;
}
}
Повесьте его так же на вашего персонажа.
На видео показан пример использования этих скриптов.
📽️ Видео
Как сделать кнопку перехода между сценами в UnityСкачать

СМЕНА СЦЕН, ЛОКАЦИЙ В UNITY + ЭКРАН ЗАГРУЗКИ || Unity 2D Уроки C# Создание ИгрСкачать

Как сделать переходы между сценами в UnityСкачать

Scene Management в Unity | ПЕРЕХОД между СЦЕНАМИСкачать

Переход между уровнями в Unity 5 с помощью триггераСкачать

Unity Tutorial - Переход между СценамиСкачать

Уроки по Unity #09 Unity3D Перемещение между сценами!Скачать

как сделать передача данных между сценами unityСкачать

Unity 5. Переход между сценамиСкачать

Решаем проблему загрузки сцены в Unity. Теперь ты будешь делать правильноСкачать

КАК СДЕЛАТЬ ПЕРЕХОД МЕЖДУ СЦЕНАМИ В UNITY?Скачать

Загрузочный экран и смена сцен в Unity 3DСкачать

Как сделать переход между сценами в unity 2dСкачать

Fade или затемнение экрана между сценами в UnityСкачать

как сделать переход между сценами в unity | переключение сцен unityСкачать

Переход между сценами Unity МвИКИ НикитинСкачать

Как сделать переход в другую сцену по триггеру | Unity 3DСкачать

Как сделать игру на Unity Ballance #6 [GameDev] Рестарт сцены, переход на следующую сценуСкачать
![Как сделать игру на Unity Ballance #6 [GameDev] Рестарт сцены, переход на следующую сцену](https://i.ytimg.com/vi/-CUcTP7Os5g/0.jpg)
Как сделать меню и переход на другую сцену в UnityСкачать











Я сделал всё как тут написано но у меня не работает,что делать?
Данный скрипт актуален для Unity 5. Вы, наверное, используете современную версию Unity, поэтому что-то может не работать. Советую посмотреть урок перехода между сценами для современной версии Unity *****