Three.js 在Autodesk Forge Viewer中添加ThreeJs模型
我对objectloader加载threejs模型有问题,我添加了最新的threejs库版本以获得更多功能,如使用objectloader创建文本。。。这是我的密码:Three.js 在Autodesk Forge Viewer中添加ThreeJs模型,three.js,autodesk-forge,autodesk-viewer,Three.js,Autodesk Forge,Autodesk Viewer,我对objectloader加载threejs模型有问题,我添加了最新的threejs库版本以获得更多功能,如使用objectloader创建文本。。。这是我的密码: loadThreeJs() { const loader = new THREEE.ObjectLoader(); loader.load('./assets/MVP-TW-CCTV TOWER.json', (obj) => { console.log(ob
loadThreeJs() {
const loader = new THREEE.ObjectLoader();
loader.load('./assets/MVP-TW-CCTV TOWER.json', (obj) => {
console.log(obj)
var object3DInside = obj.children[0].children[0];
console.log(object3DInside)
setTimeout(() => {this.addScene(object3DInside)},1000)
}, (xhr) => {
console.log((xhr.loaded / xhr.total * 100) + '% loaded');
});
}
addScene(obj:any)
{
this.viewer.impl.createOverlayScene('load-scene');
this.viewer.impl.addOverlay('load-scene', obj );
this.viewer.impl.invalidate(true);
}
哪个Three是我从外部加载的threejs库obj
是场景,所以我得到了object3D的子对象,但它总是返回object,而不是THREE.object3D的实例代码>我记录的结果和类型是object3D,它应该是正确的,但它不是
看起来您正在使用另一个版本的three.js并全局引用它,这不是Forge Viewer本身提供的,它将与Forge Viewer one冲突。正如Petr在这里提到的(),Forge Viewer使用自维护的three.js r71删除了大多数内置的three.js函数
如果您想使用Forge Viewer的three.js库中缺少的功能,我建议您使用一些现代开发工具,例如Bundler(Webpack是最流行的一种)。您可以利用ES6模块,仅将严格需要的依赖项导入应用程序。该包允许您独立地将三个.js功能导入应用程序,因此在这种情况下,我们可以导入Three.ObjectLoader,
,包实现将处理所有其他必需的依赖项
请参阅Forge社区博客:即使几天前我也遇到了同样的问题谢谢你的回复,经过一些努力,我仍然面临同样的问题。加载器可以完美地工作,并返回我想要的内容,但查看器无法重新调整对象的类型。它仍然返回object而不是三个的实例。Object3D
您能否共享一个非机密的、可复制的、最低限度的、可运行的代码示例来演示这个问题?没有调试,我很难理解情况。如果不适合公开发布,请将其发送到autodesk[DOT]com上的[code>forge[DOT]help[AT]autodesk[DOT]com