Manual iQ - InteractFields
Transcrição
Manual iQ - InteractFields
Manual de captura de movimentos usando o sistema óptico da Vicon e o software iQ S UMÁRIO 1. Manual de captura de movimentos usando o sistema óptico da Vicon e o software iQ ..........................................3 1.1 Equipamento do laboratório do MovLab - Captura de Movimentos ..................................................................4 1.1.1 Câmaras, Mx Ultranet, Mx Control ...............................................................................................................5 1.1.2 Plataforma de forças.....................................................................................................................................6 1.1.3 Marcadores ...................................................................................................................................................6 1.1.4 Fato ...............................................................................................................................................................7 1.1.5 Calibradores ..................................................................................................................................................7 1.1.5.1 Calibrador de 390 mm ........................................................................................................................... 7 1.1.5.2 Calibrador L-Frame 9 mm ......................................................................................................................8 1.2 Preparação da captura.........................................................................................................................................8 1.2.1 Hardware ......................................................................................................................................................9 1.2.1.1 Conexões do sistema - Computadores ..................................................................................................9 1.2.1.2 Ligar computadores .............................................................................................................................10 1.2.1.3 Ligar unidades Mx Ultranet 1 e 2 .........................................................................................................10 1.2.2 Software......................................................................................................................................................11 1.2.2.1 Computador Mocap - configurações de rede ......................................................................................11 1.2.2.2 Computador visualização - configurações de rede ..............................................................................12 1.2.2.3 Iniciar software Tarsus ......................................................................................................................... 12 1.2.2.4 Iniciar software iQ................................................................................................................................12 1.2.3 Data Management ......................................................................................................................................13 1.2.4 Base de dados .............................................................................................................................................14 1.2.4.1 Criação da base de dados ....................................................................................................................14 1.2.4.2 Abrir base de dados ............................................................................................................................. 15 1.2.4.3 Criar o projecto ....................................................................................................................................16 José Dinis v.01 @ 2011 1 1.2.5 Setup de Sistema ........................................................................................................................................17 1.2.6 Layout do IQ e Navegação no View Pane ...................................................................................................18 1.2.7 Comunicação com o hardware ...................................................................................................................19 1.2.8 Organização das Câmaras ........................................................................................................................... 20 1.2.9 Configuração da conexão do iQ ao Tarsus ..................................................................................................22 1.2.10 Frame rate ................................................................................................................................................23 1.2.11 Conectar o iQ ao Tarsus em tempo real ...................................................................................................24 1.2.12 Volume de Captura ...................................................................................................................................25 1.2.13 Orientação das câmaras ........................................................................................................................... 26 1.2.14 Configuração das câmaras ........................................................................................................................28 1.2.15 Máscaras ...................................................................................................................................................30 1.3 Calibração do Sistema........................................................................................................................................34 1.3.1 Calibração das câmaras: .............................................................................................................................34 1.3.2 Definir o ponto de origem do Volume de Captura .....................................................................................37 1.4 Elementos a capturar - objetos e sujeitos .........................................................................................................39 1.4.1 Colocação de marcadores em sujeitos .......................................................................................................40 1.4.1.1 iQ_HumanRTKM_V1 ................................................................................................................................ 41 1.4.1.1.1 Descrição de marcadores..................................................................................................................42 1.4.1.2 BladeDefault ............................................................................................................................................46 1.4.1.2.1 Markerset BladeDefault....................................................................................................................47 1.4.1.2.2 Descrição de marcadores..................................................................................................................49 1.4.2 Colocação de marcadores nos objetos .......................................................................................................51 1.5 Captura ..............................................................................................................................................................51 1.5.1 Criação de objetos ......................................................................................................................................51 15.2 Calibração dos sujeitos - Range Of Motion (ROM) ......................................................................................53 1.5.2.1 Inserção dos dados relativos ao R.O.M. - Range of Motion ................................................................54 1.5.2.2 Captura do R.O.M. ............................................................................................................................... 55 1.5.3 Captura de dados - Movimentos do ator....................................................................................................56 1.6 tratamento de dados - calibração do sujeito .....................................................................................................58 1.6.1 Abrir ficheiro X2D .......................................................................................................................................59 1.6.2 Reconstrução dos dados .............................................................................................................................59 1.6.3 Criação do esqueleto (VSK) .........................................................................................................................61 José Dinis v.01 @ 2011 2 1.6.3.1 Importação do VST .............................................................................................................................. 61 1.6.3.2 Labeling ................................................................................................................................................63 1.6.3.3 Criação do VSK .....................................................................................................................................65 1.6.3.4 Import vsk ............................................................................................................................................68 1.7 Tratamento de Dados - movimentos do ator ....................................................................................................69 1.7.1 Modo Automático.......................................................................................................................................70 1.7.2 Modo Manual .............................................................................................................................................71 1.8 Exportação de Dados .........................................................................................................................................78 1.8.1 Formato CSM ..............................................................................................................................................79 1.8.2 Formato C3D ...............................................................................................................................................79 2. Animação em Motionbuilder ...................................................................................................................................80 2.1 Importação de ficheiros C3D para o Motionbuilder ..........................................................................................81 2.1.1 Requisitos: ..................................................................................................................................................81 2.1.2 Ficheiros......................................................................................................................................................81 2.1.3 Tutorial........................................................................................................................................................81 3. Utilização dos dados de captura de movimentos em "Game Engines" ...................................................................93 3.1 Utilização dos dados da captura de movimento em Virtools, através de uma personagem modelada em Maya .................................................................................................................................................................................93 3.1.1 Requísitos: ..................................................................................................................................................93 3.1.2 Ficheiros:.....................................................................................................................................................94 3.1.3 Tutorial........................................................................................................................................................94 3.1.3.1 Exportar personagem no Maya para o Motionbuilder ........................................................................95 3.1.3.2 Exportar personagem no Maya para o Virtools ...................................................................................99 3.1.3.3 Importar a personagem no Virtools como Character ........................................................................102 3.1.3.4 Animar a personagem no Motionbuilder ..........................................................................................105 3.1.3.5 Importar animação no Maya .............................................................................................................111 3.1.3.6 Importar animação do Maya para o Virtools.....................................................................................113 1. M ANUAL DE CAPTURA DE MOVIMENTOS USANDO O SISTEMA ÓPTICO DA V ICON E O SOFTWARE I Q José Dinis v.01 @ 2011 3 Este manual debruça-se sobre a captura de movimentos para animação, tendo por base a utilização de um sistema óptico especificamente desenvolvido pela empresa Vicon®. O software utilizado é o iQ versão 2.5, que serve como interface gráfico para aceder aos dados resultantes do hardware e onde podemos realizar operações como calibrações, capturar dados e criar, editar modelos. Pretende-se com este manual, que o aluno possa aprender como operar, de modo independente, o sistema de captura de movimento existente no laboratório MovLab – Laboratório de Tecnologias de Interacção e Interfaces. Este manual foi realizado tendo por base o sistema/equipamento que existe no Laboratório MovLab da Universidade Lusófona. Além da parte hardware/software foram adicionados alguns conceitos que permitam facilitar o processo de aquisição dos dados, resultantes da expêriencia de utilização do sistema. Pois algo que acontece com muita frequência no MovLab é a alternância entre configurações do sistema para animação e Biomecânica, o que leva a que haja uma certa flexibilização, na montagem do sistema, dependo do objectivo da captura, algo que nos estúdios e hospitais não acontece com frequência. 1.1 E Q UIPAMENTO DO C APTURA DE M OVIMENTOS LABORATÓRIO DO M OV L AB - O Laboratório MovLab está equipado com um sistema Vicon MX constítuido pelos seguintes equipamentos: • 8 Câmaras Vicon Mx13+ • 2 Câmaras Vicon Mx20+ • 2 Unidades Vicon Mx Ultranet • 1 Unidade Vicon Mx Control • 1 Plataforma de forças AMTI.BP400600 • Marcadores • Fato • Calibradores José Dinis v.01 @ 2011 4 Fig. 1.1 - Laboratório MovLab com sistema de captura de movimentos da Vicon. 1.1.1 C ÂM A R A S , M X U LT RA N E T , M X C O N T R O L O elemento central do equipamento são as 10 câmaras: 10 Mx com sensor CMOS1, e que permitem capturar à resolução de 1280 x 1024 px2, a 482 FPS3, mais 2 câmaras modelo MX20+, também com sensor CMOS, resolução de 1600 x 1280 px, e a velocidade de captura é de 500 FPS. As câmaras estão conectadas ao equipamento Mx Ultranet, sendo que o número máximo de ligações por unidade é de 8, daí ser necessário 2 Mx Ultranet. O Mx Control também está conectado ao Mx Ultranet como se trata-se de mais uma câmara. Os Mx Ultranet comunicam entre si através de um cabo ethernet. Uma das unidades Mx Ultranet comunica com o computador através de um cabo ethernet, como se pode ver na figura abaixo. 1 Sensor Cmos - é um tipo de sensor de imagem usado sobretudo em câmaras digitais 2 Pixel - um pixel é o menor ponto que forma uma imagem digital 3 “Frames per Second” – Frames por segundo, ou o número de quadros que um dispositivo registra, processa ou exibe por unidade de tempo. José Dinis v.01 @ 2011 5 Fig. 1.2 - Arquitetura do sistema Vicon, sincronizado com plataforma de forças.Imagem retirado da documentação Vicon e posteriormente alterada. 1.1.2 P L AT A F O R M A D E F O R Ç AS Além do sistema Vicon o MovLab também possui 1 Plataforma de forças AMTI.BP400600, que está sincronizada com o sistema de captura de movimento. Para efectuar a captura de movimentos para animação, este equipamento não é utilizado pois a sua utilização confina-se à aquisição de dados para a Biomecânica. Contudo, fica a nota, podemos utilizar o software e equipamento específico da Biomecânica na captura de animação. A vantagem desta interdisciplinariedade é a conjugação dos dados de análise do movimento da Biomecânica com a simulação/visualização da animação, que pode dar resultados muito interessantes. 1.1.3 M A R C A D OR E S Os marcadores são pequenas bolas envolvidas por material refletor. Existem marcadores ativos e passivos. Os ativos emitem luz, enquanto os passivos apenas refletem a luz emitida pelos leds das câmaras. É o caso dos marcadores utilizados no sistema do Movlab. Têm uma forma esfêrica porque é a forma mais optimizada para serem visiveis por todos os ângulos. Também existem com diferentes tamanhos: 3 mm, 9 mm, 14 mm, 39 mm, entre outros. Os de 3 mm são utilizados por animação facial enquanto os restantes para animações com menor detalhe. José Dinis v.01 @ 2011 6 O tamanho dos marcadores é utilizado tendo em conta os seguintes elementos: • Velocidade do movimento • Resolução das câmaras • Detalhe da animação (Corpo / Facial) 9 mm 14 mm 14 mm 3 mm Tabela 1.1 - Imagem dos marcadores e respectivos diâmetros 1.1.4 F A T O O fato visa sobretudo criar o menor ruído possível no momento da captura do movimento do ator4. Por isso é elástico, de modo a adaptar-se ao corpo do individuo. Também é feito de velcro para que seja mais fácil colocar os marcadores. Sempre que o fato não ficar ajustado ao corpo do ator deve-se colocar tiras de velcro para que os marcadores ficam o mais próximos do corpo e sobretudo fixos. 1.1.5 C A L I B R A D O R ES Existem uma série de calibradores no hardware da Vicon, contudo como vamos usar apenas dois neste manual, aqui ficam enunciados: 1 . 1. 5 . 1 C A L I B R A D O R D E 39 0 M M 4 Ator - executante dos gestos que serão objecto de captura José Dinis v.01 @ 2011 7 Fig. 1.3 - Calibrador de 390 mm 1 . 1. 5 . 2 C A L I B R A D O R L -F R A M E 9 M M Fig. 1.4 - Calibrador L-Frame 9 mm 1.2 P REPARAÇÃO José Dinis v.01 @ 2011 D A CA PTU RA 8 1.2.1 H A R D W A R E 1 . 2. 1 . 1 C O N E X Õ E S D O S I S T E M A - C O M P U T A D O R E S Antes de iniciarmos o software iQ é necessário configurar o IP do computador de modo que se consiga estabelecer comunicação com o hardware da Vicon. A configuração dos computadores/ligações está dependente do objetivo da captura. Se pretendermos capturar só os dados, é necessário apenas um computador, contudo, caso se pretenda realizar a captura e pré-visualizar uma personagem 3d em tempo-real, então, é necessário dois computadores, um com o software iQ para a captura e outro computador com o software Motionbuilder. Para se adquirir dados com apenas um computador denomidado Mocap, efetuar o procedimento "Ligar Computador Mocap". Na figura 1.5 encontram-se representadas as suas conexões. Contudo se pretende associar uma personagem 3d em tempo real no Motionbuilder, necessitamos de 2 computadores, um para adquirir dados Mocap, e outro para realizar as simulações - Visualização, como exemplificado no diagrama na figura 1.6. Fig. 1.5 - Esquema das conexões entre computador Mocap e hardware José Dinis v.01 @ 2011 9 Fig. 1.6 - Esquema das conexões entre computador Mocap, computador Visualização e hardware 1 . 2. 1 . 2 L I G A R C O M P U T A D O R E S • • Ligar Computador Mocap Ligar Computador Visualização - caso se pretenda usar a visualização do Motionbuilder 1 . 2. 1 . 3 L I G A R U N I D A D E S M X U L T R A N E T 1 E 2 • Acionar os botões de energia destas unidades Sempre que ligamos as unidades de hardware MxUltranet e Mx Control devemos esperar um minuto antes de iniciarmos os software, para que os equipamentos tenham tempo para estabelecer comunicação entre si, e o computador. José Dinis v.01 @ 2011 10 1.2.2 S O F T W AR E 1 . 2. 2 . 1 C O M P U T A D O R M O C A P - C O N F I G U R A Ç Õ E S D E R E D E Definir o IP5 do computador Mocap: • Start > Control Panel > Network Connections > Local Area Connection (nome da rede do local) > Properties (selecionar com botão direito do rato) > Internet Protocol (TCP/IP)(Tab General) > Properties > Ip address: 192.168.10.1 / Subnet Mask: 255.255.255.0 • selecionar OK Fig. 1.7 - Processo para definir o IP do computador 5 IP - Internet protocol - é o endereço que permite identificar determinado equipamento José Dinis v.01 @ 2011 11 1 . 2. 2 . 2 C O M P U T A D O R V I S U A L I Z A Ç Ã O - C O N F I G U R A Ç Õ E S D E R E D E Definir o IP do computador Visualização: • Start > Control Panel > Network Connections > Local Area Connection (nome da rede do local) > Properties (selecionar com botão direito do rato) > Internet Protocol (TCP/IP)(Tab General) > Properties > Ip address: 192.168.10.6 / Subnet Mask: 255.255.255.0 • selecionar OK Nota: ver imagem1.7. A única diferença com este procedimento é o Ip address que no caso do computador Visualização termina em 6. 1 . 2. 2 . 3 I N I C I A R S O F T W A R E T A R S U S O Tarsus ou RTE - real-time engine, é o software servidor que permite estabelecer comunicação entre o hardware da Vicon e os softwares clientes que processam os dados da captura, nomeadamente o iQ, Blade – para animação e o Nexus – para Biomecânica. Fig. 1.8 - Ícone do software Tarsus que se encontra no desktop do computador Mocap • Iniciar o software Tarsus: C:\Program Files\Vicon\ViconiQ 2.5\Tarsus\Tarsus.exe 1 . 2. 2 . 4 I N I C I A R S O F T W A R E I Q Fig. 1.9 - Ícone do software iQ que se encontra no desktop do computador Mocap • Iniciar o software Vicon IQ: C:\Program Files\Vicon\ViconiQ 2.5\ViconiQ 2.5.exe José Dinis v.01 @ 2011 12 Logo que o iQ inicia, o primeiro interface que nos surge é o Eclipse. Fig. 1.10 - Base de dados Eclipse no software iQ 1.2.3 D AT A M A N A G EM E NT Sempre que existe um novo projecto, é importante abordar a questão da organização dos conteúdos. Esta questão torna-se particularmente importante quando estamos a falar de projectos de animação que geram uma grande diversidade e quantidade de dados. Uma das primeiras coisas a fazer após iniciar o software iQ é estruturar o projecto. Esta tarefa é realizada no Eclipse, que é o software que permite gerir as bases de dados que indexam toda a informação. O Eclipse está organizado de uma forma hierárquica. Em primeiro lugar temos a Base de dados, que é o conjunto de projectos, que podem ser de animação ou Biomecânica. Diferentes tipos de base de dados albergam diferentes tipos de informação. Por exemplo, na animação a informação pode estar organizada por clientes, na Biomecânica esta pode estar indexada por pacientes ou executantes. Como referido, existe a base de dados no topo da estrutura hierárquica, em seguida temos o Projecto que corresponde ao nosso projeto de trabalho. Após o projeto temos o Capture Day que corresponde ao dia de captura. Cada projeto pode ser constítuido por diferentes dias de capturas. Em seguida temos a Session que mais não é, que a sessão da captura. José Dinis v.01 @ 2011 13 No projeto à necessidade deste nível de subdivisão pois num dia de captura de oito horas certamente que vamos realizar diferentes calibrações ao sistema - posteriormente será analisado o que é a calibração - e é boa pratica criar diferentes sessões por calibração. Por defeito ao criarmos a hieraria do projecto, o iQ atribui nomes de sistema aos diferentes elementos, é importante renomear o projecto de modo a termos noção do que representam. 1.2.4 B AS E D E D AD O S A base de dados alberga os nossos projetos, contudo o processo de criação da base de dados realiza-se muitas poucas vezes, grande parte do trabalho que se realiza nos projetos é numa base de dados existente, por isso se for o caso deve-se passar para a operação de Abrir Base de Dados, operação posterior à seguinte. 1 . 2. 4 . 1 C R I A Ç Ã O D A BA S E D E D A D O S O primeiro passo a efectuar no Eclipse é criar uma base de dados nova, selecionar: • Operating Modes Bar > Data Management • Eclipse > New Database... Na caixa de diálogo New Database: • Location: Selecionar o diretório onde será criada a base de dados • Name: Nome da base de dados • Description: Breve descrição da base de dados • Based on: selecionar Animation Template.eni (Permite definir que a nossa base de dados será usada em projetos de animação) José Dinis v.01 @ 2011 14 • Create Surge logo de seguida a caixa de diálogo Open Database, selecionar • Nome da base de dados criada anteriormente • Open 1 . 2. 4 . 2 A B R I R BA S E D E D A D O S Tendo sido criada a base de dados na fase anterior ou caso a base de dado já exista, para abrir: • Operating Modes Bar > Data Management • Eclipse > Open Database • Na caixa de dialogo Open Database selecionar MOCAP_DATABASE_ANIMATION e em seguida Open. Caso nesta janela não exista MOCAP_DATABASE_ANIMATION selecionar Browse e em seguida o ficheiro: C:\ ALUNOS\ MOCAP_DATABASE_ANIMATION \ MOCAP_DATABASE_ANIMATION.enf José Dinis v.01 @ 2011 15 Nota: Devemos sempre confirmar que estamos a trabalhar na base de dados correta, pois se estivermos a trabalhar noutro tipo de base de dados que não animação, nomeadamente do tipo Clinical Template - usada em Biomecânica, podemos estar a danificar os seus ficheiros. 1 . 2. 4 . 3 C R I A R O P R O J E C T O Após a criação/seleção da base de dados vamos criar o nosso projecto. Selecionar: • Operating Modes Bar > Data Management • New Project • New Capture Day • New session José Dinis v.01 @ 2011 16 Fig. 1.11 - Estrutura hierárquica do projeto Nota: é importante renomear os diversos elementos de modo a termos noção do que representam. 1.2.5 S E TU P D E S I S T E M A Em seguida vamos iniciar a configuração do sistema. Esta operação permite definir que hardware será utilizado na captura bem como alterar os respectivos parâmetros. Selecionar • Operating Modes Bar > Setup Ao acionar o comando Setup, o interface do iQ altera-se completamente. Na próxima operação vamos analisar o layout do iQ, contudo fica a nota, o interface do iQ encontra-se estruturado de uma forma muito prática, pois funciona como se fosse um wizard. Na parte superior do iQ temos o menu Operating Modes Bar que permite alternar entre as diversas fases do processo de aquisição de dados de uma forma sequencial e lógica. José Dinis v.01 @ 2011 17 1.2.6 L A Y O U T DO IQ E NAVEGAÇÃO NO VIEW PANE Fig. 1.12 - Layout do iQ Elementos do layout: View Pane Operating Modes Bar Janela de visualização central, vista de perspectiva. Menu com os vários modos operativos do IQ Neste menu estão presentes os vários estágios do processo de Motion Capture. View Pane Menu Bar Menu que permite controlar a visualização do View Pane. View Pane Button Bar Menu que serve para organizar o layout do View Pane. View Options Control Menu que permite controlar a visualização dos Bar objectos bem como consultar a ajuda do software. José Dinis v.01 @ 2011 18 Activity Bar Menu que permite trabalhar com os diversos modos operativos. Status Report Bar Janela que permite visualizar informação resultante das operações no sistema. RealTime Engine Menu que permite ao utilizador conectar-se ao Control Bar Tarsus - real time engine. Navegação através do rato no View Pane: ALT+ Mover botão esquerdo do rato Orbit ALT+ Mover botão direito do rato Zoom(in/out) ALT+ Mover botão do meio do rato Panorâmica 1.2.7 C OM U NI C AÇ Ã O C OM O H A R D W A R E Neste processo pretende-se verificar que o software reconheceu o hardware com sucesso. Selecionar: • Activity Bar > Hardware Config > System Type: Vicon Mx • IQ IP Address: 192.168.10.1 Verificar se no Device Setup encontram-se listadas as 10 câmaras Mx com a indicação a verde, bem como mais abaixo o MxControl e os 2 MxUltranet José Dinis v.01 @ 2011 19 Caso alguma das câmaras tenha a indicação a vermelho devemos selecionar a respectiva e em seguida Reboot: Se não estiverem listadas todas as câmaras ou equipamentos, ou a indicação da câmara a vermelho persistir, então o melhor é desligarmos os softwares iQ, Tarsus e todo o hardware, e reiniciarmos o processo de ligação de hardware e software. 1.2.8 O RG A N I ZA ÇÃ O D AS C ÂM A R A S Este processo visa criar uma organização lógica das câmaras no software. Selecionar: • Activity Bar > Hardware Config > Reorder Câmeras José Dinis v.01 @ 2011 20 Fig 1.13 - A ordenação das câmeras, permite ao técnico identificar mais facilmente as câmaras. Na caixa de dialogo Reorder Cameras, selecionar a câmara 1 (sempre que tivermos uma das câmaras selecionadas, a câmara Mx acende um led azul de modo a termos feedback visual de qual é que está ativa). , devemos organizar Usando os comandos "up/down" as câmaras de uma forma sequencial e lógica - usar o sentido dos ponteiros do relógio como referência, conforme figura 1.14. Esta organização facilita à posteriori quando necessitamos de aceder rápidamente a uma câmara para alterar alguma propriedade. Também ajuda se mantermos sempre a mesma ordem entre capturas pois algum problema que surja mais tarde, sabemos à partida como as câmaras estavam organizadas. José Dinis v.01 @ 2011 21 Fig 1.14 - Ordenar as câmaras no sentido dos ponteiro do relógio, tendo como referência a porta principal de entrada do MovLab 1.2.9 C O N FI G UR A Ç Ã O DA C O N E X Ã O D O I Q A O T AR S U S Após organizar a ordem das câmaras, vamos configurar a conexão do iQ ao servidor Tarsus, selecionar: • Activity Bar > RealTime Config > RealTime Engine Ip Adress: 192.168.10.1 • Connection Timeout: 5000 • RealTime Engine Parameters: Live José Dinis v.01 @ 2011 22 Caso se pretenda utilizar o software Motionbuilder para receber a informação em tempo real, então devemos também selecionar: • RealTime Engine Output > Blobs: Sim • Reconstructions: Sim • Labels: Sim • Circles: Sim • Ray Assignments: Sim • Kinematics: Sim 1.2.10 F R AM E R AT E O frame-rate corresponde à velocidade de captura das câmaras. Esta influência a qualidade da imagem, em velocidades mais altas existe maior ruido, por isso é necessário em seguida definirmos este valor, antes de realizarmos qualquer ajuste nos parâmetros da imagem das câmaras. Para definirmos o frame-rate deve-se ter em consideração a velocidade dos movimentos do ator como principal fator, contudo o ideal é utilizar semúltiplos de 25, tendo por base o sistema Pal, pois no processo de resampling da animação será mais fácil realizar a conversão. O re-sampling da animação corresponde à conversão de frame-rate para diferentes valores, normalmente de valores de captura tipo 125 FPS para 25 FPS (PAL). O processo em si não constitui qualquer problema pois geralmente José Dinis v.01 @ 2011 23 é feito por software, caso seja necessário realizar manualmente a questão dos múltiplos facilita. Selecionar: • Activity Bar > Sync Setup > Frame rate Type: Any • Frame Rate: 125 1.2.11 C O N E CT AR O IQ AO TARSUS EM T E M P O RE A L Após organizar a ordem das câmaras, vamos conetar o iQ ao servidor Tarsus, selecionar: • RealTime Engine Control Bar > Connect Podemos perceber que o iQ está conectado se os ícones Real Time Connected e Mx System Connected ficam com a cor verde. Fig 1.15 - As câmaras Mx estão agora ligadas ao computador. No caso de se alterar o número de câmaras a utilizar na captura, o software vai alertar o técnico para o fato com a seguinte mensagem: Current Calibration Does Not Match Hardware!. É necessário limpar a configuração anterior, selecionar: • Reset Calibration José Dinis v.01 @ 2011 24 1.2.12 V O LU M E DE C A PT U R A O Volume de Captura corresponde ao espaço de captura calibrado e onde o movimento do ator será gravado. Fig 1.16 - Volume de captura Este é definido tendo em conta os seguintes elementos: • área necessária para o movimento a capturar • tipo de movimento que será realizado pelo actor • resolução das câmaras • campo de visão das lentes A primeira tarefa a realizar no espaço físico é a colocação de marcadores que definem a área, normalmente com uma forma rectangular. Também José Dinis v.01 @ 2011 25 coloca-se um círculo no centro do rectangulo, para quando se orientar as câmaras termos um ponto de referência, como vamos ver em seguida. Fig 1.17 - Marcadores exteriores definem a área da captura e o círculo interior define o centro do volume, para onde as câmaras devem ser dirigidas 1.2.13 O R I E N T A Ç Ã O D AS C ÂM A RA S Após a definição do frame-rate, as câmaras precisam de ser ajustadas fisicamente em função do volume de captura. Este processo deverá ser realizado individualmente para cada câmara, tendo por referência os marcadores colocados no volume de captura. O objetivo é colocarmos a câmara de modo que o seu campo de visão abranja o volume de captura, e de preferência que o círculo fique no centro do campo de visão da câmara - o centro da objectiva é sempre a zona que têm menor distorção. Neste momento há que ter em conta 2 aspectos importantes: 1. Verificar que a imagem está focada 2. A câmara não deve estar demasiado perto do actor, para não criar reflexos, nem demasiado longe do volume para não perder resolução O volume de captura¸ como o próprio nome indica, é uma região tridimensional. Nesta fase é importante serem duas pessoas a realizar esta operação: o técnico que está a orientar a câmara e um ajudante que com um calibrador que valida a altura. José Dinis v.01 @ 2011 26 Também se deve em atenção que as cortinas do laboratório estão fechadas de modo que a luz solar não interfira na imagem das câmaras, selecionar: • Activity Bar > Cameras • View Pane Menu Bar > Camera • Cams > Camera-[n] ( n = número da câmara pretendida) • Em seguida ir fisicamente à camara selecionada e manipular o tripé de modo que a câmara fique orientada corretamente Fig 1.18 - Ter em conta alguma margem de espaço horizontal bem como vertical Para verificarmos que a câmara está focada, deve-se fazer zoom in [Alt + RightMouse] à imagem dos marcadores no View Pane. Para visualizarmos os blobs (zonas a branco na imagem), com a câmara que se pretende focar ativa, selecionar: • Activity Bar > em vez de Normal colocar All José Dinis v.01 @ 2011 27 1.2.14 C O N F I GU RA Ç Ã O D A S C ÂM A R A S Em seguida vamos ajustar as valores dos parâmetros das câmaras, que determinam a qualidade da imagem. Tal como na operação anterior, este processo deverá ser realizado individualmente para cada câmara, selecionar: • Cams > Camera-[n] ( n = número da câmera pretendida) • Strobe Intensity • Camera Threshold • Gain • Circle Quality Significado e valores por defeito dos parâmetros das câmaras: • Strobe Intensity: 100 • Threshold: 20/30 • Gain: 1 • Circle Quality: entre 20/30 José Dinis v.01 @ 2011 28 • Strobe Intensity - Representa a intensidade da luz dos leds da câmara. O valor deve ser mantido sempre no máximo. • Threshold - É o limiar de percepção de contraste que as câmaras têm sobre os marcadores. • Gain - É um ganho digital. Se for aumentado tende a melhorar a qualidade da captura, no entanto, produz mais ruído, o que terá de ser ajustado com o Threshold. • Circle quality - Representa a qualidade de percepção do sistema, em relação aos marcadores. • Ruído - Algo que está a reflectir mas que não é nenhum marcador. • Máscara – Serve para eliminar ruído da imagem passível de ser confundido com um marcador. Para verificarmos a qualidade dos marcadores em cada câmara, devemos fazer zoom in [Alt + RM] à imagem dos marcadores no View Pane. Para visualizarmos os blobs (zonas a branco na imagem), selecionar: • Activity Bar > em vez de Normal colocar All Atenção que no final devemos selecionar todas as câmeras e colocar no parâmetro visualização dos blobs como Normal, pois qualquer outra opção implica um maior processamento por parte do software. José Dinis v.01 @ 2011 29 Após o ajuste dos parâmetros das câmaras devemos guardar as definições das câmaras que estivemos a alterar: • Manage Camera Settings > Save Por fim retirar todos os marcadores que foram colocados no volume de captura, bem como eliminar qualquer fonte de ruído na imagem, nomeadamente esconder qualquer marcador vísivel, calibradores e fechar o armário. 1.2.15 M ÁS C A R A S Devido a uma série de fatores, nomeadamente câmaras que vêm outras câmaras, é frequente não se conseguir uma imagem sem ruído, para compensar este fato vamos usar Máscaras, ou termo em inglês thresholds. José Dinis v.01 @ 2011 30 Fig. 1.19 – As câmaras muitas das vezes vêm as outras câmaras originando ruído na imagem. Selecionar: • Activity Bar > Thresholds > Manage thresholds Files > Reset thresholds • View Pane Menu Bar > Camera • Cams > Camera-[n] ( n = número da câmara pretendida) Activar a grelha para criar máscaras, selecionar : • View Options Control Bar (Tecla V) > Threshold Grid: Sim • Activity Bar > Thresholds > Manual Thresholds creation : • Paint - Pinta uma máscara num dos segmentos da grelha. • Erase - Elimina determinada máscara. • Rectangle – Cria um rectângulo que serve como máscara. • Clear - Apaga todo o registo de máscaras nas câmaras selecionadas. • Threshold volume - Define a opacidade da máscara. José Dinis v.01 @ 2011 31 Após criar as máscaras para cada câmara, selecionar: • Save thresholds and apply Esta operação irá aplicar o mapa de thresholds às câmaras. Selecionar: • View Pane Menu Bar > Camera • Cams > All • View Options Control Bar (Tecla V) > Threshold Grid: Não A imagem das câmaras deve estar completamente preta sem qualquer ruído. José Dinis v.01 @ 2011 32 Fig. 1.20 – Câmaras sem ruído Por fim é importante guardar o mapa de thresholds: • Activity Bar > Thresholds > Manage thresholds files > Save out thresholds Será criado no diretório do projeto um ficheiro com a extensão “.VTT” que corresponde ao mapa dos thresholds. José Dinis v.01 @ 2011 33 1.3 C ALIBRAÇÃO DO S ISTEMA Fig. 1.21 – Representação das câmaras antes da calibração A calibração das câmaras é muito importante, pois é através deste processo que o sistema consegue saber onde é que as câmaras estão colocadas e consequentemente triangular a posição dos marcadores. Para obtermos uma boa qualidade dos dados capturados é importante termos uma boa calibração. Numa mesma captura é necessário muitas vezes realizar várias calibrações das câmaras. 1.3.1 C A L I B R A Ç Ã O D A S C ÂM A R A S : Nesta fase o técnico, ou preferencialmente um ajudante, deve ir buscar o calibrador de 390 mm. Selecionar: • Operating Modes Bar > Calibrate > Activity Bar> Calibrate • Na caixa de listagem 1. Calibrate Cameras, selecionar: o Wand: 390_mm_Wand - que corresponde ao Calibrador de 390mm • View Pane Menu Bar > Camera: Cams > All José Dinis v.01 @ 2011 34 Em seguida: • 1. Calibrate Cameras > Start wand wave Após ativar este comando, o técnico/ajudante deve andar pela área de captura, fazendo movimentos circulares, suaves, em forma de 8 com o calibrador de forma a abranger o espaço que se pretende capturar. O objectivo é preencher a imagem das câmaras com o efeito de blur. Terá que se certificar que as imagens de todas as câmaras ficam densamente preenchidas com um padrão semelhante ao da imagem em baixo. Fig. 1.22 – Efeito de preenchimento na imagem das câmaras a partir do movimento Wand Wave O relatório que se encontra no canto inferior direito, Status Report, indica a quantidade de informação captada pelas câmaras. O ideal será aproximadamente 10.000 Wands por câmara. José Dinis v.01 @ 2011 35 Fig. 1.23 – Aquisição da informação a partir do calibrador Quando se atingir esse valor selecionar: • Stop Wand Wave Em seguida a aplicação irá começar a calcular os valores de calibração, temos de esperar uns minutos. No final indicará a qualidade da calibração, esta deverá ser idealmente de Awesome´s para cada câmara. Este valor muito dificilmente será atingido por todas as câmaras pelo que Excelent é um bom indicador. Fig. 1.24 – Informação da qualidade da calibração José Dinis v.01 @ 2011 36 1.3.2 D E F I NI R O PONTO DE ORIGEM DO VOLUME DE CAPTURA Após o sistema reconhecer as distância entre câmaras é necessário definir a origem do volume da captura (ponto 0 dos eixos x,y,z), e que é um ponto de referência global. Fig. 1.25 – Antes de terminar a calibração o iQ usa uma das câmaras como ponto de origem do volume da captura Para definir o ponto de origem é necessário colocar o calibrador L-frame de 9mm no centro do volume da captura no laboratório. No calibrador, por debaixo de duas placas metálicas amovíveis, existe um nivelador de bolha de água. Para nos certificarmos de que o calibrador está nivelado deve-se ajustar as bolhas ao centro e no final fechar as placas metálicas. Fig. 1.26 – Calibrador L-Frame 9 mm que permite definir a origem do volume da captura Vamos mudar a vista do interface para Live 3D Workspace para termos percepção do espaço 3D bem como do ponto de origem que vamos definir, selecionar: • View Pane Menu Bar > Live 3D workspace em seguida : José Dinis v.01 @ 2011 37 • Track L-Frame • Set Origin A partir deste momento as câmaras estão direcionadas para o ponto de origem da captura. Fig 1.27 – Câmaras orientadas para a origem do volume da captura Depois de todas as câmaras estarem ajustadas, selecionar: • Save out calibration Esta operação permite guardar na pasta do projecto um ficheiro com a extensão “.CP”, que contém os dados de calibração das câmaras. É José Dinis v.01 @ 2011 38 importante executar sempre esta tarefa pois estes dados serão necessários à posteriori sempre que necessitarmos de reconstruir os dados capturados. 1.4 E LEMEN TOS José Dinis v.01 @ 2011 A CAPTURAR - OBJETOS E SU JEITOS 39 Existem dois tipos de categorias em que se inserem os elementos a capturar: objetos e sujeitos. Objetos são elementos que não têm articulações, portanto elementos rigidos, dentro desta classe inserem-se grande parte dos adereços. Os objetos não necessitam de calibração, pois a distância entre marcadores é sempre a mesma. Os sujeitos são elementos que têm articulações, necessitam de uma estrutura hierárquica do tipo esqueleto, por exemplo animais. Para este tipo de elementos é necessário realizar uma calibração denomidada ROM Range of Motion, que vamos analisar mais à frente. 1.4.1 C O L O C A Ç Ã O D E M AR C A D O R ES E M S U J EI T O S Antes de iniciramos a captura é necessário colocar os marcadores no ator. A colocação dos marcadores é determinante para a qualidade dos movimentos finais, pois num sistema óptico apenas se obtém a informação da posição, que serve de base posteriormente para calcular as rotações. O ator deverá usar um fato próprio, caso não seja possível, deverá usar roupa bastante justa ao corpo, de modo a evitar o balancear dos marcadores que irão originar ruído. Deve-se colocar os marcadores o mais próximo possível da estrutura óssea para que estes fiquem tão fixos quanto possível. Para que seja mais fácil para o sistema obter as rotações a partir das posições dos marcadores bem como diferenciar o lado direito do esquerdo do corpo humano, é importante colocar alguns marcadores assimétricamente. Os marcadores que não são colocados nos eixos de rotação das articulações, deverão criar um triângulo com estes (Fig 1.28) José Dinis v.01 @ 2011 40 Fig 1.28 - Obtenção das rotações a partir das posições dos marcadores Cada marcador têm uma designação, geralmente em inglês, que corresponde à sua posição no ator, por exemplo RFHD - right front head. Ao conjunto dos marcadores chama-se Markerset. O markerset varia consoante o objectivo de dados a adquirir na captura, se bem que existe markersets já pré-definidos. Neste manual vamos abordar a constituição de dois markersets: • iQ_HumanRTKM_V1 • BladeDefault 1.4.1.1 I Q_H U M A N RTKM_V1 É o markerset por defeito do iQ, contítuido por 41 marcadores: Fig 1.29 - Markerset iQ_HumanRTKM_V1 José Dinis v.01 @ 2011 41 Fig 1.30 - Markerset iQ_HumanRTKM_V1 1 . 4. 1 . 1 . 1 D E S C R I Ç Ã O D E M A R C A D O R E S Parte superior do corpo - Upper Body Marcadores da cabeça - Head Markers LFHD RFHD LBHD RBHD Left Front HeaD - Colocar aproximadamente sobre a têmpora esquerda; Right Front HeaD - Colocar aproximadamente sobre a têmpora direita; Left Back HeaD - Colocar na parte de trás esquerda da cabeça, alinhada sensivelmente com a marca da frente; Right Back HeaD - Colocar na parte de trás direita da cabeça, alinhada sensivelmente com a marca da frente; José Dinis v.01 @ 2011 42 Fig 1.31 - Marcadores da cabeça Marcas do tronco - Torso Markers C7 7TH Cervical vertebrae - Colocar sobre a sétima vertebra da coluna a contar do pescoço; T10 10TH Thoracic vertebrae - Colocar sobre a 10ª vertebra toráxica; CLAVicle - Colocar na junção da clavicula com o externo, ligeiramente abaixo da Fúrcula; STeRNum Xiphoid - Colocar no Apófise Xifoideu, situado no final do externo; Right BAcK - Colocar perto da omoplata. Esta marca não tem par, serve simplesmente para facilitar o auto-labelling e ajudar a determinar o lado direito do actor; CLAV STRN RBAK José Dinis v.01 @ 2011 43 Fig 1.32 - Marcadores do tronco Marcadores nos braços - Arm Markers - apenas foram enunciados os marcadores do braço esquerdo, os marcadores do lado direito têm a mesma nomenclatura contudo começam pela letra R de right. SHO UPA ELB FRM WRA WRB FIN Left SHOulder - Colocar na junção da clavícula com o osso do braço; Left UPper Arm - Colocar no braço entre a marca do cotovelo e a marca do ombro. Deve ser colocada assimétricamente à do outro braço; Left ELBow - Colocar no cotovelo na junção do braço com o ante-braço; Left FoRearM - Colocar no ante-braço entre as marcas do punho e do cotovelo. Deve ser colocado assimetricamente com o seu par no outro braço (RFRM); Left WRist marker A - Colocar no punho, do lado do dedo polegar; Left WRist marker B - Colocar no punho, do lado do dedo mindinho; Left FINgers - A marca é colocada nas costas da mão esquerda, sensivelmente perto do início do dedo indicador; Fig 1.33 - Marcadores nos braços Parte inferior - Lower Body Bacia - Pelvis José Dinis v.01 @ 2011 44 FWT FWT BWT BWT Left FrontWaisT - Colocar directamente sobre o osso posterior superior esquerdo da espinha Ilíaca; Right FrontWaisT - Colocar directamente sobre o osso posterior superior direito da espinha Ilíaca; Left BackWaisT - Colocar directamente sobre o osso anterior superior esquerdo da espinha Ilíaca; Right BackWaisT - Colocar directamente sobre o osso anterior superior direito da espinha Ilíaca; Pernas - Leg - apenas foram enunciados os marcadores da perna esquerda, os marcadores do lado direito têm a mesma nomenclatura contudo começam pela letra R de right. THI KNE SHN Left THIgh - Colocar sobre a área do fémur mais saliente, estará algures debaixo da pelvis. Left KNEe - Peça ao sujeito que dobre a sua perna. Ache o ponto menos saliente enquanto o sujeito tem a perna dobrada, verifique e coloque o marker. Left SHiNbone - O osso mais largo dos dois ossos da perna em baixo do joelho (vulgarmente conhecido como canela). Pés - Foot Markers - apenas foram enunciados os marcadores do pé esquerdo, os marcadores do lado direito têm a mesma nomenclatura contudo começam pela letra R de right. LANK LHEL LMT5 LTOE Left ANKle - Colocar a marca no osso do tornezelo. Left HEEl - Colocar a marca no calcanhar consideravelmente à mesma altura da marca que foi colocada no principio do polegar. Left MeTatarsal 5 - Colocar a marca no início do dedo mindinho, por cima do osso (quinto metatarso). Left TOE - Colocar sobre o início do polegar. José Dinis v.01 @ 2011 45 Fig 1.34 - Marcadores dos pés 1.4.1.2 B L A D E D E F AU L T Este markeset foi criado tendo por base o software de animação Blade, contudo também pode ser usado no iQ. Existem vantagens na utilização deste markerset, nomeadamente, o fato de ter mais marcadores que o iQ_HumanRTKM_V1, permite obter maior qualidade de dados, tornando mais fácil tratar as oclusões, pois existem mais marcadores para compensar a falta de informação, contudo por outro lado, o fato de ter mais marcadore também obriga a um maior trabalho de tratamento de dados. Outra vantagem é a interpolação de dados entre softwares, podemos fazer todo o processo de tratamento de dados no iQ usando este markerset e à posteriori fazer o solving no Blade. Este markerset é constituido por 53 marcadores Existem uma série de markersets que derivam do BladeDefault: • BladeDefault_Fingers - constituido por 59 marcadores • BladeDefault_MBnames - constituido por 53 marcadores • BladeDefault_MBnames_Fingers - constituido por 59 marcadores • BladeDefault_FrontBackWaist_Fingers marcadores • BladeDefault_ MBnames_FrontBackWaist_Fingers - constituido por 59 marcadores José Dinis v.01 @ 2011 - constituido por 53 46 Os markersets com a informação "Fingers", usam os mesmos marcadores que o BladeDefault, mais 3 marcadores nos dedos para cada mão do ator. Os markersets com a informação "_MBnames", usam exatamente os mesmos marcadores que o BladeDefault, contudo no solving cria um esqueleto em que os nomes dos ossos permitem ao Motionbuilder realizar a caracterização automáticamente - mais à frente é explicado este processo. 1 . 4. 1 . 2 . 1 M A R K E R S E T B L A D E D E F A U L T Fig 1.35 - Ator com markerset BladeDefault José Dinis v.01 @ 2011 47 Fig 1.36 - Markerset BladeDefault_Fingers - imagem retirada do manual do software Blade Fig 1.37 - Markerset BladeDefault_Fingers - imagem retirada do manual do software Blade José Dinis v.01 @ 2011 48 1 . 4. 1 . 2 . 2 D E S C R I Ç Ã O D E M A R C A D O R E S Parte superior do corpo - Upper Body Marcadores da cabeça - Head Markers ARIEL LFHD RFHD LBHD RBHD Left Front HeaD Right Front HeaD Left Back HeaD Right Back HeaD Marcas do tronco - Torso Markers C7 7TH Cervical vertebrae T10 CLAV STRN 10TH Thoracic vertebrae CLAVicle STeRNum Xiphoid Marcas nos braços - Arm Markers - apenas foram enunciados os marcadores do braço esquerdo, os marcadores do lado direito têm a mesma nomenclatura contudo começam pela letra R de right. LFSH Left Front SHoulder LBSH Left Behind SHoulder LUPA Left UPper Arm LELB LIEL LOWR LIWR LWRE LIHAND LOHAND Left ELBow Left Internal ELbow Left Outside WRist Left Inside WRist Left WRist External Left Inside HAND Left Outside HAND José Dinis v.01 @ 2011 49 Parte inferior - Lower Body Bacia - Pelvis LFWT LMWT LBWT RFWT RMWT LBWT Left FrontWaisT Right MiddleWaisT Left BackWaisT Right FrontWaisT Left MiddleWaisT Left BackWaisT Pernas - Leg - apenas foram enunciados os marcadores da perna esquerda, os marcadores do lado direito têm a mesma nomenclatura contudo começam pela letra R de right. LHIP LKNE LKNI LSHN Left HIPs Left KNEe Left KNee Internal Left SHiNbone Pés - Foot Markers - apenas foram enunciados os marcadores do pé esquerdo, os marcadores do lado direito têm a mesma nomenclatura contudo começam pela letra R de right. LANK LHEL LMT5 LMT1 LTOE Left ANKle Left HEeL Left MeTatarsal 5 Left MeTatarsal 1 Left TOE Mãos - Hands Markers - apenas foram enunciados os marcadores da mão esquerda, os marcadores do lado direito têm a mesma nomenclatura contudo começam pela letra R de right. LTHM3 LIDX3 RPNK3 Left THuMb Left InDeX Left PiNKy José Dinis v.01 @ 2011 50 1.4.2 C O L O C A Ç Ã O D E M AR C A D O R ES N O S O BJ E TO S Deve-se colocar no mínimo três marcadores no objecto, devido ao cálculo correto das rotações. Também se deve procurar criar alguma assimetria bem como criar planos triangulares. A assimetria permite reconhecer mais facilmente a orientação do objeto, e os planos triangulares permitem obter as rotações, como já referido na colocação de marcadores no sujeito. Por fim a colocação dos marcadores nos objectos não deve condicionar a performance do movimento do ator. 1.5 C APTURA 1.5.1 C RI A Ç Ã O DE OBJETOS Colocar o objeto com marcadores no volume de captura num sítio fixo, geralmente no chão. Selecionar: • Operating Modes Bar > Create/Edit Objects • Begin Editing • Selecionar marcadores que fazem parte do objeto na vista Live 3D Workspace • Create Object José Dinis v.01 @ 2011 51 • Selecionar o objeto criado no passo anterior e renomear • Save and Apply Para que possa ver o objecto em tempo real durante a captura, selecionar: • View Options > Subjects > Bounding Boxes: Sim • Available Objects (check box to make active): Sim • View Options > Displayed Subjects > selecionar o objecto criado e activar José Dinis v.01 @ 2011 52 15.2 C A L I BR A Ç Ã O D OS S UJ E I T O S - R A N G E O F M OT I O N (ROM) Para que o sistema reconheça distâncias entre marcadores no corpo do ator bem como amplitudes de movimentos é necessário realizar uma calibração do mesmo, denominada R.O.M. - Range of Motion. Neste momento, após a colocação dos marcadores, e antes de iniciarmos o R.O.M. deve-se tirar algumas fotografias ao ator,estas irão servir de referência posteriormente na importação dos dados para o Motionbuilder. Em seguida o actor deverá colocar-se na posição T-Pose, com os braços levantados a 90º, como apresentado na figura 1.38, e com as palmas das mãos viradas para baixo. A distância de afastamento dos pés deverá ser a mesma dos ombros e a cara virada para a frente. José Dinis v.01 @ 2011 53 Fig 1.38 - Postura T-pose Para aquirirmos os dados para o Range of Motion procedimento seguinte. executar o 1 . 5. 2 . 1 I N S E R Ç Ã O D O S D A D O S R E L A T I V O S A O R . O. M. - R A N G E O F M O T I O N Selecionar: • Operating Modes Bar > Capture • Activity Bar > Capture Inserir a seguinte informação: 2. Provide Trial Information: • Name: ROM_00 • Type: R.O.M. • Desc: Descrição do movimento a capturar José Dinis v.01 @ 2011 54 • Notas: Notas relevantes para o movimento a capturar • Auto increment trial number: Sim • Permit overwrite of existing files: Não 3. Chose Reccord Type e selecionar: • 2D Camera Data: Sim • Real Time Output: Sim 1 . 5. 2 . 2 C A P T U R A D O R. O . M. Para iniciar a gravação dos movimentos, selecionar: 4. Capture > Start Após a execução dos movimentos pelo actor, selecionar: 4. Capture > Stop José Dinis v.01 @ 2011 55 Se o objectivo é reconstruir estes dados logo de seguida, selecionar: 5. Review Last Capture > Load Into Post 1.5.3 C AP T U RA D E D A D OS - M O V I M E N T O S D O A T OR Para inserção dos dados relativos ao movimento a capturar, selecionar: • Operating Modes Bar > Capture • Activity Bar > Capture Inserir a seguinte informação: 2. Provide Trial Information: • Name: Nome do movimento • Type: Selecionar da lista o tipo que melhor classifica o movimento • Desc: Descrição do movimento a capturar • Notas: Notas relevantes relacionadas com o movimento a capturar • Auto increment trial number: Sim • Permit overwrite of existing files: Não 3. Chose Reccord Type, selecionar: • 2D Camera Data: Sim • Real Time Output: Sim José Dinis v.01 @ 2011 56 Vamos iniciar a gravação dos movimentos para isso : 4. Capture > Start Após a execução dos movimentos pelo actor selecionar 4. Capture > Stop Para repetir um novo movimento basta repetir o procedimento anterior No final da captura de cada movimento é importante utilizar a folha de planeamento para classificar a qualidade do movimento, de modo a definir que takes serão algo de tratamento de dados ou excluídos. Durante a captura também se pode usar o programa Eclipse para inserir estes dados. O importate é que esta informação seja registada, pois é imperativo filtrar a quantidade de informação a tratar, de modo a reduzir tempo de operação e, consequentemente, os custos associados. José Dinis v.01 @ 2011 57 1.6 TRATAMENTO DE DADO S - CALIB RAÇÃO DO SU JEITO A calibração do sujeito é realizada numa fase posterior à capura, por isso neste manual o processo é ilustrado a partir do momento que abrimos o Eclipse. José Dinis v.01 @ 2011 58 Fig 1.38 - Na base de dados existe uma sêrie de informação importante que permite caraterizar os movimentos 1.6.1 A BR I R FI C H E I R O X2D Selecionar • Data Management > Projecto > Capture day > Session > ROM - selecionar o ícone (duplo clique) para abrir o ficheiro com a extensão .X2D 1.6.2 R E C O N ST R U Ç Ã O D OS D AD O S Através da triangulação da informação das diferentes câmaras, no mínimo duas câmaras, o sistema consegue determinar a posição tridimensional dos marcadores no volume de captura: José Dinis v.01 @ 2011 59 Fig 1.40 – A triangulação da informação de vídeo das câmaras resulta na obtenção da posição dos marcadores Selecionar: • Operating Modes Bar > Post Processing • View Pane menu bar > 3D workspace • Activity Bar > Reconstruct > Run Também podemos realizar a operação anterior através da pipeline6: Data Processing: 6 O termo "pipeline" é bastante usado no iQ, e corresponde a um conjunto de operações que se encontram agrupadas José Dinis v.01 @ 2011 60 • Activity Bar > Pipeline > Data Processing > Circle Fit, Reconstruct, Trajectory Fit Frame Range > clicar com o botão direito do rato > Run Selected Op 1.6.3 C RI A Ç Ã O DO ESQUELETO (VSK) 1 . 6. 3 . 1 I M P O R T A Ç Ã O D O V ST José Dinis v.01 @ 2011 61 O passo seguinte na operacionalização da utilização do processo corresponde à criação de um modelo/esqueleto a partir do markerset que foi utilizado na captura. A vantagem de se usar markersets já pré-definidos está associada ao facto de estes já conterem a definição de um esqueleto. No entanto, caso se pretenda um modelo específico é necessário criar um novo esqueleto ou alterar um já existente. A informação dos esqueletos pré-definidos está contida em ficheiros VST - Vicon Skeleton Template. Contudo como o próprio nome indica, o VST é uma template e por isso é necessário calibrar o VST usando a informação da captura do R.O.M. de modo a criar um ficheiro VSK - Vicon Skeleton. Isto é, através da informação informação resultante do movimento do ator nomeadamente, distâncias entre marcadores, amplitudes de movimentos vai-se transformar o VST em VSK, um esqueleto calibrado. Para cada ator interveniente numa captura têm de se capturar o R.O.M. bem como efetuar a calibração do VST em VSK, nomeadamente se para o mesmo ator for necessário criar diferentes markersets, também é necessário capturar o R.O.M. correspondente ao markerset. Selecionar: • Activity Bar > Subject > Create Vicon Skeleton Template: o Current Template Models\ViconiQ2.5\ directory: C:\ Program Files\Vicon\ o Template: iQ_HumanRTKM_V1 o Subject name: Inserir nome pretendido, normalmente corresponde ao nome do ator por exemplo: subject_Bruno o OK José Dinis v.01 @ 2011 62 1 . 6. 3 . 2 L A B E L I N G Com a importação do VST obtemos uma lista de marcadores com nomes pré-definidos. O labeling é o processo de associação dos marcadores da captura reconstruidos com a lista dos marcadores do ficheiro VST, isto é, a identificação dos marcadores. O labeling pode ser manual ou automático, o manual é o processo descrito já de seguida. O automático é através de operações na pipeline. Quando usar o manual ou o automático? O manual realiza-se sempre que se é criado um VSK, utilizando o ROM, o automático realiza-se em todos os outros movimentos. Naturalmente esta não é uma regra rígida pois depende da qualidade que se obtenha no automático. Por vezes é mais vantajoso fazer manualmente, do que estar a corrigir os eventuais erros que ocorrem no automático. Outro fator de decisão é a relação custo/tempo quando no processo existe um cliente. O preço captura com tratamento de dados automático é bastante menor do que o tratamento manual, pois este implica o custo do trabalho do técnico. Para realizar o labeling utiliza-se sempre o movimento ROM, como já referido, pois este tem as amplitudes do movimento do ator que serviram posteriormente para a calibração. José Dinis v.01 @ 2011 63 Fig 1.41 - Correspondência entre a lista dos nomes dos marcadores e os marcadores resultantes da reconstrução - labelling Selecionar: • Activity Bar > Labeling: o Modes : Sequence o Rules : Forward o Tools > Auto Vel. Label: Activo A acção seguinte corresponde a selecionar na lista Labels o primeiro marcador "LFHD" e clicar no marcador correspondente na vista 3D Workspace (consultar colocação de marcadores capitulo 1.4.1 Colocação José Dinis v.01 @ 2011 64 de marcadores em sujeitos). Esta operação é repetida para todos os restantes marcadores. Após terminar a lista, selecionar: • Activity Bar > Pipeline > AutoLabelROM o Autolabel Range of motion o Trajectory Labeler o Fill gaps using splines o Kinematic Fit o Export data to C3D File No capitulo 1.7 Tratamento dos dados - Movimentos do ator, vamos abordar a questão do tratamento de dados, pois ao executar as operações "Fill Gaps using Splines" e "Kinematic Fit", já estamos a realizar funções do tratamento de dados automático, as quais vamos analisar mais à frente, capitulo 1.7.1 Modo Automático. Caso se pretenda realizar o tratamento de dados manual, ver capitulo 1.7.2 Modo Manual. 1 . 6. 3 . 3 C R I A Ç Ã O D O VSK Depois de se realizar o labeling é criado o ficheiro VSK, isto é calibrar o esqueleto. Na timeline colocar o cursor numa frame em que o actor esteja em Tpose, normalmente frame 1. José Dinis v.01 @ 2011 65 Para definir que o sujeito está em T-Pose ao software, selecionar: • Activity Bar > Subject • Events > • Events > T-Pose Event Após criar o evento T-Pose, surge na timeline a indicação do mesmo, um T a azul. Selecionar: • Calibrate > Calibrate Subject (demora uns segundos a realizar a operação) • Export > Export Vicon Skeleton José Dinis v.01 @ 2011 66 Ao selecionarmos Export Vicon Skeleton, foi criado no nosso projeto um ficheiro com a extensão VSK que corresponde à informação do sujeito calibrado. Por fim para gravar os dados reconstruidos, com o labeling e informação do sujeito, formato C3d, selecionar: • Activity Bar > Pipeline > AutoLabelROM o Export data to C3D file O ficheiro C3d, formato binário, contém a informação da captura de movimentos em diferentes fases, por isso não é uma informação absoluta, contudo não contém a informação "vídeo" das câmaras, estas só existem no formato X2D. A utilização de diferentes formatos de ficheiros no processo também é uma vantagem pois podemos ter diferentes informações em diferentes fases, mas mais importante, sendo um processo sequencial, a informação base não é destruida. José Dinis v.01 @ 2011 67 Após se guardar o ficheiro C3d, no Eclipse aparece um ícone a verde com a letra P, que representa este ficheiro. Para abrir o ficheiro X2D ou o C3d é necessário clicar duas vezes no ícone correto. Outro aspeto importante no Eclipse é que na coluna SUBJECTS temos a informação do nome do sujeito, na imagem subjectBruno e que corresponde ao ficheiro subjectBruno.VSK Fig 1.42 - Eclipse com informação dos movimentos, ficheiro C3d, a verde, e nome do sujeito capturado: subjectBruno O processo de labeling manual apenas é realizado uma vez, como já mencionado, utilizando o ROM, para todos os outros movimentos utilizase o VSK, pois a informação do sujeito já está calibrada. Esta utilização permite realizar uma série de tarefas mais rápidamente e com melhor qualidade, nomeadamente o labeling de todos os outros movimentos mas feito de modo automático. 1 . 6. 3 . 4 I M P O R T V S K Durante a captura, o ator deve iniciar sempre o movimento com a postura T-Pose, pois será mais fácil para o técnico reconhecer os marcadores bem como para o software. O T-Pose associado ao VSK que vamos importar, permite realizar o tratamento dos dados com maior facilidade, pois é possivel agora realizar o labeling automático com maior sucesso. Para isso é necessário importar o VSK. Existem duas formas de importação do ficheiro VSK, ou através da base de dados do Eclipse ou através da informação dos sujeitos (Activity Bar > Subjects > Import Vicon Skeleton (VSK)). José Dinis v.01 @ 2011 68 Através do Eclipse, na coluna subjects caso esteja em branco, copiar o nome do sujeito/ficheiro VSK e preencher, em seguida abrir o C3d (clicar duas vezes no ícone verde) Através da informação dos sujeitos, selecionar: • Activity Bar > Subjects > Import Vicon Skeleton (VSK) • selecionar ficheiro VSK Na caixa de listagem Active Subjects aparecerá o nome do sujeito importado. 1.7 T R ATA MENTO José Dinis v.01 @ 2011 DE D ADO S - MOVIMENTOS DO ATO R 69 O tratamento de dados corresponde a uma sêrie de tarefas, nomeadamente: • labelling fazer corresponder o nome dos marcadores calibrados VSK, aos marcadores reconstruídos • preencher as falhas de continuidade das trajetórias dos marcadores, criadas pela oclusão • solving ou kinematik fit - a partir da informação da posição dos marcadores fazer corresponder um esqueleto Existem duas opções para realizar o tratamento de dados: modo automático e modo manual. Muitas das vezes a solução para o tratamento de dados passa pela realização de algumas operações automáticas e outras manuais, algo que se obtêm pela experiência pois muitas vezes o sucesso de uma operação automática depende de uma sêrie de fatores nomeadamente, tipo de movimento capturado, o markerset, entre outros. 1.7.1 M O D O A U T OM Á T I C O O modo automático, como o próprio nome refere é rápido, pois executa-se uma sêrie de operações de uma pipeline. Contudo sendo automático o resultado é quase sempre insuficiente, pois existem uma sêrie de erros que vai ser necessário tratar. Selecionar: • Activity Bar > Pipeline > Pipeline control > Data processing • Run pipeline José Dinis v.01 @ 2011 70 1.7.2 M O D O M A NU A L O modo manual é o origina maior custo tempo/valor, contudo o resultado final é sempre melhor, pois é feita uma sêrie de validações e análises aos dados. Selecionar: • Activity Bar > Pipeline > Pipeline control > Data processing o Trajectory labeler o Trim tails o Fill gaps using splines José Dinis v.01 @ 2011 71 Selecionar: • View Pane Button Bar > Split screen • ViewPane Menu bar > Continuity chart No Continuity chart podemos ver a lista dos marcadores, bem como as respectivas trajectórias, do lado esquerdo estão os nomes dos marcadores e a ocupar grande parte do interface as barras horizontais, que correspondem às trajetórias, sempre que existe descontinuidade, ou gap, a barra deixa de ser contínua, intervalos a preto, o tratamento de dados implica corrigir estas falhas: Fill gaps. José Dinis v.01 @ 2011 72 Fig 1.43 - Trajetórias dos marcadores e descontinuidades Para corrigirmos as falhas de informação vamos utilizar as ferramentas que estão disponiveis no painel Fill Tools, selecionar: • Activity Bar > Editing • View Pane Button Bar > Split screen • ViewPane Menu bar > Graph José Dinis v.01 @ 2011 73 Fig 1.44 - Layour do iQ organizado para tratamento de dados: 3D Workspace, Outliner e Graph • Linear – Permite reconstruir uma trajectória linear rectilínea. A base de representação do correspondente segmento de recta baseia-se em dois ou mais pontos e no comportamento anterior e posterior à porção a reconstruir. É aplicada em pequenas falhas temporais. Fig 1.45 - Tratamento de uma descontinuidade através da função Linear José Dinis v.01 @ 2011 74 • Spline - Permite reconstruir uma trajectória linear curvilínea. A base de representação da correspondente curva baseia-se em dois ou mais pontos e no comportamento anterior e posterior à porção a reconstruir. É aplicada em pequenas falhas temporais. Fig 1.46 - Tratamento de uma descontinuidade através da função Spline • Kin Model – Permite reconstruir uma trajectória tendo por base um modelo humano cinemático. • Associated – Permite reconstruir uma trajectória tendo como referência dois ou mais marcadores, nos quais não existam falhas. • Ordered. xxxxxxxxxxxxxxxxxxxxxxxxxxxxx • Virtual Pts – Permite reconstruir uma trajectória tendo por base marcadores virtuais que resultaram do cálculo da trajectória de outros marcadores. • Rigid body – Permite reconstruir uma trajectória tendo por base um elemento “rigid body” que resultou do cálculo da trajectória de outros marcadores. Em seguida, selecionar: • Activity Bar > Labeling • Rules > Range José Dinis v.01 @ 2011 75 • Activity Bar > Editing • 3D Workspace > selecionar o marcador pretendido • Graph > selecionar o intervalo pretendido - para isso basta selecionar e arrastar o rato na área pretendida • Fill tools > Linear José Dinis v.01 @ 2011 76 Após realizadas todas as correções são aplicadas as seguintes operações da pipeline: • Activity Bar > Pipeline • Delete Unlabeled Trajectories • Kinematic Fit (Version 2.1.2) • Kinematic Smooth • Filter Using Weigthed Point Average O tratamento de dados não é a solução para todas as situações. Muitas vezes a oclusão de um marcador é demasiado extensa, e não há maneira de compensar a falha de informação sem criar ruído ou informação errada no marcador. Para este tipo de situação é utilizada a designada customização do markerset. Esta é uma operação mais avançada e não é abordada neste manual. De uma forma breve, a customização do markerset corresponde à inserção de novos marcadores e modelação/alteração de um esqueleto de modo a que os novos marcadore compensem a falha de informação dos marcadores já existentes. Esta abordagem é muito usada no caso de movimentos do tipo “deitar no chão” em que não se podem colocar câmaras por baixo do actor. A questão da customização do markerset tem esta vantagem de permitir obter um número maior de informações, contudo o facto de se adicionar José Dinis v.01 @ 2011 77 mais marcadores ao markerset obriga a um maior trabalho por parte do técnico em todas as operações de tratamento de dados. 1.8 E XPOR TAÇÃO José Dinis v.01 @ 2011 DE D ADOS 78 Os dados adquiridos podem ser exportados em diversos formatos. Para este manual, vamos apenas abordar dois fomatos utilizados em animação: • Ficheiro com extensão .Csm - utilizado em 3D Studio Max • Ficheiro com extensão .C3d - utilizado em Motionbuilder 1.8.1 F OR M AT O CSM O fomarto Csm é um ficheiro de texto, contém as coordenadas dos marcadores e é utilizado maioritariamente para exportar a informação da posição dos marcadores para o Biped do 3D Studio Max. Porém, para exportar os dados neste formato, não podem conter qualquer falha de continuidade, gap, pelo que é importante que os dados estejam tratados. Contudo se executarmos a operação Fill Gaps using Kinematic Model esta preenche automaticamente qualquer falha existente. Selecionar: • Activity Bar > Pipeline > Pipeline control > Data processing: • Fill Gaps using Kinematic Model • Export data to CSM file 1.8.2 F OR M AT O C3D José Dinis v.01 @ 2011 79 É um ficheiro de texto/binário que contém as coordenadas dos marcadores, cloud data, e é utilizado para exportar a informação da posição dos marcadores Mocap para o Motionbuilder. Selecionar : • Activity Bar > Pipeline > Pipeline control > Data processing > Export data to C3D file 2. A NIMAÇÃO EM M OTIONBUILDER José Dinis v.01 @ 2011 80 2.1 I MPO RTAÇÃO M OTIONBU ILDER DE FICHEIROS C3D PARA O Este capítulo explicita o modo como o software Motionbuilder realiza o solving da cloud data para a funcionalidade Actor. Na seção do manual relacionada com iQ foi utilizado o termo ator para fazer referência ao executante que realiza o movimento a ser capturado. No Motionbuilder será utilizado o termo Actor, termo em inglês com tradução portuguesa ator. Actor é uma funcionalidade que se refere à personagem utilizada para realizar o solving do cloud data para o esqueleto do Motionbuilder. O Motionbuilder é um software da empresa Autodesk, desenvolvido especificamente para animação. Animação que pode ser de objetos ou de personagens, sendo que a animação de personagens é a grande valia deste software, daí a sua utilização neste manual. A utilização do Motionbuilder constitui uma vantagem pois que, a partir da importação e tratamento das animações neste software, podemos criar uma livraria de movimentos que à posteriori podem ser exportados para outros softwares como Maya ou 3D Max. 2.1.1 R E Q UI S I T O S : Software: Autodesk Motionbuilder 2011 2.1.2 F I C H E I R O S O ficheiro com os dados utilizado neste capítulo pode ser consultado em http://www.interactfields.com//tutorials/manual/PROJETO_C3D_Motionb uilder.rar . Este ficheiro tem uma estrutura de diretórios que foram sendo organizados conforme a experiência resultante de trabalhos profissionais. Esta estrutura surgiu fruto da necessidade de organizar a grande quantidade de ficheiros produzidos ao longo de um projecto de animação de personagens. 2.1.3 T UT O R I A L Iniciar software Motionbuilder José Dinis v.01 @ 2011 81 Fig. 2.1 - Ícone do software Motionbuilder que se encontra no ambiente de trabalho do computador Visualização • "C:\Program Files\ Autodesk\ Autodesk\Autodesk MotionBuilder 2011 32-bit\bin\win32\ motionbuilder.exe" Antes de iniciar o trabalho no Motionbuilder, o layout e deve ser configurado de modo a que as as teclas de atalho correspondam a selecções específicas. Assim, selecionar: • Settings > Keyboard Configuration > Maya • Layout > Editing, selecionar: Abrir o ficheiro R.O.M. - Range of Motion, exportado do software iQ (reconstruído e com a referência do sujeito calibrado): • File > Motion File Import • Selecionar ficheiro “00_MOCAP_DATA” José Dinis v.01 @ 2011 “ROM.c3d” no diretório 82 • Open Nas opções de importação do C3d, selecionar: • Create • Import Do ficheiro C3d, o Motionbuilder apenas importa a informação da posição dos marcadores, denominada cloud data, na imagem 2.2 representada pelos cubos azuis. No Motionbuilder a cloud data tem como ponto de origem dos marcadores uma esfera, denominada C3d:optical à qual é possível aplicar transformações. Estas transformações propagam-se ao conjunto dos marcadores. José Dinis v.01 @ 2011 83 Na janela Navigator, é possível selecionar o item Opticals, onde se vêem todos os marcadores existentes bem como a referência à base o cloud data, o C3D:optical. Fig 2.2 – C3D:optical é a base do Cloud data Em seguida, para que o Motionbuilder possa realizar o solving, deve ser o importado o Actor. Neste caso, selecionar: • Asset Browser > Actor (clicar e mover para o Viewer) • Navigator > Actores > "Actor" (clicar com o lado direito do rato) > Rename • Alterar o nome do Actor Fig 2.3 – É importante renomear o Actor pois podemos ter vários Actores no mesmo ficheiro. Já com o Actor na janela Viewer, o próximo passo corresponde a alinha-lo o mais corretamente possível à cloud data. José Dinis v.01 @ 2011 84 É importante alterar o tamanho, posição, rotações dos membros do Actor de modo a adequar-se à posição dos marcadores. O Actor deve também reflectir as dimensões do ator capturado, por isso, antes da captura de movimentos no iQ, deve-se tirar uma fotografia ao mesmo, de modo que será agora usada como referência. De modo que seja mais fácil selecionar os membros do corpo do Actor, é activada a máscara de seleção: • Viewer > Objects Selection Mask = Sim Alternado entre as diferentes vistas da janela Viewer, • Viewer > View > Perspective > Producer Perspective • Viewer > View > Orthographic > Producer Front / Producer Back / e seguintes vistas é alterada a forma, a posição e a escala do Actor em função da fotografia de referência e posição do cloud data: • Selecionar a parte denominada Hips do Actor para mover o Actor no espaço tridimensional • Selecionar as partes do Actor e teclas W - Mover / E - Rodar / R - Redimensionar Ao posicionar o membro RightCollar/LeftCollar deve-se aplicar uma compensação na rotação,cerca de 20º, ver figura 2.4, sendo que depois no membro RightShoulder/LeftShoulder volta-se a colocar no plano correto. Se não se compensar agora os ombros, à posteriori, na transposição da animação para a nossa personagem 3d, os ombros vão ficar demasiados baixos/fechados. José Dinis v.01 @ 2011 85 Fig 2.4 – Compensar a rotação dos membros RightCollar/ LeftCollar em cerca de 20º Fig 2.5 – Actor alinhado com os marcadores Após a correta adequação do Actor à cloud data e respetiva modelação dos membros em função da fotografia de referência, é criado o MarkerSet corresponde ao mesmo significado que o markerset no iQ – selecionando: • MarkerSet > Create Em seguida deve ser desactivada a máscara de selecção dos membros do Actor e selecionada a máscara para os marcadores: • Viewer > Objects Selection Mask = Não • Viewer > Markers Selection Mask = Sim José Dinis v.01 @ 2011 86 • Clicar, selecionar os quatro marcadores da cabeça e movê-los para a janela Actor Settings Realizar a mesma operação para todos os marcadores, segundo esta tabela: Elemento do Actor Cabeça Ombro esquerdo Braço esquerdo Mão esquerda Dedos mão esquerda Ombro direito Braço direito Mão direita Dedos mão direita Parte superior do tronco Cintura Anca esquerda Tornezelo esquerdo Calcanhar esquerdo Dedo do pé esquerdo Anca direita Tornezelo direito Calcanhar direito Dedo do pé direito Marcadores LFHD / RFHD / LBHD / RBHD LSHO / LUPA LELB / LFRM LWRA / LWRB LFIN RSHO / RUPA RELB / RFRM RWRA / RWRB RFIN C7 / T10 / CLAV / STRN / RBAC LFWT / RFWT / LBWT / RBWT LTHI / LKNE LSHN / LANK LHEE / LMT5 LTOE RTHI / RKNE RSHN / RANK RHEE / RMT5 RTOE Sendo que foi usado o markerset do iQ: iQ_HumanRTKM_V1, deve ser tida em conta a distribuição representada na imagem abaixo: José Dinis v.01 @ 2011 87 Fig 2.6 – MarkerSet atribuido Para que o Motionbuilder realize o solving, selecionar: • Actor Settings > Snap • Recalculate Marker set offsets for Constraint::Actor > TR (Translate/Rotate) Após esta operação, se fizermos Play na janela Transport Controls, o Actor move-se conforme a animação importada. Fig 2.7 – Solving José Dinis v.01 @ 2011 88 Guardar este ficheiro com o solving: • File > Save As... • Selecionar diretório do projeto “01_ACTORS” e atribuir um nome ao ficheiro Nas opções de guardar, selecionar: • Save No Motionbuilder existe uma funcionalidade denominada Takes, que funciona como layers independentes, cada uma com a sua animação, neste caso correspondem às animações capturadas. Isto é, a cada take corresponde um movimento exportado no iQ. Selecionar Transport Controls e em seguida takes, encontram-se listados dois takes, o “Take 001” e que é o take que existe por defeito no José Dinis v.01 @ 2011 89 Motionbuilder, sempre que abrimos um novo ficheiro, e o take “ROM_00” que corresponde ao nome da animação R.O.M., importada inicialmente. Os takes são importantes, porque cada nova animação que vamos importar corresponde a um novo take. Fig 2.8 – Takes Selecionar: • File > Motion File Import ... • Selecionar ficheiro “00_MOCAP_DATA” “Macarena_00.c3d” do diretório Nas opções de importação, selecionar: • Merge • Import José Dinis v.01 @ 2011 90 Ao definir que pretendemos realizar a operação Merge, o Motionbuilder não irá criar novos elementos na estrutura do cloud data, mas sim adicionar um novo take e utilizar a estrutura dos marcadores já existente, isto é, utilizar o mesmo Actor. A vantagem da união é a possibilidade de aplicar ao mesmo Actor diferentes movimentos, o que corresponde exactamente ao que se pretende. Esta união só acontece se forem usados dados C3d com o mesmo sujeito/objecto e que partilham a mesma nomenclatura de dados. Ao verificar no Transport Controls verifica-se que foi criado um novo take com o mesmo nome que o movimento importado. Fig 2.9 – Takes Por fim para gravar este novo ficheiro: • File > Save As... • Selecionar diretório do projeto “01_ACTORS” e atribuir um nome ao ficheiro • Save José Dinis v.01 @ 2011 91 Está finalizado o processo de importação de dados C3d para o Motionbuilder, bem como realização do solving utilizando o Actor. No diretório 01_ACTORS do projeto estão os dois ficheiros resultantes deste capítulo. José Dinis v.01 @ 2011 92 3. U TILIZAÇÃO DOS DADOS DE CAPTURA DE MOVIMENTOS EM "G AME E NGINES " 3.1 U TILI ZAÇÃO DOS DADOS DA CAPTURA DE MOVIMENTO EM V IRTOOLS , A TRAVÉS DE UMA PERSONAGEM MODELADA EM M A YA Motion Capture Maya Motionbuilder Virtools Captura Modelação Caracterização Programação Tratamento dos dados Rigging Edição dos movimentos Exportação em C3d Aplicação dos movimentos 3.1.1 R E Q UÍ S I T O S : Software aplicado: • Maya 2010 x86 • Motionbuilder 2011 x64 • Virtools 4 Plugins: • Autodesk Maya exporters for 3DVIA Virtools (5.0.0.118) o Download: http://www.tavae.com/site/?page_id=189 o Ficheiro: Maya To Virtools 5.0.0.118.exe o Supported Maya versions: 2008, 2009, 2010, 2011 (32-bit only). • FBX 2011.3.1 Plug-in for Maya 2010 o Download: http://usa.autodesk.com/adsk/servlet/pc/item?siteID=12311 2&id=10775855 o Ficheiro: fbx20113_1_maya2010_win.exe José Dinis v.01 @ 2011 93 3.1.2 F I C H E I R O S : http://www.interactfields.com//tutorials/manual/PROJECTO_Mocap_Virt ools.rar 3.1.3 T UT O R I A L O Virtools é uma plataforma que permite o desenvolvimento de aplicações para realidade virtual e jogos, mas de uma forma acessível. É um game engine. Este capítulo tem por objectivo a utilização dos dados adquiridos pelo sistema de captura de movimentos no desenvolvimento de personagens com animações. O facto de se aliar ferramentas como a captura de movimentos com o Virtools, criam-se processos que tornam mais fácil e rápido o desenvolvimento de protótipos ou aplicações para uma série de tarefas. Existem uma série de informações que são importantes a sistemática atenção aquando da exportação de objectos ou personagens do Maya para o Virtools: • No processo de modelação é importante que a personagem seja criada na postura T-Pose. • As unidades do Maya devem ser trabalhadas em centímetros, pois que, 1 centímetro no Maya corresponde a 1 unidade no Virtools. • O plugin do Virtools no Maya é utilizado para exportar 2 tipos de elementos: personagens e animações. Personagens, corresponde no Virtools ao elemento Characters. Animações, corresponde a Animations. No entanto é possível utilizar o plugin para exportar outros tipos de dados, nomeadamente objectos 3D, câmaras, luzes, etc.. (Ver no manual do Virtools "Virtools Exporter for Maya:Read Me") • Importante consultar a informação da Virtools relativamente aos requisitos técnicos do plugin, nomeadamente tipo de objectos é que suporta, que constrangimentos existem, bem como as melhores práticas para criação de personagens e animações (Ver no manual do Virtools "Importing Media into Virtools"). José Dinis v.01 @ 2011 94 3 . 1. 3 . 1 E X P O R T A R P E R S O N A G E M N O M A Y A P A R A O M O T I O N B U I L D E R Abrir o Maya • C:\Program Files\Autodesk\Maya2010\bin\Maya.exe Antes de começar a trabalhar no Maya, é importante definir o diretório do projecto, por uma questão de organização. Neste capítulo vamos utilizar o diretório dos dados de exemplo fornecido, selecionar: • File > Project > Set Projecto Folder > project_Mocap2Virtools\project_Maya Definir as unidades para centímetros: • Window > Settings/Preferences > Preferences > Categories (Settings) > Working Units > Linear = Centimeter José Dinis v.01 @ 2011 95 Caso se pretenda, podia-se iniciar o processo de modelação quer de objectos ou personagens, contudo para este capítulo apenas pretendemos exportar uma personagem bem como respetivas animações, por isso, vaise abrir um ficheiro finalizado que contém a nossa personagem, de nome “Farmer”. Este ficheiro foi retirado da documentação do Virtools, que se encontra no diretório de instalação do Virtools: ..\Virtools 4.0\Documentation\ExporterFiles\Maya_tutorial_character\scenes\man.ma . Do ficheiro original apenas se alterou a postura da personagem de modo a estar em T-Pose, bem como se apagou todas as animações de modo a aplicar-se as nossas próprias animações. Selecionar: • File > Open Scene ... > Farmer_TPose.mb (diretório” scenes” do projecto) José Dinis v.01 @ 2011 96 O ficheiro Farmer_TPose.mb, como já referido contém a personagem "Farmer": Fig 3.1 – Esqueleto da personagem Caso a representação das joints impeça a visualização da personagem, selecionar: • Window > Settings/Preferences > Preferences > Categories (Kinematics) > Inverse Kinematics > Joint Size = 0.05 José Dinis v.01 @ 2011 97 De seguida vamos exportar a personagem para o Motionbuilder, onde será feita a animação, para isso vamos usar o formato Fbx. Selecionar: • File > Export All (Options) • Guardar o ficheiro no directório do projecto denominado “Fbx” (abre por defeito) com o nome: ”Farmer_TPose_Maya2Mobu_Caracterized.fbx” Nas opções do plugin ter em atenção que a opções Constrains e FBIK Definitions estão ativas, pois assim o Motionbuildeer ao importar o ficheiro vai reconhecer a estrutura da personagem e fazer a caraterização7 automáticamente. 7 A caracterização permite ao Motionbuilder reconhecer o esqueleto da personagem José Dinis v.01 @ 2011 98 3 . 1. 3 . 2 E X P O R T A R P E R S O N A G E M N O M A Y A P A R A O V I R T O O L S Em seguida vamos carregar o plugin do Virtools no Maya. Através do Maya podemos exportar os dados para o Virtools utilizando o formato “.NMO”. Podemos também exportar no formato Collada “.DAE” pois o Virtools também importa este tipo de ficheiro, contudo teriamosmos de instalar no Maya o pugin que se encontra neste endereço: http://sourceforge.net/projects/colladamaya/files/ Selecionar: • Window > Settings/Preferences > Plugin Manager > Maya2Virtools2.mll = Loaded On José Dinis v.01 @ 2011 99 Selecionar: • File > Export All (Options) • Em seguida no interface do plugin, “General Options >> File Type = Virtools” José Dinis v.01 @ 2011 100 É possível exportar directamente a personagem bem com uma animação se activarmos a opção Enable Animation nas opções do plugin, contudo nesta fase iremos apenas exportar a personagem, sem inclusão de qualquer animação. Selecionar: • “Export All” e gravamos o ficheiro resultante com o nome: “Farmer.nmo” no directório do projecto do virtools que se encontra em: José Dinis v.01 @ 2011 101 “..\project_Mocap2Virtools\project_Mocap2Virtools\Chara cters “. Pois deste modo quando se importar os dados para o Virtools, este será reconhecido como Character. 3 . 1. 3. 3 I M P O R T A R A P E R S O N A G E M N O V I R T O O L S C O M O C H A R A C T E R Abrir o Virtools Fig 3.2 – Icone do Virtools • C:\Program Files\Virtools\Virtools 4.0\ Dev.exe Importar o directório de exemplo para o Virtools, selecionar: • Resources > Open Data Resource • em seguida o ficheiro: project_Mocap2Virtools.rsc José Dinis v.01 @ 2011 102 No interface do Virtools surgirá um marcador com o nome “project_Mocap2Virtools”. De seguida: • selecionar o directório "Characters" e vemos listado o ficheiro Framer.nmo • arrastar este ficheiro para a vista de perspetiva Na vista de perspetiva após a importação, temos a personagem: José Dinis v.01 @ 2011 103 Fig 3.3 – Personagem sem iluminação Como nas opções do plugin do Virtools não foi exportada qualquer luz, nesta fase é necessário ajustar a cor emissiva dos materiais: • Através do Level Manager selecionar cada um dos materiais presentes na cena (clicar duas vezes no material),e no “Material Editor” , parâmetro “emissive” selecionar a cor branca. A importação da personagem para o Virtools está concluida, falta apenas guardar o ficheiro com o nome Farmer_Animation.cmo, selecionar: • File > Save as ... José Dinis v.01 @ 2011 104 3 . 1. 3 . 4 A N I M A R A P E R S O N A G E M N O M O T I O N B U I L D E R Abrir o Motionbuilder • "C:\Program Files\ Autodesk\ Autodesk\Autodesk MotionBuilder 2011 32-bit\bin\win32\ motionbuilder.exe" Antes de iniciar o trabalho no Motionbuilder, o layout e deve ser configurado de modo a que as teclas de atalho correspondam às do presente manual e ao frame-rate. Assim, selecionar • Settings > Keyboard Configuration > Maya José Dinis v.01 @ 2011 105 Menu Layout, selecionar: • Layout > Editing Transport Controls, selecionar: • PAL • Snap On Frames De seguida é importado o directório do projecto deste tutorial para o Motionbuilder. Portanto, selecionar: • Asset Browser > botão esquerdo do rato (Add favorite path) • selecionar o diretório do projecto: “project_Motionbuilder” Importar o ficheiro da personagem selecionar: • Asset Browser > botão esquerdo do rato (Add favorite path) José Dinis v.01 @ 2011 106 A personagem dentro do Motionbuilder vai ficar com a escala reduzida, se pretender fazer zoom, selecionar esta e clicar tecla "z". Devido ao clipping da câmara do Motionbuilder têm de se alterar a profundidade dos planos para que a visualização esteja correta: • Navigator > Producer Perspective > Camera Settings > Near Plane: 0 Se se selecionar a personagem podemos verificar que esta se encontra caracterizada (a caracterização é um passo necessário sempre se trabalha com personagens no Motionbuilder, e que permite reconhecer o esqueleto da personagem). Estar caraterizada deve-se ao fato de quando da exportação do Maya, ativou-se a opção FBIK Definitions. José Dinis v.01 @ 2011 107 Fig 3.4 – Personagem caraterizada Em seguida vai-se aplicar um ficheiro de animação, selecionar: • Navigator > Story • Asset Browser > project_Motionbuilder > Animations_Library > M_Walk_Cycle e mover este ficheiro para a Story Na janela Story fica uma pista do tipo Character Track sendo que a personagem selecionada é o Farmer. A indicação a vermelho corresponde ao ficheiro com a animação importada, no passo anterior. Fig 3.6 – Pista animação de personagens com o movimento importado É necessário fazer corresponder a Transport Controls ao tempo da animação importada, quer para fazer Play e ver toda animação, quer para quando aplicado o movimento à personagem, esta tenha o tempo correto: José Dinis v.01 @ 2011 108 • selecionar sobre a àrea vermelha, com o lado direito do rato > Frame Start/End Definida a duração correta, esta é aplicada a animação. Esta acção é denominada plotting: • Navigator > Characters (Farmer) > Character Settings > Plot Character • Plot animation from Control Rig to... > Skeleton • Character > Plot José Dinis v.01 @ 2011 109 Após o plotting da animação, esta passa a existir no esqueleto da nossa personagem. Vamos por isso em seguida exportar apenas o esqueleto e as respetivas keyframes: • Navigator > Scene > selecionar a "root_joint", a "joint" da base do esqueleto da personagem > selecionar o lado direito do rato em cima da "joint" > Select Branches (para selecionar toda a hierarquia do esqueleto) Para exportar, selecionar: • File >Save Selection... > guardar com o nome "M_Walk_29F" no diretório "Animations_Export2Maya" Com esta operação completa-se a aplicação de uma animação à personagem: foi importada uma animação, de seguida aplicada ao esqueleto e posteriormente exportado o esqueleto. Assim é constituído um ficheiro da edição que contém a animação importada na janela Story, se assim se pretende, é possível guardar este ficheiro. José Dinis v.01 @ 2011 110 3 . 1. 3 . 5 I M P O R T A R A N I M A Ç Ã O N O M A Y A Novamente no Maya, a animação é importada de modo que actualize o esqueleto. Selecionar: • File > Import > M_Walk_29F Na opções de importação, como se pretende apenas atualizar a personagem com a nova animação, selecionar: • File content: Update scene elements José Dinis v.01 @ 2011 111 Verificar que na timeline do Maya o esqueleto adquiriu as keyframes importadas. Fig 3.7 – Personagem com a "keyframes" no esqueleto Se numa operação anterior tinha sido exportada, apenas, a personagem, que já se encontra no Virtools, este novo ficheiro vai conter só a animação Walk. Este processo repete-se o número de vezes necessárias quanto as animações que se pretende exportar. Outra opção poderia ser a criação de uma série de animações seguidas na timeline do Maya, e em seguida na programação do Virtools separar definindo os intervalos entre animações. No Maya vamos exportar a animação para o Virtools: • File > Export All... (Opções) > File type: Virtools • Animation Name:Walk • Animations Options: Sim • Export All • Atribuir o nome ao ficheiro "Walk" e selecionar o diretório " project_Mocap2Virtools\Characters\Animations" > Export José Dinis v.01 @ 2011 112 3 . 1. 3 . 6 I M P O R T A R A N I M A Ç Ã O D O M A Y A P A R A O V I R T O O L S No software Virtools, dentro da estrutura Characters > Animations encontra-se o ficheiro da animação "Walk.nmo", exportado anteriormente. José Dinis v.01 @ 2011 113 Fig 3.8 – Ficheiro com a animação Walk Para importar a animação para o Virtools: • selecionar a animação pretendida e mover para cima da personagem no Level Manager No Level Manager abaixo do nome da personagem, "Farmer", existe um elemento chamado "Animations" e que corresponde às animações da personagem selecionada. Neste caso, temos o "Walk". Em seguida: • selecionar o "Farmer" e clicar tecla "s", para criar um novo script José Dinis v.01 @ 2011 114 • Clicar duas vezes no script, para aceder ao interface "Schematic", e adicionar os building blocks: "Keyboard Controller" e "Character Controller". • Nos parâmetros do building block "Character Controller", no item Walk Anaimartion selecionar "walk", que corresponde ao nome da animação importada Para testar a animação, selecionar: • Play José Dinis v.01 @ 2011 115 Por fim, para gravar o trabalho realizado no Virtools, selecionar: • File > Save As... > Framer.cmo > Save Está concluído o processo de utilização dos dados resultantes da aquisição do movimento no Virtools. José Dinis v.01 @ 2011 116