CGI em casa com o Unreal Engine e o iPhone

Olá a todos! Meu nome é Vasily Mazalov, trabalho como editor de vídeo sênior na Pixonic. Nosso departamento está criando peças criativas em vídeo para marketing e comunidade: vídeos para páginas em páginas, analise vídeos sobre inovações em jogos e outros conteúdos.

Quando não crio criatividade, monitoro a Internet em busca de novos formatos e maneiras de apresentar material para tornar nosso próprio conteúdo mais diversificado, interessante e atraente para novos players.

Há um ano, me deparei com o seguinte vídeo:

Assista o vídeo


O que vemos aqui? O cara vestiu um traje para capturar o movimento do corpo (até agora nada de anormal), pendurou um iPhone na frente dele (mas isso é interessante) e, assim, transmite a animação do rosto e do corpo do personagem diretamente em tempo real no Unreal Engine, e o resultado procura uma implementação tão simples qualidade bastante alta.

Idéia legal, pensei. Então fechou o vídeo. E ele continuou a trabalhar mais.

Seis meses depois, o material de treinamento sobre como capturar animação facial no Unreal Engine usando um aplicativo no iPhone acabou sendo de domínio público. Ao mesmo tempo, descobri que um terno para capturar movimento foi comprado em nosso departamento de arte. Olhou para a sua compatibilidade com a UE: tudo correu bem. Faltava encontrar um iPhone para mais trabalhos, mas hoje em dia ainda há menos problemas com isso.

Assista o vídeo


Havia muitas perguntas. Diante de mim havia um campo inculto de animação inexplorada, o Unreal Engine, a modelagem do rosto e do corpo humanos e outras coisas completamente distantes da edição de vídeo, mas, ao mesmo tempo, um grande desejo de realizar o que se pretendia.

O longo processo de estudo de várias documentações já começou.

O que aconteceu como resultado e como o alcançamos, continue lendo.


Animação de rosto


Para concretizar nossa idéia, não era lucrativo usar e esculpir o personagem do zero: levaria muito tempo e exigiria melhorias complexas e, na maioria das vezes, injustificadas. Portanto, decidimos usar o DAZ Studio: os ossos faciais foram originalmente colocados lá, permitindo criar rapidamente as contrações e emoções faciais necessárias, nas quais o escultor passaria muito mais tempo. Sim, os modelos criados no DAZ estão longe de serem uma imagem fotorrealista, mas eram ideais para nossos objetivos.

Para gravar animações faciais, precisávamos apenas de um iPhone com a câmera frontal TrueDepth - ou seja, do iPhone X e superior. Foi essa tecnologia que leu a topologia da face e transferiu os valores necessários na Unreal já para o nosso modelo.



As formas de mesclagem são responsáveis ​​por diferentes expressões faciais - modelos 3D da mesma topologia, ou seja, com o mesmo número de vértices, mas com formas diferentes. O Face AR usa 51 misturas e, graças à documentação detalhada da Apple que descreve quais misturas específicas são usadas no DAZ, conseguimos produzi-las com rapidez suficiente.

O conjunto de emoções e misturas em um modelo 3D é mais ou menos assim:


Misture formas da Internet


Nossas misturas

Então, primeiro obtemos nossa face do Unreal Engine para testes, depois construímos o aplicativo e voltamos à Unreal para obter o resultado.




Animação corporal


Para criar um corpo, era necessário levar em consideração as especificidades do software para trabalhar com um terno. Trabalhamos com o traje de captura de movimento Perception Neuron 2.0 Motion Capture System da Noitom. Custa cerca de 2500 dólares. Este é o traje mais barato do mercado e não o melhor representante entre os análogos: é muito sensível à radiação eletromagnética, que faz com que as coordenadas dos sensores se movam se estiver dentro do raio da radiação ativa e será ainda mais difícil limpar a animação. Felizmente, acabamos de nos mudar para outro andar e, em um novo local, estava bastante deserto, o que significa que a radiação eletromagnética foi reduzida ao mínimo - ou seja, era ideal para nós.



Por que um terno? Animações prontas de várias bibliotecas não nos convinham, porque nosso personagem deveria ter um caráter e um comportamento únicos, e o rosto e o corpo deveriam refleti-los com precisão. Se fizemos a animação do zero, levaria um mês ou até dois. Usando equipamentos de captura de movimento economizados desta vez.

