Задать вопрос
@Moskaa

В чём разница между Vector3.normalized и Vector3.Normalize()?

В документации Unity всё изложено понятно, но на практике получается, что-то непонятное.
Вкратце, мне казалось, что Vector3.normalized нужен только для чтения, а Vector3.Normalize() уже нужен для изменения значения переменной, но на практике выходит, что оба метода выполняют одну и ту же задачу.
Помогите, пожалуйста, разобраться этом.
  • Вопрос задан
  • 37 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
@DrRen7
Когда используешь Vector3.normalized это значение не меняется а Vector3.Normalize() перезаписывает
условно Vector3.Normalize() это
thisv3 = Normalize(thisv3);

Vector3 Normalize(Vector3 v3)
{
return v3.normalized;
}

как пример что бы разобраться
[SerializeField]Vector3 _normalized;
[SerializeField]Vector3 _normal;
[SerializeField]Vector3 _newVector1;
[SerializeField] Vector3 _newVector2;



private void Update()
{
    _normalized.Set(Input.GetAxis("Vertical"), 0, Input.GetAxis("Horizontal"));
    _normal.Set(Input.GetAxis("Vertical"), 0, Input.GetAxis("Horizontal"));
    _newVector1 = _normalized.normalized;
    _normal.Normalize();
    _newVector2 = _normal;
}

а надо это , допустим дальше вектор идет контроллер анимации а там в бленде не 0.7,07 а 1,1
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы