engine icon indicating copy to clipboard operation
engine copied to clipboard

请问该如何正确加载用户通过input[type=file]选择的模型文件?

Open Jarod-Xie opened this issue 3 years ago • 5 comments

我的思路

获取到File对象后,通过

    var reader = new FileReader();
    reader.readAsText(file);
    reader.onload = function () {
      //当读取完成之后会回调这个函数,然后此时文件的内容存储到了result中。

      engine.resourceManager.load<GLTFResource>(this.result);
    };

但是会解析错误 image 请问该如何正确加载呢?

Jarod-Xie avatar Apr 09 '22 09:04 Jarod-Xie

@zhuxudong 后面把 glTFParser export 出去才可以吧

gz65555 avatar Apr 09 '22 13:04 gz65555

内置的 parser 也不支持解析 file,可以先把file 转成blob url 解决

zhuxudong avatar Apr 11 '22 02:04 zhuxudong

file 转成 json 更直接一点吧

gz65555 avatar Apr 11 '22 02:04 gz65555

内置的 parser 也不支持解析 file,可以先把file 转成blob url 解决

好的,学习官方的代码解决了。https://github.com/oasis-engine/oasis-engine.github.io/blob/main/src/pages/gltf-viewer.tsx

Jarod-Xie avatar Apr 11 '22 03:04 Jarod-Xie

@zhuxudong 这个功能做一些本地工具挺常用,加个 playground 吧

eyworldwide avatar Apr 11 '22 04:04 eyworldwide

Convert to discussion.

eyworldwide avatar Nov 07 '22 02:11 eyworldwide