Ao contrário do rosto, os próprios artistas pintaram o modelo do corpo a partir do zero. Então foi necessário fazê-la aparar e esfolar em Maya. Depois de montar o corpo, iniciamos no Unreal, lá coletamos tudo para o mocap, gravamos a animação, após o qual o resultado resta apenas para amassar.



Para que a animação fosse transmitida com precisão, as melhorias eram mínimas ou evitavam-nas, e para transmitir a animação do traje diretamente para o Unreal Engine, era necessário ajustar corretamente os ossos e remover valores desnecessários do nosso modelo. A Noitom possui um modelo 3D bruto para o Unreal Engine, usando o qual, como referência, precisamos refinar nosso próprio modelo: colocá-lo na posição T, colocar palmas e dedos em posições de modelagem não padrão e redefinir todos os valores para zero. Era muito importante que todos os ossos estivessem sem curvas desnecessárias; caso contrário, o programa os multiplicará, distorcendo bastante o movimento.

No total, foram necessárias cerca de duas horas para calibrar o traje e gravar os primeiros vídeos. Definimos as configurações no Unreal Engine, gravamos a animação do corpo com todas as pausas necessárias de acordo com o script, depois registramos a animação do rosto de acordo com os movimentos do corpo e o mesmo script e obtivemos o resultado, que você verá na ilustração a seguir.


Após a gravação, a animação precisava ser aprimorada, portanto, definimos ao animador a tarefa de limpá-la. Ele levou três dias para limpar dois minutos de animação.


Depois, levamos cerca de três semanas para a versão final e, se excluirmos o refinamento de certos fatores, tanto no modelo de face quanto no corpo, esse período poderá ser reduzido em mais uma semana.


Porque usamos isso?


Vamos fazer uma pausa no processo de CGI e falar sobre quais eram os objetivos do projeto.

Naquele momento, quando mergulhei neste tópico e coletei as informações necessárias para o trabalho, os pilotos apareceram em nosso jogo.

Geralmente, quando um novo conteúdo é lançado, uma voz fora da tela fala sobre isso, ou os próprios desenvolvedores, ou as informações simplesmente chegam de alguma forma durante o jogo. Agora temos a oportunidade de criar um personagem, prepará-lo adequadamente, reunir a partir de ativos de alta qualidade os locais em que ele estará localizado e, através desse herói, comunicar-se com os jogadores: de histórias e vídeos de revisão a transmissões ao vivo.

Pela primeira vez em um jogo sobre robôs, personagens ao vivo apareceram e, depois deles, histórias que eles podem contar sobre si mesmos e o mundo. E eu pensei que seria legal se fosse possível coletar cinemáticas de jogabilidade com personagens que mergulhariam os jogadores no mundo dos jogos tão rápido quanto fazemos vídeos no mecanismo.



Juntamente com o departamento comunitário, começamos a criar uma imagem do personagem, como ele poderia ser e qual seria sua história. Nosso gerente sênior da comunidade escreveu o script, que desenvolvemos posteriormente em termos de economia de tempo e simplificação da produção.


Neste vídeo, você vê quase todos os testes que fizemos com animação facial e animação corporal. Como possuem especificações diferentes, eles tiveram que ser testados por sua vez e apenas misturados no final. Para testes de animação corporal, um modelo de traje foi retirado do trailer CGI para o novo lançamento:


Bem, agora vamos mostrar o que conseguimos como resultado:



Total


Tendo um traje de captura de movimento, iPhone, modelo 3D e Unreal Marketplace com uma enorme seleção de ativos de qualidade gratuitos, podemos coletar histórias interessantes para nossos jogadores em apenas algumas semanas. Também adquirimos experiência e entendimento de como criar rapidamente um novo personagem e, no estágio de sua criação, levamos em conta todos os recursos da produção para alcançar o melhor resultado em um curto espaço de tempo.

Por que não pretendemos alcançar a qualidade de cinemáticas legais como a Blizzard? Para conteúdo comunitário e de marketing, a qualidade atual é suficiente para dar aos nossos usuários uma nova perspectiva do mundo dos jogos. No entanto, embora ainda não seja necessário melhorar a qualidade dos clipes, estamos sempre em busca de novas soluções.

All Articles