SDHOPS
@SDHOPS
Дизайнер

Как изменить размер объекта, при переносе в другую сцену?

Есть меню кастомизации персонажа, как вы уже наверное поняли, нужно чтобы все изменения кастомизации сохранились, перенести этот же объект непосредственно в сцену с самой игрой, для этого используется самая простая функция DontDestroyOnLoad, скрипт точно такой же как тут: docs.unity3d.com/ScriptReference/Object.DontDestro...

Проблема заключается в том, что персонаж слишком большой в другой сцене, какие изменения нужно внести в скрипт, чтобы перенести его, но уже в маленьком размере?

P.S: Еще я добавил персонажу камеру в меню кастомизации и отключил ее, опять же, что нужно вписать в скрипт, чтобы при переносе объекта в следующую сцену, она включилась?
  • Вопрос задан
  • 2473 просмотра
Решения вопроса 1
MrMureno
@MrMureno Куратор тега Unity
VR for all
Самый очевидно простой вариант - соблюсти одинаковый scale в обоих сценах (и в будущем проблем так меньше будет)
А если через скрипт, то "подгонять" скеил ручками.
https://docs.unity3d.com/ScriptReference/Transform...
void Example() {
        transform.localScale = new Vector3(5, 5, 5);
    }


вообще я так понял вы ищете что-то вроде
https://docs.unity3d.com/ScriptReference/MonoBehav...
чтобы определить что вы попали в другую сцену?!

А про камеру - ссылку на неё сохранить(на gameobject) и просто SetActive(bool f);
public class ExampleClass : MonoBehaviour
{
  //назначить в редакторе или в Awake() методе найти главную камеру
  //сам факт получить ссылку на камеру
  public GameObject cameraGO;
    void OnLevelWasLoaded(int level) {
        if (level == 13)//номер уровня или проверку по имени сделать
            {cameraGO.SetActive(true);}        
    }
}


И немного занудства. По хорошему вся эта кастомизация объекта должна сохраняться и описываться какой-нибудь структурой.
В духе -> Список Деталей, а у каждой детали, Размер,Цвет и Прочность.
Чтобы не через неразрушаемый объект переносить, а сохранив и передав , описывающую такую структуру, можно было восстановить кастомизированный вид.
Появиться возможность как минимум сохранить два , три ,четыре вида кастомизации.

(я так понял вы вроде тридэшник и надеюсь понятно в общих чертах рассказал)
Ну а после уже и патерны-шматерны можете примастыривать.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Есть персонаж - объект.
Есть его размер, это состояние.

Напрашивается паттерн Состояние (State).
На загрузке сцены можете подставлять объекту нужно состояние, и он будет изменяться.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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