#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, она использует параллельную проекцию. Затем вы можете выполнить собственное выборочное масштабирование объектов в зависимости от ваших потребностей.