Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Three.js 在Autodesk Forge Viewer中添加ThreeJs模型_Three.js_Autodesk Forge_Autodesk Viewer - Fatal编程技术网

Three.js 在Autodesk Forge Viewer中添加ThreeJs模型

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

我对objectloader加载threejs模型有问题,我添加了最新的threejs库版本以获得更多功能,如使用objectloader创建文本。。。这是我的密码:

    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