Как отловить нужное значение Scale

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

Как отловить нужное значение Scale

Сообщение e-x 15 фев 2023, 12:27

Всем Привет!
На кнопку повесил код
Синтаксис:
Используется csharp
 private void OnMouseDrag()
        {
            for (int i = 0; i < ChemicalElements.Length; i++)
            {
                {
                    ChemicalElements[i].transform.localScale = Vector3.Lerp(ChemicalElements[i].transform.localScale, upLimt, moveScaleCube);
                }
            }

        }
        public void Update()
        {
            if (upLimt == checkScale)
            {
                Debug.Log("1");
            }
        }
 


то есть при нажатии изменяется Scale моего объекта, хочу отловить когда значение будет =1, смотрю в инспекторе там изменяется все в 0.0001 тысячных, тоесть = 1 я не получу никогда, следовательно мое условие не сработет.

Варианты вижу:
1.Поставить лимит...то есть например когда значение в передлах 0,955 - 1,055.
2.Поставить как-то маску изменения значений....кратность например х = 0,1
3.Наверно уже все придумано и есть гениальное решение , помогите плиз.
Спасибо!
e-x
UNIт
 
Сообщения: 141
Зарегистрирован: 20 июн 2022, 16:47

Re: Как отловить нужное значение Scale

Сообщение NOVA 16 фев 2023, 19:35

Это потому, что Вы используете Lerp. Эта математическая функция никогда не приблизит действительное к желаемому.
Используйте MoveTowards. С векторами Scale тоже работает. Если надо поплавнее умножайте на расстояние до желаемого со смещением в нольнольодинтам. И тогда условие на приезд сработает. По коду неясно, но интуитивно как-бы намекает по первым словам.
Аватара пользователя
NOVA
Адепт
 
Сообщения: 1741
Зарегистрирован: 17 май 2011, 11:45
Откуда: Дядя Саша from Mother Russia

Re: Как отловить нужное значение Scale

Сообщение e-x 18 фев 2023, 16:58

Таки да, MoveTowards!
Спасибо!
e-x
UNIт
 
Сообщения: 141
Зарегистрирован: 20 июн 2022, 16:47


Вернуться в Почемучка

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex [Bot] и гости: 22