2012-06-26 20 views
5

Estoy luchando con una visualización en la que estoy trabajando que implica una secuencia de imágenes repetidas. Lo tengo trabajando con un solo sprite con un ParticleSystem, pero solo puedo aplicar un solo material al sistema. Como quiero elegir entre texturas intenté crear un conjunto de objetos de Partículas para poder elegir los materiales individualmente, pero no puedo obtener una Partícula individual para mostrar con el renderizador WebGL.Partículas vs ParticleSystem en three.js

Esta es mi primera incursión en WebGL/Three.js, así que probablemente estoy haciendo algo con la cabeza hueca, pero pensé que valdría la pena preguntar cuál es la forma correcta de hacerlo. Estoy viendo tres posibilidades:

  • Estoy usando partícula incorrecta (inicializando con un material mapeado, agregando a la escena, posición de ajuste) y tengo que arreglar lo que estoy haciendo.
  • Necesito un sistema de partículas para cada sprite que quiero mostrar.
  • Lo que estoy haciendo no encaja en las partículas en absoluto y realmente debería usar otro tipo de objeto.

Todos los ejemplos que veo usando el renderizador de lienzo uso partícula directamente, pero no puedo encontrar un ejemplo utilizando el renderizador WebGL que no utiliza ParticleSystem. ¿Algún consejo?

Respuesta

4

Ok, voy por lo que he leído en otro lugar en este github issues page. Deberías comenzar leyéndolo. Parece que la partícula es simplemente para el Renderizador de lienzo, y se convertirá en Sprite en una nueva edición de Three.JS. ParticleSystem, sin embargo, no va a satisfacer sus necesidades, parece. No creo que estas clases te ayuden a lograr esto en WebGL en 3D. Dependiendo de lo que esté haciendo, podría estar mejor con CanvasRenderer de todos modos. ParticleSystem solo le permitirá aplicar un solo material que servirá como material para cada partícula en el sistema como sugirió.

+1

Gracias, @Cory. ¡Esa es exactamente la información que estaba buscando! – zenmoto

1

Respuesta corta: Puede representar THREE.Particle usando solamente.