在 THREE.js 中使用网络工作者

Ale*_*ein 5 javascript json web-worker three.js

我有一个更大的模型来冻结我的场景。因为我从一开始就不需要这个模型,所以在后台加载这个模型会很酷。网络工作者是解决这个问题的方法吗?

任何人都可以指导我如何完成它,或者有可能吗?

谢谢。

var scene = new THREE.Scene();
var camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000);

var renderer = new THREE.WebGLRenderer();
renderer.setSize(window.innerWidth, window.innerHeight);
document.body.appendChild(renderer.domElement);

var loader = new THREE.JSONLoader();
loader.load("models.js", function (smooth) {
    smooth.mergeVertices();
    smooth.computeFaceNormals();
    smooth.computeVertexNormals();
    var modifier = new THREE.SubdivisionModifier(1);
    modifier.modify(smooth);
    var mesh = new THREE.Mesh(smoothnew THREE.MeshBasicMaterial({
        color: 0x00ff00
    }));
    scene.add(mesh);
});

var render = function () {
    requestAnimationFrame(render);
    renderer.render(scene, camera);
};

render();
Run Code Online (Sandbox Code Playgroud)

Sag*_*agi -2

Workers 不适合需要 DOM 操作的解决方案