[PloobsEngine] Tutorial 8 – Usando Modelos animados na PloobsEngine


A ploobs engine utiliza uma versão bastante customizada da API XnaAnimation como importer e renderizador de modelos animados. Por permitir um bom. Nesse post vou mostrar todo o pipeline de animacao usado na PloobsEngine, desde o 3Ds Max até o Visual Studio, (não vou falar de rigging, de como criar a animação ou de modelagem), focarei no processo de configuracão e utilização dos modelos.

Setando o modelo

Para ter certeza que seu modelo funcionará não só na PloobsEngine mas também em outras aplicações, é garantir que a matriz de transformação local não influenciará em nada quando colocá-lo em cena, isso significa colocar a posição relativa do modelo em (0,0,0) e zerar as transformações de escala e a matriz transform. Após selecionar o modelo, na aba hierarquia

Caso esteja usando a PloobsEngine e pense em usar um character é importante setar o pivot do modelo para a extremidade inferior.

Colocando os bones

Todas as animações utilizadas devem ser do tipo bone animation o que pressupõe que deve haver um bone anexado em todo o seu modelo. É preciso tomar cuidado para que não exista vertice algum sem ser coberto pelo campo de atuação de algum bone.

Note que nessa imagem existem tons de azul, amarelo e vermelho. Assim como em um mapa de calor a temperatura de cor que cada vértice tem representa o quão forte esse bone influencia no vértice. É crucial que não exista vértice algum sem pelo menos um tom de azul claro. Neste exemplo estou usando o modificador Skin, mas o Biped também pode ser utilizado

Configurando o KWExport

A tarefa de determinar quais frame representam qual animation set

Marque os items Export Skining para que o Modificador Skin ou o Biped seja exportado.

Na aba direita Animation é onde serão cadastrados os intervalos das animações.

 

Configurando no Visual Studio

Após adicionar o arquivo .x no seu projeto modifique as propriedades do arquivo para utilizar o Content Processor certo e setar algumas propriedades

 

Criando o Objeto na PloobsEngine

A última etapa é criar o objeto que vai comportar o modelo animado

///Carrega o Modelo
AnimatedModel am = new AnimatedModel(factory, "..\\Content\\Model\\PlayerMarine", "..\\Content\\Textures\\PlayerMarineDiffuse");
///Inicializa o Controlador (Idle eh o nome da animacao inicial)
AnimatedController arobo = new AnimatedController(am, "Run");
arobo.isLoop = true;
///Cria o shader e o material animados
DeferredSimpleAnimationShader sas = new DeferredSimpleAnimationShader(arobo);
DeferredAnimatedMaterial amat = new DeferredAnimatedMaterial(arobo, sas);

As linhas acimas apenas carregam o modelo AnimatedModel (ao inves do SimpleModel usado normalmente para modelos não animados, em seguida criamos um AnimationController reponsavel por “tocar” as animacões) e finalmente criamos o material (animado) passando como parametro um dos shaders de animacão (este nao usa Bump, Specular ou Glow).

O código acima pode ser encontrado no pacote Advanced Demos que esta no nosso repositorio http://code.google.com/p/port-ploobsengine/.

Futuramente teremos outro tutorial focado exclusivamente na parte PloobEngine do processo de animacão (falaremos de assuntos como “ativar animacão” entre outros =P).
Até o próximo Tutorial =P

, , , , , ,

  1. #1 by i darueber nachgedacht on 28 de maio de 2017 - 9:53 am

    Oliver SMOF Beiträge: Registriert: 18.

  2. #2 by shop online for clothes on 28 de maio de 2017 - 10:09 am

    {Don’t get me incorrect, we aren’t heading hungry, but things are not great at the second.

1 422 423 424
(não será publicado)