janeiro de 2022 a março de 2022
- DIANA DAVID
- 12 de jul. de 2024
- 4 min de leitura
Mais do que uma pessoa a trabalhar ao mesmo tempo no mesmo projecto:
Para trabalhar em conjunto com o outro elemento da equipa estamos a utilizar o sistema Collaborate do Unity.
Primeiro, foi necessário criar uma organização em Unity ID projeto e adicionou-se o 2º membro que inicialmente entra como GUEST, mas é possível editar e torná-lo MANAGER para poder editar. Depois é preciso criar um projeto na cloud do Unity. E no Unity é preciso ativar a janela do Collaborate e linkar o projeto com o ID do projeto que se criou online.
Criação de um servidor para "Noises":
Foi feita a criação de um servidor funcionar que interligue as duas histórias.
E foram feitos mais testes de importação de animações.
Sentiu-se a necessidade de procurar mais informação sobre como fazer efeitos especiais para aplicar no menu inicial quando se selecionam as personagens.
Problemas técnicos:
- Pensava-se ter resolvido o problema das Blendshapes (link) , mas elas não estão a reagir bem quando importadas para o Unity, por isso optou-se por se fazer uns controladores para a cara para substituição da tecnica das blendshapes.
Importar animações do Blender para o Unity:
Para colocar a animação a funcionar dentro do Unity deve-se importar o .fbx para a pasta de projecto. Este .fbx deve ter pelo menos 1 animação já incluída.Depois, deve-se duplicar o ficheiro de animação que vem dentro do .fbx para se poder ter controlo das suas propriedades, e ativar o Loop, se necessário. Se se quiser adicionar mais animações, basta importante novamente o .fbx, duplicar as actions e apagar o .fbx, pois só vamos aproveitar as actions.
Uma vez resolvido o problema, importaram-se os os modelos.
Com os modelos na hierarquia da cena selecionou-se a opção APPLY ROOT MOTION (no componente Animator da personagem) para que os pés das personagens não ficassem a flutuar no ar.
Para se controlar os vários clips de actions criou-se uma Timeline.
ACTIONS - BLENDER
A animação das personagens é feita no Blender, por se dominar melhor esta ferramenta e se conhecer de fio a pavio à sua estrutura de funcionamento. Assim é possível adaptar e aproveitar-se animações de bancos de dados para acelerar a produção, algo que não seria possível com a mesma facilidade se fosse feito diretamente no motor de jogo Unity.
Para se exportar estas animações são criadas Actions.
Há vários modos de se exportarem Actions:
1 - Criar uma Action, animar e exportar. A desvantagem é que apenas se pode aplicar uma Action de cada vez que se anima uma personagem. Se se tiver 2 Actions, ou mais, estas não serão exportadas.
2 - Criar uma ou mais faixas NLA (Non Linear Animation), no Blender. Aqui as animação são passadas para faixas num editor de trechos de animação (Action Editor). A desvantagem é que o editor pode tornar-se confuso quando houver demasiadas faixas de animação.
3 - Aplicar um Fake User para cada Action de modo a não se perder a informação sempre que se fecha e abre a cena.
Neste projeto, depois de vários testes, achou-se mais vantajoso optar-se pelo método 3.
A exportação do .fbx do Blender para o Unity:
Colocar todas as animações com um FAKE USER para garantir que ficam guardadas no ficheiro Blender;
Adicionar todas as actions ao NLA editor (depois pode-se apagar, mas esta ação é necessária por alguma razão);
Selecionar o Rig + a Geometria (garantir que a geometria tem o Apply All Transforms CTRL+A) --> Export --> FBX;
Selecionar os parâmetros conforme as imagens:
Nota: há um bug que faz com que nem sempre se consiga exportar todas as actions. A solução para este problema está em duplicar a action, sempre que se precisar de exportar.
Blender 3.3.1 Bug: Devido a um bug que se estava a enocntrar na versão do Blender 2.9, fez-se um upgrade para a versão mais recente até à data (3.3.1.). Esta nova versão não exporta as actions em condições e por isso não é possível usar o .fbx no Unity.
Foi preciso reverter-se para a versão 3.0 que evitava o bug do UI (presente na versão 2.9) e não tinha o bug da versão 3.3.1.
Importação e ativação das ACTIONS no Unity
MÉTODO da TIMELINE (utilizado em "NOISES"):
Importar o .fbx para a pasta do projecto.
Arrastar o .fbx para a hierarquia da cena.
Na pasta do projecto criar uma Timeline e dar-lhe um nome (TesteA)
Adicionar um component PLAYABLE DIRECTOR e adicionar essa timeline que se criou;
Adicionar um component ANIMATOR e deixar tudo como default (isto é preciso para a timeline funcionar);
Arrastar o animation clip da pasta de projeto (dentro do .fbx) para a janela da timeline;
Arrastar o objecto animado, que está na hierarquia da cena para o campo do nome do clip correspondente na timeline;
Importação e ativação das ACTIONS no Unity
MÉTODO dos ESTADOS
Importar o .fbx para a pasta do projecto.
Arrastar o .fbx para a hierarquia da cena.
Na pasta do projecto criar um Animation Controler (animctrlA)
Adicionar um component ANIMATOR e adicionar o controlador que se criou.
Na janela Animator arrastar lá para dentro a action que se quer e ligar os nodes.
Animation marked as Legacy
Por vezes, quando se extrai a action do .fbx, dentro da pasta de projecto do Unity, aparece um aviso/erro em que não se pode usar este tipo de animation clips porque estão marcados como Legacy.
Para solucionar este problema, deve-se:
Selecionar a action na pasta de projectos e carregar nos 3 pontinhos por cima do Inspector;
Clicar na opção Debug;
Desativar o quadradinho de Legacy.
Extra: Alterar a frame rate: propriedades da janela da timeline --> Frame Rate

















Comentários