Есть canvas и panel, на нем находятся кнопки. Есть terrain с модельками. Как сделать, чтобы при нажатии на кнопку открывалась нужная модель? Насколько мне известно это делаете через SetActiv или перезапуска сцены, однако разобраться не могу. Все должно происходить в одной сцене, чтобы не страдала оптимизация.
Скрипт, который сейчас используется (с помощью него открывается только одна модель, активная, или если активны все, то все сразу вызываются):
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
public class Transitions : MonoBehaviour
{
public int scene; // Отвечает, на какую сцену переходим.
public GameObject libraryPanel; // Библиотека(Panel).
public GameObject menuPanel; // Главное меню(Panel).
public GameObject terrainModel; // Трейн с моделькой.
public GameObject buttonBack_Model;
public int back = 0;
private void Start()
{
if (PlayerPrefs.HasKey("back"))
back = PlayerPrefs.GetInt("back");
if (back == 1)
{
menuPanel.SetActive(false);
libraryPanel.SetActive(true);
back = 0;
}
}
/* По книку загружаеться сцена */
public void AR_Scene()
{
SceneManager.LoadScene(scene);
}
public void Library()
{
menuPanel.SetActive(false);
libraryPanel.SetActive(true);
}
public void BackMenu()
{
SceneManager.LoadScene(0);
}
public void Model1Open()
{
libraryPanel.SetActive(false);
terrainModel.SetActive(true);
buttonBack_Model.SetActive(true);
}
public void BackLibrary()
{
back = 1;
SceneManager.LoadScene(0);
}
private void Update()
{
PlayerPrefs.SetInt("back", back);
}
private void OnApplicationQuit()
{
PlayerPrefs.Save();
}
}