/cefet-games-cauldron

Um caldeirão para se fazer poções mágicas incríveis.

Primary LanguageJava

cefet-games-cauldron

Um caldeirão para se fazer poções mágicas incríveis.

Composição da Cena

A cena é composta por dois modelos 3D chamados fogueira.obj e caldeirao.obj. Uma fonte de luz foi colocada na cena e também foi configurada a luz ambiente com intensidade de 40%.

A cena final com o caldeirão, a fogueira e os efeitos de partículas

Deve haver dois efeitos de partículas na cena, sendo um para o fogo sob o caldeirão e o outro para as borbolhas da sopa.

Exercício

Ao fazer seu fork, clonar e executar a aplicação, a fogueira e o efeito de partículas do fogo (fogo.pfx) já estão funcionando, mas o das borbolhas (bolhas.pfx) não.

Este exercício é composto por 3 etapas:

  1. Integrar o efeito de borbolha (que já está pronto, no arquivo bolhas.pfx) da sopa na aplicação
  2. Estilizar o efeito do fogo para criar a poção mágica que você precisa:
  • Poção do amor: fogo vermelho, com movimentação selvagem, traz a pessoa amada em 5 dias
  • Poção da realeza: fogo amarelado, intensidade alta mas pouco movimento, torna-o rico no mesmo ano
  • Poção da nota alta em jogos: fogo esverdeado, movimentando-se em espiral, faz tirar nota bacana na melhor matéria do curso
  • Poção da moléstia: fogo acinzentado escuro, super intenso e movimentando apenas verticalmente, acomete a pessoa alvo com um resfriado leve
  • Poção da criatividade: de acordo com o alunoquimista
  1. Estilizar a borbolha (quantidade de bolhas, frequência de surgimento, cor) e a sopa (textura caldeirao-sopa.jpg) com a cor da poção sendo criada
  • Só não vale a poção "de chocolate" padrão

Editor Flame

Tela do editor de partículas 3D da LibGDX chamado Flame

O Flame é o editor de efeitos de partículas 3D da LibGDX. Para executá-lo, siga as instruções no FAQ.

A LibGDX possui os seguintes conceitos:

  • Sistema de partículas: classe ParticleSystem, é um objeto único responsável pelo gerenciamento de todos os efeitos de partículas. Ele é instanciado apenas 1x por cena e é ele quem é atualizado e renderizado.

  • Efeito de partículas: classe ParticleEffect, representa um efeito de partícula em específico. Pode ser posicionado (rotacionado e escalado também) e é adicionado ao sistema de partículas:

    sistemaParticulas.add(efeitoDeFogo);
    • O efeito de partículas é descrito em um arquivo com extensão .pfx (particle effects). Esse arquivo contendo esse efeito pode ser criado usando o editor Flame.
  • Renderizador de partículas: classes BillboardParticleBatch, PointSpriteParticleBatch e outras. Existem pelo menos 3 tipos de partículas: sprites simples, billboards e modelos tridimensionais. Cada tipo possui um objeto renderizador e, para nosso exercício, estamos usando (já estão instanciados e configurados) um renderizador de sprites e outro de billboards.

FAQ

  1. Como posso visualizar e criar um efeito de partícula?
  • Na página de ferramentas da LibGDX há um link para o editor de partículas 3D. Baixe-o.
  • Findo o download:
    • no Windows basta executar o arquivo .jar

    • no Linux, defina o arquivo .jar como executável e então execute-o pela interface gráfica ou pela linha de comando:

      chmod +x runnable-3D-particles.jar
      java -jar runnable-3D-particles.jar
      
  1. Como instancio efeitos de partículas dentro do jogo?