Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fade in/out attivo di default al cambio di scena #23

Open
francescocretti opened this issue Apr 28, 2019 · 5 comments
Open

Fade in/out attivo di default al cambio di scena #23

francescocretti opened this issue Apr 28, 2019 · 5 comments
Assignees
Labels
enhancement Da migliorare, o nuove idee... graphic engine Legato al video, alle scene, allo stage...

Comments

@francescocretti
Copy link
Member

Implementare di default (se non è troppo dispendioso computazionalmente) il cross fade fra le particelle al cambio di scena.

Vedi scena ScenePlotter e Spirals

@francescocretti francescocretti added enhancement Da migliorare, o nuove idee... graphic engine Legato al video, alle scene, allo stage... labels Apr 28, 2019
@francescocretti
Copy link
Member Author

francescocretti commented May 10, 2019

Probabilmente questo snippet preso da class_particle_SpiralParticle, metodo update() fa quello di cui abbiamo bisogno @Screeen!

if (getSceneChanged() && !isDestroying()) {
  assertDestroying();
  setLifeTimeLeft(9000);
}

if (isDestroying()) {
  for (int i = 0; i < count; i++) {
    if (alphaArray[i] > 0)
      alphaArray[i] -= ALPHA_DECREMENT;
  }
}

E anche questo:

setPersistence(true);

@francescocretti
Copy link
Member Author

francescocretti commented May 10, 2019

Infatti anche in particle_plotterGenerator c'è la stessa cosa, sempre nel metodo update().

  if (getSceneChanged() && !this.isDestroying()) {
   assertDestroying();
   setLifeTimeLeft(200);
  }

  if (this.isDestroying()) {
   lineAlphaWeight -= 1.0 / 50.0;
  }

A questo punto o lo implementiamo direttamente nella classe padre Particle, magari rendendolo opzionale (con un metodo per disabilitarlo) per tenere sotto controllo le prestazioni, oppure lo buttiamo semplicemente nelle scene che ci servono per ora.
Dimmi che ne pensi @Screeen

@Screeen
Copy link
Member

Screeen commented May 13, 2019

Penso che implementarlo in particle sia la cosa più sensata.

@francescocretti
Copy link
Member Author

Yes ci sta. Io ho provato ma ho avuto un p' di problemi.
Con scene con molte particelle (ad esempio NoiseDots) crashava.
Magari bisogna trovare un modo per implementarlo nella scena direttamente, o magari stavo facendo qualche cazzata.
Fammi sapere se hai più successo di me!

@Screeen
Copy link
Member

Screeen commented May 14, 2019

Quando si passa da una scena A a una scena B, i metodi A.update() e A.trace() della scena A non vengono più chiamati. Quindi l'unico modo per avere fade graduali tra scene è implementando e lanciando tutti i calcoli all'interno delle particelle (come in PlotterGenerator).

Ergo, un sacco di codice da riscrivere, però si può fare.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement Da migliorare, o nuove idee... graphic engine Legato al video, alle scene, allo stage...
Projects
None yet
Development

No branches or pull requests

2 participants