Как расположить камеру вертикально в три раза. js - PullRequest
0 голосов
/ 07 февраля 2020

У меня есть модель, которая начинается в центре экрана, но я хочу отобразить ее, начиная с нижней части. Я пытался изменить перспективу камеры, максимальное и минимальное расстояние и масштаб сцены, но пока не могу понять. Вот код

        // 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

1 Ответ

0 голосов
/ 07 февраля 2020

Переместите камеру выше, введя в число подходящее число для y:

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

Кроме того, элементы управления орбитой могут иметь установить целевой объект.

...