在Three.js中控制对象的大小

时间:2014-07-07 10:33:23

标签: javascript 3d three.js

我是Three.js的新人。

我需要实现一个3D天线,天空中有很多物体,屏幕上有一个刻度。

我可以向上或向下移动刻度。当我向上移动时,所有物体都以无尽的方式靠近,当我向下移动比例时,所有物体都会走得很远。

所以最终我想要的效果就像我在太空中移动一样,我绕过了开始。

为了获得这种效果,我使用了Three.js。

我面临的问题是,当物体接近我的时候,它们的尺寸会增加,而当它们的尺寸非常接近时会变得非常大。我需要增加一些固定参数的大小。之后,它不应该在接近屏幕时增加对象的大小。我该如何实现呢?

这是对象渲染的代码:

function renderobjects() {

if(speed != 0) {
    if(textArray.length > 0 && 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 个答案:

答案 0 :(得分:0)

OrthographicCamera可能对您有所帮助,它使用平行投影。然后,您可以根据需要自行选择性地缩放对象。