javascript - 加载三个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';
欢迎任何帮助,谢谢!
解决方案
好的,我想我刚刚找到了我的问题的答案,唯一的问题是它不干净。
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);
};
推荐阅读
- javascript - 简单的 TypeScript 类给出 TypeError
- powershell - wix 工具集:如何根据 DirectorySearch 的结果运行或不运行 PowerShell
- xamarin.forms - 如何将 AppShell 上的 DataTemplate 中的配置文件图像设置为 Url 源
- c# - 使用 MVC Core 条带“无此类付款”错误
- c# - Observable.Do 等价于 Enumerable
- c# - 对来自自定义 InputSelect 的 Blazor 验证消息使用模型显示名称
- xml - Go XML Marshal:切片的意外输出
- javascript - 如何用 puppeteer 和 jest 编写健壮的测试?
- python - python中对象声明之间的关键区别是什么。括号如何不同?
- r - 如何使用 R 在箱线图上显示特定的已知值?