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
将本地glTF文件加载到Javascript内存中_Javascript_Three.js_Capacitor_Gltf - Fatal编程技术网

将本地glTF文件加载到Javascript内存中

将本地glTF文件加载到Javascript内存中,javascript,three.js,capacitor,gltf,Javascript,Three.js,Capacitor,Gltf,我正在使用three.js和Capactor创建一个本地iOS和Android应用程序。我有一些GLTF模型,我想从某种资产文件夹中加载,这些资产文件夹与代码捆绑在一起并交付给用户,但我不确定如何进行 关于GLTF加载程序的load函数的文档需要某种url,然而,它接受了一个“要解析的glTF资产,作为ArrayBuffer”。如何将此glTF文件加载到内存中,最佳做法是什么?我尝试了从“./models/myModel.gltf”导入*作为模型,但出现了一个找不到模块的错误 这里是加载gltf

我正在使用three.js和Capactor创建一个本地iOS和Android应用程序。我有一些GLTF模型,我想从某种资产文件夹中加载,这些资产文件夹与代码捆绑在一起并交付给用户,但我不确定如何进行


关于GLTF加载程序的
load
函数的文档需要某种url,然而,它接受了一个“要解析的glTF资产,作为ArrayBuffer”。如何将此glTF文件加载到内存中,最佳做法是什么?我尝试了从“./models/myModel.gltf”导入*作为模型,但出现了一个
找不到模块的
错误

这里是加载gltf文件的方法,我使用
reader
加载场景中的任何文件,然后使用
loader.parse进行解析。
但如果您想要示例模型文件夹,我认为您不需要reader方法和解析器。只需使用load GLTF basic方法并将样本存储在数组或对象中。
我希望我帮助了你

loadGltf(file, filename) {
        reader.onload = readerEvent => {
            const contents = readerEvent.target.result;
            const loader = new THREE.GLTFLoader()
            try {
                loader.parse(contents, '', function (gltf) {
                    gltf.scene.traverse(function(child) {
                        if (child.isMesh) {
                            child.castShadow = true;
                            child.receiveShadow = true;
                        }
                    });
                    currentModel = gltf.scene;
                    scene.add(gltf.scene);
                });
            }
            catch(error) {
                alert("Your file " + Load.filename + " was not parsed correctly." + "\n\n" + "ERROR MESSAGE : " + error.message);
            }
        }
        reader.readAsArrayBuffer(file);
    }