如何在框架中的 gltf 中使用内部相机?
How to use inner camera in gltf in aframe?
我有一个gltf模型,里面包含相机、模型和相机动画。加载后,它们成为一个 gltf 实体。我无法使用 secondcamera el. SetAttribute ('camera ','active', true ')"
来更换相机。怎么用里面的摄像头。
这个可以修改三个。 JS
this.content.traverse((node) => {
if (node.isCamera && node.name === name) {
this.activeCamera = node;
}
});
this.renderer.render( this.scene, this.activeCamera )
但是,如何在aframe中使用gltf中的内置摄像头?
您可以保留对相机的引用:
var model_camera = null;
// wait until the model is loaded
entity.addEventListener("model-loaded", e => {
const mesh = entity.getObject3D("mesh");
mesh.traverse(node => {
// assuming there is one camera
if (node.isCamera) model_camera = node;
})
})
当您需要使用它时,只需替换scene.camera property中的活动相机即可:
entity.sceneEl.camera = model_camera;
在 this example 中查看包含两个不同相机的模型。
Afaik 不涉及清理,只要您在切换相机时不手动禁用它们,look-controls
或 wasd-controls
仍然可以工作。
camera system 具有交换活动相机的功能,但您需要为相机引用添加 <a-entity>
包装器(因为系统会尝试对所提供的执行 getObject3D('camera')
实体)。
我有一个gltf模型,里面包含相机、模型和相机动画。加载后,它们成为一个 gltf 实体。我无法使用 secondcamera el. SetAttribute ('camera ','active', true ')"
来更换相机。怎么用里面的摄像头。
这个可以修改三个。 JS
this.content.traverse((node) => {
if (node.isCamera && node.name === name) {
this.activeCamera = node;
}
});
this.renderer.render( this.scene, this.activeCamera )
但是,如何在aframe中使用gltf中的内置摄像头?
您可以保留对相机的引用:
var model_camera = null;
// wait until the model is loaded
entity.addEventListener("model-loaded", e => {
const mesh = entity.getObject3D("mesh");
mesh.traverse(node => {
// assuming there is one camera
if (node.isCamera) model_camera = node;
})
})
当您需要使用它时,只需替换scene.camera property中的活动相机即可:
entity.sceneEl.camera = model_camera;
在 this example 中查看包含两个不同相机的模型。
Afaik 不涉及清理,只要您在切换相机时不手动禁用它们,look-controls
或 wasd-controls
仍然可以工作。
camera system 具有交换活动相机的功能,但您需要为相机引用添加 <a-entity>
包装器(因为系统会尝试对所提供的执行 getObject3D('camera')
实体)。