Autodesk forge 材质丢失问题

zy在项目中准备使用Autodesk forge作为3d Viewer。
但是在使用使用中,出现了上传的模型在上传并转化格式为svf后,在本地viewer中显示时,材质丢失。

具体情况:
1.将本地制作好的.dwg文件通过提供的api上传至oss上
2.将上传的dwg文件通过api转化为svf格式,并通过api确定转化已完成
3.在本地viewer中加载拿到的objectId

最终加载的效果:

clipboard.png
尝试将.dwg文件换成.dwf文件后,重新上传,最终效果:

clipboard.png

源模型效果:

clipboard.png

两种文件格式都没能够正常加载出材质。想请问如何才能正确的加载材质呢?

下面是创建并加载document的代码。

Autodesk.Viewing.Initializer(
          {
            env: 'AutodeskProduction',
            accessToken: response.access_token,
            // api: 'derivativeV2',
          },
          () => {
            const modelDocumentId = 'urn:dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6dGVzdGR3ZzAwMS9qaWZhbmcwNi5kd2Y';
            Autodesk.Viewing.Document.load(
              modelDocumentId,
              doc => {
                let geometries;
                geometries = doc.getRoot().search({ type: 'geometry', role: '3d' });
                if (geometries.length === 0) {
                  console.log('Document contains no geometries.');
                  return;
                }

                this.viewer = new Autodesk.Viewing.Private.GuiViewer3D(this.viewerContainer, {
                  extensions: geometries[0].extensions() || [],
                });

                this.viewer.start(
                  doc.getViewablePath(geometries[0]),
                  {},
                  () => {
                    console.log(this.viewer.getLayerStates());
                    console.log('success');
                  },
                  () => {
                    console.log('error');
                  },
                );
              },
              () => {
                console.log('Failed fetching Forge manifest');
              },
            );
          },
        );
阅读 2.9k
1 个回答

源文件什么格式的?如果FBX,目前Forge没有转换材质。而Obj之类的,可以通过复合文转换(附上材质定义和图片)方式进行。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进