首页 > 解决方案 > 加载三个js后切换到相机

问题描述

我想知道一旦加载了包含透视相机的对象,是否有一种方法可以切换到相机。在我的情况下,我有一个包含透视相机的对象头像,我想在加载时直接使用它,或者在加载后切换到它。我读到了有关轨道控制的信息,但我尝试过的一切都没有成功:

const fAddSc = function ( obj ) {
      // Add the loaded object to the scene
      let cam = obj.getObjectByName("PerspectiveCamera 1");


      camera = new THREE.PerspectiveCamera(cam.fov, window.innerWidth / window.innerHeight, cam.near, cam.far);
      camera.position.copy(cam.position);
      camera.rotation.copy(cam.rotation);


      obj.position.x=0;
      obj.position.z=-4;
      obj.position.y=0.5;
      scene.add(obj);

      const controls = new OrbitControls(camera, renderer.domElement);
      controls.enabled = true;

      console.log(controls);
      console.log(scene.activeCamera);
    };

我用

import * as THREE from 'three'
import OrbitControls from 'orbit-controls-es6';

欢迎任何帮助,谢谢!

标签: javascriptecmascript-6three.js

解决方案


好的,我想我刚刚找到了我的问题的答案,唯一的问题是它不干净。

const fAddSc = function ( obj ) {
        let grChar= new THREE.Group();
        camera.position.set(0,1,-4);
        camera.lookAt(0,0,0);
        obj.position.x=0;
        obj.position.z=-4;
        obj.position.y=0.5;
        grChar.add(obj,camera);
        scene.add(grChar);
    };

推荐阅读