Как создать частицСистему с версией 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
работает как надо.
Я вижу свою ошибку. Я должен был вернуть частицю вместо частицы.