如何解决错误“ THREE.GLTFLoader:无法加载缓冲区“ scene.bin”。”?

时间:2019-08-11 21:19:02

标签: javascript

enter image description here我正在看youtube上的一个教程,并按照它进行操作,但是我偶然发现自己可以帮助任何人

let scene, camera, renderer;
    function init() {
        scene = new THREE.Scene();
        scene.background = new THREE.Color(0xdddddd);
        camera = new THREE.PerspectiveCamera(40, Window.innerWidth / window.innerHeight, 1, 5000);
        camera.rotation.y = 45 / 180 * Math.PI;
        camera.position.x = 800;
        camera.position.y = 100;
        camera.position.z = 1000;
        hlight = new THREE.AmbientLight(0x404040, 100);
        scene.add(hlight);
        renderer = new THREE.WebGLRenderer({ antialias: true });
        renderer.setSize(window.innerWidth, window.innerHeight);
        document.body.appendChild(renderer.domElement);
        let loader = new THREE.GLTFLoader();
        loader.load('scene.gltf', function (gltf) {
            car = gltf.scene.children[0];
            car.scale.set(0.5, 0.5, 0.5);
            scene.add(gltf.scene);
            renderer.render(scene, camera);
        });
    }
    init();

2 个答案:

答案 0 :(得分:0)

检查是否或如何加载GLTFLoader.js文件。请参见this-页面末尾有一个指向GLTFLoader.js的链接,也可以添加为<script src="https://cdn.rawgit.com/mrdoob/three.js/r92/examples/js/loaders/GLTFLoader.js"></script>

答案 1 :(得分:0)

几天前我遇到了这个问题,这就是问题的根源:

我的scene.gltf文件和scene.bin文件位于不同的子文件夹中,但是当您提供gltf对象的路径时,GLTFLoader希望scene.bin文件位于同一目录中。

解决这个问题应该很容易:只需将两个文件放在同一目录中, 一切都会顺利进行。

希望这会有所帮助!