Самый очевидно простой вариант - соблюсти одинаковый 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);}
}
}
И немного занудства. По хорошему вся эта кастомизация объекта должна сохраняться и описываться какой-нибудь структурой.
В духе -> Список Деталей, а у каждой детали, Размер,Цвет и Прочность.
Чтобы не через неразрушаемый объект переносить, а сохранив и передав , описывающую такую структуру, можно было восстановить кастомизированный вид.
Появиться возможность как минимум сохранить два , три ,четыре вида кастомизации.
(я так понял вы вроде тридэшник и надеюсь понятно в общих чертах рассказал)
Ну а после уже и патерны-шматерны можете примастыривать.