2

BinaryLoader (最大 6MB) を使用して非常に大きな 3d モデルを読み込んでおり、進捗情報を表示したいと考えています。

loader.showStatus の使用はすでに最初のステップでした (モデルの読み込み中にアプリに「読み込み中」と表示されるようになりました) が、モデルのどの割合が既に読み込まれているかを表示したいと思います。

BinaryLoader のコードを読むと、「showProgress」フラグが見つかりましたが、それを true に設定すると、次のような複数のエラーが発生します。

キャッチされないエラー: InvalidStateError: DOM Exception 11 xhr.onreadystatechange

BinaryLoader.js:99 の行で、以下に対応します。

callbackProgress( { 合計: 長さ、ロード: xhr.responseText.length } );

loader.onLoadProgress も設定してみましたが、やり方がわかりませんでした...

前もって感謝します!

4

1 に答える 1

2

3年後、私はあなたと同じ問題に遭遇しました。これが私の解決策です:

var onLoadComplete= function (geometry) {
    model = new THREE.Mesh(geometry, material);
    scene.add(model);
    //etc
};

var onLoadProgress = function (e) {
    var percentage = Math.round((e.loaded / e.total * 100));
    jQuery('#some-loader-div').html('Loading ' + percentage + '%')
};

loader.load(file_url, onLoadComplete, onLoadProgress);

参照: http://Definitivelytyped.org/docs/threejs--three/classes/three.jsonloader.html#onloadprogress

これが誰かを助けることを願っています!

于 2016-12-14T17:31:13.757 に答える