Подскажите, пожалуйста,как сделать несколько spawn на 1сцене
|
|
xxxlio | Дата: Понедельник, 27 Июня 2016, 13:25 | Сообщение # 1 |
частый гость
Сейчас нет на сайте
| К примеру, есть сцена 0. На неу расположено 2 дома. При входе в первый, попадаешь на сцену 1, а при входе во второй на сцену 2. Тут все просто. А вот при выходе из сцены 1 или 2 попадаешь на сцену 0. И нужно оказываться возле подъезда того дома куда вошел. Допустим переходим на 0-вую сцену с цены 1. spawn должен стоять возле первого дома. А при выходе со сцены 2 на сцену 0 - наоборот, возле 2 дома. Подскажите, как это реализовать? При переходе с цены на сцену пользуюсь таким скриптом:
Код using UnityEngine; using System.Collections;
public class NextLevel : MonoBehaviour {
public int nextlevel = 0;
void OnTriggerEnter(Collider col) { if(col.tag == "Player") Application.LoadLevel(nextlevel); } }
Может тут куда то можно вписать имя First Person1 Controller или First Person Controller2? Очень на вас рассчитываю.
|
|
| |
xMoonGuarDx | Дата: Понедельник, 27 Июня 2016, 14:01 | Сообщение # 2 |
участник
Сейчас нет на сайте
| Можно сделать некоторый неуничтожимый объект между сценами, в котором хранить точку, откуда попал из предыдущей сцены. Object.DontDestroyOnLoad(object) - ссылка на документацию. п.с. Application.LoadLevel - устаревший метод, сейчас юнька для этого использует SceneManager.LoadScene()
|
|
| |
xxxlio | Дата: Понедельник, 27 Июня 2016, 14:06 | Сообщение # 3 |
частый гость
Сейчас нет на сайте
| Цитата xMoonGuarDx ( ) Можно сделать некоторый неуничтожимый объект между сценами, в котором хранить точку, откуда попал из предыдущей сцены. А можно поподробнее. К чему данный скрипт прикрепить?
|
|
| |
xMoonGuarDx | Дата: Понедельник, 27 Июня 2016, 14:17 | Сообщение # 4 |
участник
Сейчас нет на сайте
| xxxlio, к пустому объекту, который создать например в сцене 0. А в самом скрипте сохранять трансформ (позицию), откуда произошел переход на следующую локацию. И когда обратно будете загружать новую локацию, объект игрока создавайте в той позиции, в которой сохранили.
|
|
| |
TLT | Дата: Понедельник, 27 Июня 2016, 14:45 | Сообщение # 5 |
Сейчас нет на сайте
| Можно просто создавать персонаж по координатам относительно двери. Т.е. криэйт x y относительно дверь.
Можно сделать переменную для каждой локации, типа Start1, Start2, Start3. Когда заходишь в локацию 1, то в ней прописывается Start2=0, Start3=0 Start1=1; в локацию 2, то в ней прописывается Start1=0, Start3=0, Start2=1; в локацию 3, то в ней прописывается Start1=0, Start2=0, Start3=1.
И до этого пишешь условие:
(например, мы побывали во второй или третьей локации)
Загружается локация 1: если Start2=1 то создать объект персонаж на xy двери во вторую локацию. если Start3=1 то создать объект персонаж на xy двери в третью локацию. Обнуляем: Start2=0 Start3=0 Start1=1
_____
Либо можно записывать для каждой локации перед выходом из неё x y в ini-файл. А при старте этой локации использовать координаты из ini-файла для создания персонажа. Это нужно будет, если важно сохранить точные координаты, либо выход динамический.
Дао, выраженное словами, не есть истинное Дао.
|
|
| |
xxxlio | Дата: Понедельник, 27 Июня 2016, 18:15 | Сообщение # 6 |
частый гость
Сейчас нет на сайте
| Цитата TLT ( ) Можно сделать переменную для каждой локации, типа Start1, Start2, Start3. Когда заходишь в локацию 1, то в ней прописывается Start2=0, Start3=0 Start1=1; в локацию 2, то в ней прописывается Start1=0, Start3=0, Start2=1; в локацию 3, то в ней прописывается Start1=0, Start2=0, Start3=1.
И до этого пишешь условие:
(например, мы побывали во второй или третьей локации)
Загружается локация 1: если Start2=1 то создать объект персонаж на xy двери во вторую локацию. если Start3=1 то создать объект персонаж на xy двери в третью локацию. Обнуляем: Start2=0 Start3=0 Start1=1 Не могли бы вы код полностью написать? Плохо пока в javascript разбираюсь
|
|
| |