Engenharia Multimédia
3º Ano - 2º Semestre
Multimédia interactiva
Teste tipo
Data : 29/06/2007
Duração : 60 Minutos
Parte Teórica
Prof. : Jorge Mota
Numero : Nome :
I. (3 valores) A expressão “Pose-to-Pose Animation” descreve um processo de animação que foi grandemente popularizado pelos estúdios Disney na primeira metade do século 20 nos seus filmes animados e criaram métodos de produção em série para a mesma. A Computação Gráfica actual utiliza sobretudo estes processos de animação como fundamento dos softwares de animação. Neste tipo de animação são usados Keyframes para marcar os quadros chave de animação a partir dos quais são feitos a “interpolação” do movimentos intermédios.
a.
Relacione o conceito de “controller” de animação em 3Dstudio Max com o anteriormente foi dito.Resposta: A expressão “pose-t o-pose” em animação por computador designa a técnica em que são criadas as poses (posições chave dos objectos que expressam a animação) correspondentes a determinada movimento ou combinação de movimentos, e em que se pretende que a “interpolação” intermédia dos movimentos seja feita pelos recursos associados ao “setup” de animação montado para o efeito.
Estes “setups” podem ser simples interpolações de movimento de uma keyframe ou montagens mais complexas de conjuntos de keyframes usando IK ou FK. No 3Dstudio Max possuímos inúmeros tipos de “controllers” que permitem da simples interpolação linear de movimentos, a interpolações mais avançadas, mais habituais em movimentos de personagens “biped”: como controllers bézier, ou TCB. O conceito de “controller” está portanto associado às funcionalidades de interpolação entre “keyframes”.
b.
Explique o que é um áudio “controller” e dê exemplos de uma possível aplicação?Resposta : Um áudio “controller” permite que a interpolação do movimento (posição, rotação ou escala) entre keyframes seja proporcional ao valor relativo ou absoluto da dinâmica do som de uma waveform associado ao controller. O formulário de configuração deste controlador (“controller”) de animação , permite estabelecer os limites de animação para cada componente xyz da transformação que está a ser animada (limite superior e inferior).
c.
Explique a utilidade dos “expression controller”, e de que forma estes podem aumentar a produtividade de um animador em 3Dstudio Max? Dê um exemplo prático.Resposta: Os “expression controllers” são controladores em que se pode de forma explícita representar a expressão matemática que faz a interpolação do movimento nas componentes xyz. Usando 4 variáveis que representam as unidades de tempo da timeline (F,NT,S e T) e um conjunto pré-definido de funções expressa-se a formulação matemática do movimento relativamente a estas variáveis. Podem ainda definir-se variáveis próprias para expressar valores como aceleração, gravidade, velocidade, força ou outras.
Engenharia Multimédia
3º Ano - 2º Semestre
Multimédia interactiva
Teste tipo
Data : 29/06/2007
Duração : 60 Minutos
Parte Teórica
Prof. : Jorge Mota
Numero : Nome :
II. ( 1 valor) A modelação de personagens para jogos de vídeo é uma das aplicações do 3Dstudio Max. Explique em que medida uma linguagem como o Maxscript pode ser uma poderosa ferramenta de melhoria da produção, interoperabilidade e mesmo optimização do trabalho neste tipo de tarefa.
Resposta: O Maxscript é uma linguagem de programação embebida no 3Dstudio Max, que permite aceder a mais de 90% das funcionalidades do próprio Max, através da exposição do seu modelo de objectos. Complementarmente esta linguagem e ambiente associado (Macro Recorder, Visual Maxscript, personalização do interface do Max) permite uma personalização avançada de qualquer procedimento no 3Dstudio Max, facilitando a sua implementação e permitindo a execução de funcionalidades não expostas de forma explicita pelo 3Dstudio Max. Como exemplos podemos citar a hipótese de automatizarmos a animação de personagens com interfaces amigáveis, desenvolver modelos de animação complexos pela formulação matemática dos mesmos (física do movimento, AI), exportamos modelos e animações em formatos distintos dos suportados de base pelo 3Dstudio Max e executarmos conjuntos de procedimentos com apenas um único click num botão (por exemplo).
III. (2 valores) Terminou o campeonato (Liga), mas tudo o que se relaciona com o Futebol continua em “alta”, a publicidade, as noticias nos media, os jogos de vídeo por computador e consolas, as comparações linguísticas de práticas do dia a dia com a linguagem simples e popular do futebol.
Diga como procederia e apresente as expressões e variáveis necessárias ao desenvolvimento da animação de uma bola de futebol, chutada num jogo ( ver esquiço) utilizando um MaxScript Expression Controller:
NT – “Normalized Time” G – 9,8 2
s
m
X= velocidade * sin (angulo) * NT * 10 Y=0
Z=velocidade * cos (angulo) * NT * 10 – G (NT*10)^2/2
Resposta: Vamos criar uma bola (ex: esfera) e atribuir a esta esfera um expression controller Velocidade Inicial
Z
Percurso da Bola
Engenharia Multimédia
3º Ano - 2º Semestre
Multimédia interactiva
Teste tipo
Data : 29/06/2007
Duração : 60 Minutos
Parte Teórica
Prof. : Jorge Mota
Numero : Nome :
1 – Criar a esfera – ir ao painel geometry>sphere
2 – Atribuir um expression motion controller – ir ao painel motion>parameters>assign controller >position e escolher o botão assign controller [?] : em seguida escolher o position expression:
Engenharia Multimédia
3º Ano - 2º Semestre
Multimédia interactiva
Teste tipo
Data : 29/06/2007
Duração : 60 Minutos
Parte Teórica
Prof. : Jorge Mota
Numero : Nome :
4 - Criar a expressão que permite calcular a rota da bola usando as expressões fornecidas:
[ velocidade * sin (angulo) * NT * 10, 0, velocidade * cos (angulo) * NT * 10 - G * (NT*10)^2/2 ] Para ver a trajectória ligar o botão Trajectories:
Engenharia Multimédia
3º Ano - 2º Semestre
Multimédia interactiva
Teste tipo
Data : 29/06/2007
Duração : 60 Minutos
Parte Teórica
Prof. : Jorge Mota
Numero : Nome :
IV. (4 valores) As actuais implementações de Maxscript possuem um editor visual de interfaces designado por Visual Maxscript.
a) Como pode aceder a esta ferramenta em 3Dstudio Max? Resposta : existem várias hipóteses:
I: Ir ao menu MaxScript e escolher a opção MaxScript:
II: Ir ao separador utilities e escolher a opção MaxScript > NewScript > Edit > New Rollout (ou Edit Rollout):
III : Premir F11 > file > new script > edit > New rollout
b) Identifique três objectos visuais disponíveis nesta ferramenta e descreva o seu objecto e características.
Resposta : O Visual Maxscript possue disponíveis 21 objectos correspondentes a outros tantos objectos em MaxScript, três exemplos são:
I: bitmap control, mostra uma imagem bitmap e gera as o seguinte código no editor de macros:
rollout imagemJM "Fotografia JM" width:162 height:234
(
bitmap foto "B itmap" pos:[1,3] width:160 height:228 enabled:true fileName:"fotojm.jpg"
)
Para mostrar este rollout acrescentar a seguinte linha de código: createDialog imagemJM
Engenharia Multimédia
3º Ano - 2º Semestre
Multimédia interactiva
Teste tipo
Data : 29/06/2007
Duração : 60 Minutos
Parte Teórica
Prof. : Jorge Mota
Numero : Nome :
Engenharia Multimédia
3º Ano - 2º Semestre
Multimédia interactiva
Teste tipo
Data : 29/06/2007
Duração : 60 Minutos
Parte Teórica
Prof. : Jorge Mota
Numero : Nome :
III: List Box cria uma list box
c) Identifique os pontos fracos desta ferramenta dando um exemplo para cada situação inventariada.
Resposta: Esta ferramenta é um simples gerador de código inicial para interfaces, limita-se a gerar a sintaxe dos objectos visuais que são colocados na área de trabalho do editor. Embora suporte algum feedback entre o editor de Maxscript e o editor do Visual Maxscript apresenta como inconveniente o facto de neste ciclo poder alterar outras instruções colocadas no código. Por exemplo o eliminar as instruções createdialog.
d) Como se faz, em maxscript, a chamada a uma Janela criada em Visual Maxscript.
Resposta : usando a instrução createDialog <nome da janela> .
V. ( 2 valores) Como se cria uma luz OMNI em Maxscript? Explique usando uma linha de código exemplo.
Resposta: Para criar uma luz omni usamos a seguinte construção em Maxscript:
omni=omnilight farAttenStart:20 farAttenEnd:100 useFarAtten:true v=255
Basta usarmos o construtor para o objecto, e atribuirmos valores aos atributos que pretendemos usar.
Para além da omni ainda poderíamos usar os seguintes construtores para as outras tipo de luzes:
freeSpot targetSpot
Engenharia Multimédia
3º Ano - 2º Semestre
Multimédia interactiva
Teste tipo
Data : 29/06/2007
Duração : 60 Minutos
Parte Teórica
Prof. : Jorge Mota
Numero : Nome :
freeDirect targetDirect
VI. (2 valores) Como é que se cria uma painel com uma list Box Maxscript? Explique usando uma linha de código.
Resposta: Já respondido na pergunta 4, alínea b).
VII. ( 2 valores) Como é que, em Maxscript, se acede a um objecto ‘filho’ que faça parte de uma hierarquia.
Resposta : De uma forma geral acede-se a um objecto de uma hierarquia usando a seguinte notação à a.children[índice] em que a é a um objecto com “filhos” e com o método children podemos aceder a qualquer filho na hierarquia. O índice permite aceder a cada filho da hierarquia.
Podemos ainda acrescentar o seguinte:
Para criar um LINK entre dois objectos a e b (filho) fazemos: b.parent=a
para criar e acrescentar mais um filho(esfera) e a um objecto b fazemos: append b.children e
Para sabermos quantos filhos tem um objecto C, fazemos : c.children.count
Para listar todos os filhos de um objecto d fazemos: d.children
VIII. (2 valores) O que são objectos do tipo “low-poly mesh”? Dê um exemplo prático da sua aplicação.
Resposta : “Low-poly mesh” são objectos com baixo nível de poligonação (com
poucos polígonos – “polygons”) especialmente úteis em aplicações como jogos
3D ou “props” para visualização em tempo real (realidade virtual) e que está em
contraposição a objectos de elevado nível de poligonação como os resultantes
de uma reconstituição 3D de imagem médica por ressonância magnética por
exemplo. Em computação gráfica e informática , “polygons” são os objectos
que os designers usam para modelar tridimensionalmente um objecto
complexo. Normalmente são triângulos. Quantos mais triângulos usarmos mais
detalhes temos nos objectos mas mais poder computacional é necessário para
Engenharia Multimédia
3º Ano - 2º Semestre
Multimédia interactiva
Teste tipo
Data : 29/06/2007
Duração : 60 Minutos
Parte Teórica
Prof. : Jorge Mota
Numero : Nome :
como os video Jogos para computador. Normalmente os motores de jogos
limitam o numero de poligonos que podem manipular por frame (ou segundo).
IX. ( 2 valores) Explique como se associa uma mesh a uma estrutura óssea em Max e como se faz compatibilização desta mesh com a área de influência de cada osso ? Resposta: Usando o modificador SKIN:
Seleccionar uma mesh, patch, ou objecyo NURBS > Modify panel > Modifier List > Object-Space Modifiers > Skin
Ou
Seleccionar uma mesh, patch, ou objecto NURBS > Modifiers menu > Animation Modifiers > Skin