Neuling in 3D-Welt. Es wird versucht, Partikel so darzustellen, wie sie erstellt wurden, damit diese 2000 Partikel so gerendert werden, wie sie erstellt wurden. Aber von unten Code rendert es nur einmal alle Partikel erstellt werden.Inkrementelles Rendering von Particals in THREE.js
Ausprobiert paar Variationen, aber kein Glück. Jede Hilfe wird geschätzt.
<script>
var scene = new THREE.Scene();
var camera = new THREE.PerspectiveCamera(75, window.innerWidth/window.innerHeight, 0.1, 1000);
camera.position.z = 255;
var renderer = new THREE.WebGLRenderer();
renderer.setSize(window.innerWidth, window.innerHeight);
document.body.appendChild(renderer.domElement);
var particles = new THREE.Geometry;
for (var p = 0; p < 2000; p++) {
var particle = new THREE.Vector3(Math.random() * 500 - 250, Math.random() * 500 - 250, Math.random() * 500 - 250);
particles.vertices.push(particle);
}
var particleMaterial = new THREE.ParticleBasicMaterial({ color: 0xeeeeee, size: 2 });
var particleSystem = new THREE.ParticleSystem(particles, particleMaterial);
scene.add(particleSystem);
function render() {
requestAnimationFrame(render);
particleSystem.rotation.y += 0.01;
renderer.render(scene, camera);
}
render();
</script>
?? Sie scheinen die Schleife auszuführen, die die Partikel hinzufügt, bevor die Geometrie der Szene hinzugefügt und die Renderfunktion aufgerufen wird. Selbst wenn Sie die Geometrie vor der Schleife hinzufügen und das Rendern beim Hinzufügen jedes Partikels aufrufen, geschieht dies so schnell, dass alle Partikel gleichzeitig zur gleichen Zeit hinzugefügt werden. – 2pha
Gibt es irgendeine Schlafart? –
[setInterval()] (http://www.w3schools.com/jsref/met_win_setinterval.asp) oder [setTimeout()] (http://www.w3schools.com/jsref/met_win_settimeout.asp) – 2pha