Po raz pierwszy używam three.js i robię bardzo prostą animację cząstek, w której mapuję 4 różne tekstury. Do tej pory wszystko działa zgodnie z oczekiwaniami, z tym wyjątkiem, że nie mogę wymyślić, jak obracać cząstki, aby były renderowane z losową orientacją (do góry nogami, na boki itp.). Każda pomoc byłaby doceniona!Zastosuj orientację 2D do cząstek - three.js
Można zobaczyć moje postępy dotychczas tutaj: http://development.shapes.divshot.io/particles.html
i tutaj jest odpowiedni kod:
sprite1 = THREE.ImageUtils.loadTexture("sprite1.png");
sprite2 = THREE.ImageUtils.loadTexture("sprite2.png");
sprite3 = THREE.ImageUtils.loadTexture("sprite3.png");
sprite4 = THREE.ImageUtils.loadTexture("sprite4.png");
parameters = [ sprite1, sprite2, sprite3, sprite4];
for (i = 0; i < parameters.length; i ++) {
sprite = parameters[i];
materials[i] = new THREE.PointCloudMaterial({ size: 45, map: sprite, depthTest: false, transparent : true});
particles = new THREE.PointCloud(geometry, materials[i]);
particles.rotation.x = Math.random() * 60;
particles.rotation.y = Math.random() * 60;
particles.rotation.z = Math.random() * 60;
scene.add(particles);
}
Korzystanie Three.js R71
Co chcesz zrobić, to absolutnie wykonalne za pomocą podejścia (1) w zaakceptowanej odpowiedzi. Wymagałoby to użycia 'ShaderMaterial'. Twoje zdjęcia tekstur musiałyby być wyśrodkowane i umieszczone wewnątrz dysku - z przezroczystym tłem. W ten sposób nie byłoby żadnych artefaktów podczas obracania współrzędnych uv w module cieniującym fragmentu. – WestLangley