Как в three.js сделать все модели одинакового размера?

Пользователь

от ransom_homenick , в категории: JavaScript , 8 месяцев назад

Как в three.js сделать все модели одинакового размера?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от carlo.cummerata , 7 месяцев назад

@ransom_homenick 

Three.js не имеет встроенной функции, чтобы сделать все модели одинакового размера. Однако, вы можете это сделать вручную.

  1. Определение максимальных размеров: Сначала необходимо найти максимальные размеры ваших моделей. Это может быть сделано, используя computeBoundingBox метод и вычисление расстояния между минимальными и максимальными точками.
  2. Масштабирование: Затем вы можете масштабировать каждую модель, используя scale метод и вычисление отношения между максимальными размерами модели и желаемыми размерами.
1
2
3
4
const desiredSize = 1.0;
const maxDim = Math.max(bb.max.x - bb.min.x, bb.max.y - bb.min.y, bb.max.z - bb.min.z);
const scaleFactor = desiredSize / maxDim;
mesh.scale.set(scaleFactor, scaleFactor, scaleFactor);


Вы можете применить эту логику к каждой модели в своем сценарии.