Pixi.js: Muchos contenedores de partículas en pantalla crean una explosión psicodélica impresionante

Creado en 5 ago. 2018  ·  3Comentarios  ·  Fuente: pixijs/pixi.js

Comportamiento esperado

Estoy trabajando en un juego en el que cuando 2 objetos se encuentran, 1 absorbe al otro y creo un efecto de absorción usando un contenedor de partículas y algunos sprites. Sin embargo, si tengo demasiados de estos efectos en la pantalla a la vez, se crea una explosión psicodélica infinita, que es algo asombroso, pero no es realmente lo que estaba buscando. Sin embargo, si cambio de un contenedor de partículas a un contenedor normal, el problema desaparece. Además, el problema solo ocurre si hay una tonelada de contenedores de partículas en pantalla a la vez. Si hay menos, no sucede.

Actualización: en realidad, todavía sucede con el contenedor pixi normal cuando el juego se ejecuta en un navegador móvil, así que ¿tal vez un problema de límite de memoria?

Aquí está mi jerarquía de vista para cada efecto:

PIXI.Container // Effect main container. Gets scaled/positioned
    PIXI.Sprite // This is an overall glow
    PIXI.particles.ParticleContainer // This is the streaks effect
        PIXI.Sprite[] // Individual streak of light. Gets rotated and alpha'ed

Aquí hay un gif de cómo se supone que debe verse:
regularcontainer

Y aquí está uno de los problemas:
particlecontainerexplosion

  • pixi.js versión: _e.g. 4.8.1
  • Navegador: _e.g. Cromo 67.0.3396.99
  • Dispositivo: _ p. Ej. Escritorio_OS_X

Comentario más útil

Así que resulta que en realidad soy tonto con esto. Después de perseguir algunas pistas falsas, descubrí que el parámetro de intensidad de mis efectos estaba incorrectamente vinculado a la velocidad de fotogramas en un esfuerzo por hacer que se desvanecieran más rápido si el juego estaba retrasado. Sin embargo, mis matemáticas estaban equivocadas y en realidad las hizo aumentar en intensidad, lo que retrasó aún más el juego, iniciando un círculo vicioso. Por cierto, descubrí que, en mi caso de uso, los contenedores regulares son aparentemente un poco más eficaces que los contenedores de partículas.

Todos 3 comentarios

¡Esto no es ningún error, esta es una característica!

Así que resulta que en realidad soy tonto con esto. Después de perseguir algunas pistas falsas, descubrí que el parámetro de intensidad de mis efectos estaba incorrectamente vinculado a la velocidad de fotogramas en un esfuerzo por hacer que se desvanecieran más rápido si el juego estaba retrasado. Sin embargo, mis matemáticas estaban equivocadas y en realidad las hizo aumentar en intensidad, lo que retrasó aún más el juego, iniciando un círculo vicioso. Por cierto, descubrí que, en mi caso de uso, los contenedores regulares son aparentemente un poco más eficaces que los contenedores de partículas.

Este hilo se ha bloqueado automáticamente ya que no ha habido ninguna actividad reciente después de que se cerró. Abra un nuevo problema para errores relacionados.

¿Fue útil esta página
0 / 5 - 0 calificaciones

Temas relacionados

softshape picture softshape  ·  3Comentarios

Makio64 picture Makio64  ·  3Comentarios

gigamesh picture gigamesh  ·  3Comentarios

lucap86 picture lucap86  ·  3Comentarios

madroneropaulo picture madroneropaulo  ·  3Comentarios