如何在Three.js中垂直放置相机

问题描述 投票:0回答:1

我有一个从屏幕中央开始的模型,但是我想从屏幕底部开始显示。我试图更改PerspectiveCamera,最大和最小距离以及场景比例,但是到目前为止我还无法弄清楚。这是代码

        // renderer
        renderer = new THREE.WebGLRenderer();
        renderer.setSize(window.innerWidth, window.innerHeight);
        document.body.appendChild(renderer.domElement);

        // renderer.outputEncoding = THREE.sRGBEncoding;

        // scene
        scene = new THREE.Scene();

        // camera
        camera = new THREE.PerspectiveCamera(40, window.innerWidth / window.innerHeight, 1, 1000);
        camera.position.set(0, 0, 40);

        scene.add(camera);

        // controls
        var controls = new OrbitControls(camera, renderer.domElement);
        controls.addEventListener('change', render);
        controls.minDistance = 10;
        controls.maxDistance = 95;
        controls.enablePan = true;

        // ambient
        scene.add(new THREE.AmbientLight(0xffffff, .2));

        // light
        var light = new THREE.PointLight(0xffffff, 1.5);
        camera.add(light);

        new GLTFLoader().load('models/female.glb', function (gltf) {

            gltf.scene.traverse(function (child) {

                if (child.isMesh) {
                    child.material.normalMapType = THREE.ObjectSpaceNormalMap;
                    child.material.side = THREE.DoubleSide;

                    child.visible = true
                }

            });
            gltf.scene.scale.set(4, 4, 4)
            scene.add(gltf.scene);

            render();
        });

模型看起来像这样

enter image description here

javascript three.js 3d
1个回答
0
投票

通过在y中输入一些适合y的数字来将摄像机上移:

camera.position.set(0,0,40)

此外,轨道控件还可以设置目标对象。

© www.soinside.com 2019 - 2024. All rights reserved.