Unity 3d: значения ползунка имеют место при втором запуске при попытке изменить масштаб сборных клонов - PullRequest
1 голос
/ 28 июня 2019

Название в значительной степени подводит итог. Я пытаюсь настроить масштаб клонированных префабов во время выполнения с помощью ползунка пользовательского интерфейса. Однако при первом запуске ползунок, похоже, не оказывает на них никакого влияния, а при втором запуске объекты просто сохраняют одно значение от ползунка и кажутся уже выше или короче. Мне нужен ползунок, чтобы динамически регулировать высоту объектов, как это происходит с обычным, не клонированным объектом. Любая помощь будет оценена. Спасибо!

Скрипт работает на обычных объектах, а не на клонах.

Вот мой метод ползунка:

public void slideScale(float textNumber)
    {
        Vector3 scale = Wall.transform.localScale;
        scale.y = textNumber;
        Wall.transform.localScale = scale;
    }

Я ожидал, что смогу изменить высоту во время перемещения ползунка. Значение сохраняется и выполняется только при втором запуске, в то время как ползунок, похоже, не влияет ни на что.

1 Ответ

0 голосов
/ 28 июня 2019

Похоже, вы изменяете ссылку на Префаб вместо экземпляра префаба (клон, по вашим словам).

Вот как вы храните ссылку на экземпляр префаба:

// Spawn an object based on a prefab "Wall" 
// and store the spawned object in variable "instance"
GameObject instance = Instantiate(Wall);

// Modify the instance properties
instance.transform.localScale = scale;
...