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

Documentos relacionados