Мой проект - это небольшая веб-игра на javascript с three.js.
Я использую GLTFLoader для импорта файла GLTF с анимацией в мой проект.Модель загружена, и я могу воспроизвести все анимации.Моя цель - сделать сетевой трафик как можно меньше.Вот почему я хочу импортировать только несколько моделей GLTF в качестве базовых моделей и изменить их внешний вид на стороне клиента с помощью three.js.Масштабируя определенные кости модели, я могу сделать ее высотой, не мешая анимации скелета.
Единственная проблема:
Если я изменю размер модели,масштабируя некоторые кости, размер модели изменяется по всей оси Y.Положительный и отрицательный.
Например:
Если я помещу модель «человека» в плоскость, а затем масштабирую модель путем масштабирования кости, ножки модели перемещаются ниже плоскостииз-за масштабирования.Вот почему мне нужно знать точную высоту или размер моей модели до и после того, как я изменил размер путем масштабирования кости.Таким образом, я мог вычислить, как далеко мне нужно подтолкнуть модель над плоскостью.
Я попытался
mesh.geometry.computeBoundingBox()
, и тогда я получу размер ограничивающего прямоугольника, но это просто даст мне размернеизменной геометрии моей модели.
Я также попытался создать новый объект Box3 и сделать его такого же размера, как моя измененная модель, используя:
new Box3().setFromObject(mesh);
Но это также просто даетмне неизменный размер геометрии.
Итак, как мне получить размер меша, который был масштабирован костью за три.js?Или есть другой способ решить мою проблему?
Ждем ваших предложений.