Как создать частицСистему с версией 73 из трех js?

var particle = function(parentVoxel){

   var particleMesh;
   var particleGeometry;
   var particleMaterial;

   var particleSpeed;
   var particleVelocity;
   var particleLife;


   function createParticle(){

     particleGeometry = new THREE.Geometry();

     var aParticlePosition = new THREE.Vector3();
        aParticlePosition.x = parentVoxel.position.x; //10 * Math.random() - 5;
        aParticlePosition.y = parentVoxel.position.y; //10 * Math.random() - 5;
        aParticlePosition.z = parentVoxel.position.z; //10 * Math.random() - 5;


      particleGeometry.vertices.push(aParticlePosition);
      particleGeometry.verticesNeedUpdate = true;

      particleMaterial = new THREE.PointCloudMaterial({
                                                color: 0x0F0FFF,
                                                size: 0.1
                                                //blending: THREE.AdditiveBlending,
                                                //transparent: true
                                                });



      particleMesh = new THREE.Points( particleGeometry, particleMaterial );

}

createParticle();

return particle;

}

Это то, что у меня есть для моей частицы js, и я возвращаю частицу и пытаюсь добавить ее в коробку. Но box является экземпляром Object3D, а частица - нет. Как я могу создать частицу, которая является экземпляром object3D.

2 ответа

Решение

Я попытался воспроизвести вашу проблему с помощью этого примера кода, но у нее не было проблем.

Не могли бы вы поделиться точным сообщением об ошибке?

Кроме того, если посмотреть на источники Three.js, то становится ясно, что Three.Points определенно наследуется от Three.Object3D, поэтому:

console.log(pointCloud instanceof THREE.Object3D) // true

работает как надо.

Я вижу свою ошибку. Я должен был вернуть частицю вместо частицы.

Другие вопросы по тегам