Управление размером объекта в Three.js

#javascript #3d #three.js

#javascript #3D #three.js

Вопрос:

Я новичок в Three.js .

Мне нужно реализовать один 3D-экран, на котором в небе много объектов, а на экране один масштаб.

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

Итак, в конечном итоге я хочу получить эффект, как будто я перемещаюсь в пространстве, и я пропускаю начало.

Итак, для получения этого эффекта я использовал Three.js .

Проблема, с которой я сталкиваюсь, заключается в том, что когда объекты приближаются ко мне, их размер увеличивается, а когда они приближаются очень близко, их размер становится очень большим. Мне нужно увеличить размер для некоторых фиксированных параметров. После этого он не должен увеличивать размер объекта, когда он приближается к экрану. Как я могу это реализовать?

Это код рендеринга объекта:

 function renderobjects() {

if(speed != 0) {
    if(textArray.length > 0 amp;amp; textArray[0].material.opacity == 1) {
        for(var i = 0; i < textArray.length; i  ) {
            textArray[i].material.opacity = 0;
        }
    }

    camera.position.y  = - mouseY * 0.01;
    if (camera.position.y > 60) {
        camera.position.y = 60;
    }

    if (camera.position.y < 35) {
        camera.position.y = 35;
    }

    camera.position.z = (camera.position.z   8*speed);
}
  

Пожалуйста, предоставьте мне решение, с помощью которого я могу ограничить размер объектов.

Ответ №1:

Вам может помочь OrthographicCamera, она использует параллельную проекцию. Затем вы можете выполнить собственное выборочное масштабирование объектов в зависимости от ваших потребностей.