Home

UM SISTEMA INTERATIVO DE ANIMAÇÃO NO - PUC-Rio

image

Contents

1. Edition SHADE TYPE STRAUSS SHADOW FALSE BRP home grad lamanna bonecos dedos brp COLOR home mscialhberto cor laranja metal cor Medit ee SHADE_TYPE STRAUSS SHADOW FALSE Movements END Follow Tracks CAMERA OBS 6 400 1 550 0 600 COL 0 280 3 600 0 600 eset rj YUP 0 000 0 000 1 000 D 1 000 Gor APERTURE 30 000 30 000 BetweenCERAME CO FRAME 30 go_west 180 000 TOTAL eS poe EeMCFRAMECOS FRAVE 30 go northC180 000 TOTAL Zoom rj LIGHTS BACK 61166 000 61690 000 54484 000 i Lo RE TYPE SPOT POSITION 0 000 5 000 5 000 Tilt e DIRECTION 0 000 5 000 5 000 COLOR 65535 000 65535 000 65535 000 SOLID ANCLE 30 000 any SPOT TYPE SOFT E Li Traveling TYPE SPOT POSITION 10 000 10 000 10 000 DIRECTION 10 000 10 000 10 000 Cancel Movements COLOR 65535 000 65535 000 65535 000 SOLID AMGLE 35 000 SPOT TYPE SOFT L2 TYPE SPOT POSITION 5 000 2 000 7 000 i Module Camera File proj prosim tookimaz o interface scripts maosp Figura V1 5 Interface com a coluna de bot es do m dulo CAMERA O primeiro bot o desta coluna o Import Def File que permite carregar um arquivo de defini o de c mera cdef O arquivo de defini o de c mera segue o padr o visto na se o V 4 e pode ser constru do diretamente no modelador do ProSIm O bot
2. VI 2 CRIA O DE TRA ETORIAS Como j visto no cap tulo anterior as trajet rias a serem seguidas por atores c mera ou fontes de luz em uma anima o podem ser definidas por arquivos de pontos de controle O bot o Create Tracks na linha de bot es da janela principal funciona como um editor destes arquivos de pontos de controle H tr s tipos de trajet rias poss veis de serem editadas lineares circulares e livres Trajet rias lineares s o retas tra adas entre um ponto inicial e um ponto final dados Trajet rias circulares exigem um ponto inicial onde o c rculo come ar a ser desenhado um eixo de rota o para determinar o plano em que ser calculado o c rculo um ponto de refer ncia origem do eixo de rota o que determina o raio do c rculo e o n mero de graus girados se este n mero for menor que 360 a trajet ria n o ser uma circunfer ncia fechada mas um arco Trajet rias livres permitem a entrada de um n mero qualquer de pontos de controle que ser o interpolados em uma B Spline c bica para a gera o da trajet ria A sa da do editor de trajet rias um arquivo de pontos de controle tck que apenas um arquivo texto iniciado com o n mero de pontos de controle seguido de suas coordenadas Este arquivo de pontos de controle pode ser associado ao movimento dos atores da c mera ou das fontes de luz como ser visto nas se es seguintes A B Raposo 70 V1 3 ATORES O
3. deslocam o observador nas dire es acima descritas O valor deste deslocamento dado pelo par metro n Existe uma outra maneira de considerar o movimento do observador em torno do centro de interesse Esta maneira consiste em considerar o coi como o centro de uma esfera sobre a qual desloca se o observador nas dire es cardeais Este m todo garante que o movimento mant m o raio da esfera constante As fun es s o go north go south go east ego west como indica a Figura V 4 Por conven o o Norte indicado pelo vup e as outras dire es s o avaliadas considerando o observador olhando para o coi tendo a sua direita o Leste Figura V 4 Coi como centro de uma esfera e go north n go south n go east n go west n deslocam o observador nas dire es acima descritas O valor em graus deste deslocamento dado pelo par metro n Devem ser usadas para ngulos pequenos entre 90 e 90 Um Sistema Interativo de Anima o no Contexto ProSlm 55 e go flying x y z permite o deslocamento do observador para uma posi o arbitr ria mas garantindo que a dire o de visualiza o seja recalculada para se ajustar dire o deste movimento Os par metros da fun o s o as coordenadas da posi o para a qual o observador se deslocar e go crow x y Z arrasta o observador para a posi o especificada mantendo vpn constante isto arrastando tamb m o coi Os valores dos deslocamentos
4. home mscialberto cor laranja metal cor SHADE TYPE STRAUSS Movements SHADOW FALSE Al Follow Tracks ERP home grad lamanna bonecos carpo2 brp COLOR fhowe mscfalberto cor laranja_metal cor SHADE TYPE STRAUSS Translate Actor SHADOW FALSE Bo Rotate Actor BRE home grad lamannasbonecos carpo3 brp COLOR Shome mscfalberto cor laranja_metal cor SHADE_TYPE STRAUSS Scale Actor SHADOW FALSE Agi Activate Deactivate ry BRP home grad Tamanna bonecos carpos brp COLOR home msc alberto cor laranja metal cor A SHADE TYPE STRAUSS Metamorphosis m SHADOW FALSE Ad BRP home grad lamanna bonecos carpos brp COLOR fhowe mscfalberto cor laranja_metal cor Cancel Movements SHADE TYPE STRAUSS SHADOW FALSE External Features Aa BRE home grad lamannasbonecos dedol brp Geometry COLOR home mscfalberto cor laranja_metal cor SHADE_TYPE STRAUSS Texture gs PERA FALSE ERP home grad Tamanha bonecos dedo2 brp COLOR home mscialberto cor laranja metal cor SHADE TYPE STRAUSS SHADOW FALSE Modules Actors and Groups File proj prosim tookimaz o interface scripts macaspt Figura VI 1 Vis o geral da interface VI 1 COMANDOS GERAIS Os primeiros bot es da linha de bot es tratam de fun es do sistema ou de par metros gerais do roteiro O bot o File apresenta um submenu com comandos referentes manipula o de arquivos roteiros de
5. na interface os projetistas devem selecionar os sinais dentre os estabelecidos culturalmente pelos sistemas de comunica o e Use sempre que poss vel sinais para refor ar a express o dos dispositivos da interface do computador tais como mouse pointers janelas menus etc e Sempre construa sistemas comunicativos de UI capazes de expressar se de maneira clara A B Raposo 14 O desenvolvimento da componente de intera o engloba ent o diversas reas de estudo engenharia de software semi tica lingu stica ci ncia comportamental psicologia cognitiva al m da rea espec fica para a qual o programa est sendo desenvolvido por exemplo uma interface para um programa m dico exigir a presen a de algum m dico em seu desenvolvimento O objetivo final dessa etapa o desenvolvimento de um prot tipo da UI que ser testado e avaliado com os usu rios levando ao reprojeto se necess rio O desenvolvimento do software de interface por sua vez adota a vis o do sistema sobre a interface e envolve algoritmos bibliotecas de procedimentos estruturas de dados etc S o descritas as a es do sistema em resposta s a es do usu rio Esta etapa engloba as reas de ci ncia da computa o e engenharia de software O objetivo desenvolver o software que implementa o componente de intera o 1 3 FERRAMENTAS As primeiras dificuldades encontradas para o desenvolvimento de UIs ocorrera
6. transla o for absoluta ou o valor que o ator se deslocar em cada dire o a partir de seu centro de gravidade se a transla o for relativa Exemplo ACTORS AO DEFINITION actor0 adef At 2 5 translate actor ABSOLUTE 0 3 2 After 3 translate actor RELATIVE 0 2 1 TOTAL END e translate actor x A R n translate actor y A R n translate actor z A R n s o casos particulares da fun o anterior em que o deslocamento se faz de n unidades na dire o especificada Por exemplo translate actor x ABSOLUTE 3 a mesma coisa que translate actor ABSOLUTE 3 0 0 e rotate actor A R x y Zz n realiza a rota o do ator O primeiro par metro a condi o ABSOLUTE ou RELATIVE Rota o absoluta rotaciona o ator em rela o ao eixo especificado em torno da origem modificando tamb m o posicionamento do ator no espa o Rota o relativa rotaciona o ator em rela o ao eixo especificado em torno do seu centro de gravidade s mudando seu direcionamento no espa o n o a sua posi o Hounsell 92a A rota o positiva determinada pela regra da m o direita Os par metros x y e z determinam o eixo de rota o e n o valor em graus da rota o Exemplo ACTORS AO DEFINITION actoro0 adef After 3 rotate actor ABSOLUTE 1 0 2 5 60 EACH FRAME END e rotate actor x A R n rotate actor y A R n rotate actor z A R n casos particulares da fun o anterio
7. COLOR home usr color madeiral cor INITIAL POSITION 0 3 5 BRP define o arquivo B Rep com as caracter sticas geom tricas do ator este arquivo gerado pelo modelador geom trico SHADE TYPE determina o tipo da textura do ator pode ser WOOD MARBLE GRANITE STRAUSS superf cies met licas PHONGS ou BASIC Esse par metro deve ser coerente com o arquivo de cor definido por COLOR SHADOW indica se o ator ter ou n o sombra na verdade o SIPP renderer n o permite que certos atores tenham sombra e outros n o ou todos t m ou nenhum tem Esse par metro foi colocado para facilitar a compatibilidade com outros renderers O par metro INITIAL POSITION determina a posi o inicial do objeto se este par metro n o estiver presente no arquivo o programa assumir que a posi o inicial do ator ser aquela na qual ele foi modelado a que existe no arquivo brp Uma alternativa defini o do ator como um arquivo B Rep defini lo como uma sequ ncia numerada de arquivos brp sendo que a cada quadro apenas um ser mostrado Para isso ao inv s de BRP deve se usar GEO MORPH da seguinte maneira no arquivo de defini o do ator GEO MORPH prosim brp esf 10 FRAME 8 O primeiro par metro indica o nome dos B Reps numerados no exemplo a sequ ncia ser prosim brp esf000 brp prosim brp esf001 brp O segundo par metro indica o tamanho da sequ ncia numerada no exemplo a sequ ncia ir
8. Computer Graphics Forum v 11 n 3 pp C 45 C 58 EUROGRAPHICS 92 Kay 79 Kay D S Transparency Refraction and Ray Tracing for Computer Synthetized Images Masters thesis Program of Computer Graphics Cornell University 1979 Koga 94 Koga Y Kondo K Kuffner J and Latombe J C Planning Motions with Intentions Proc of SIGGRAPHT 94 pp 395 408 1994 Lasseter 87 Lasseter J Principles of Traditional Animation Applied to 3D Computer Animation Computer Graphics v 21 n 4 pp 35 44 1987 Le Gall 91 Le Gall D MPEG A Video Compression Standard for Multimedia Applications Communications of the ACM v 34 n 4 pp 46 58 1991 Lengyel 90 Lengyel J Reichert M Donald B R and Greenberg D P Real Time Robot Motion Planning Using Rasterizing Computer Graphics Hardware Computer Graphics v 24 n 4 pp 327 335 1990 A B Raposo 102 Levy 93 Levy C H TUP LED uma ferramenta port til de interface com usu rio Disserta o de Mestrado Depto de Inform tica PUC Rio 1993 Linton 89 Linton M A Vlissides J M and Calder P R Composing User Interfaces with Interviews IEEE Computer v 22 n 2 pp 8 22 1989 Magalh es 95 Magalh es L P Anima o Integrando Conceitos Palestra apresentada no SIBGRAPI 95 VIII Simp sio Brasileiro de Computa o Gr fica e Processamento de Imagens 1995 Malheiros 94 Malheiros M
9. IV O SISTEMA DE ANIMA O DO ProSim vii IV 1 LINGUAGEM DO TOOKIMA iii IV 2 UNG UAG EM PARA COMPOSI O DE ROTEIROS IV 3 CONSTRU O INTERATIVA DE ROTEIROS eeeeeeeeeeees V UNG UAG EM DE ROTEIROS V 1 MODULO GENERAL sutis ss sc sacs sia eae sed aee gear ana V2 2 MODULO ACTORS cais as di VB M DULO GROUPS Lamgariraranats nin rentes reina V 4 M DULO CAMERA ueiaiigiaa caiba ir tcc ietecoees V 5 M DULO UGHTS rasa ssa asas V 6 MODULO RENDER o e ccscscssscscscsescseseseseseseseseseseseseeeeees V 7 M DULO OUTPUT ias sas em V 8 MODULO TRACKS a ee raiareretara embauauitataad WO EXEMPLO ranger enaena a a a a a satiate tia aan VI A INTERFACE VILL COMANDOSGERAIS sisirin VI 2 CRIA O DE TRAJET RIAS ienes VLS ATO RES Sp a MEM A MERAS isto icaanics at aS aah abit aed casa hae shat VI 5 ILUMINA O iii ea Ba tl VIL6 RENDERING anteaitoinei nana VII CONCLUS ES VILL RESULTADOS erra VIl 2 PERSPECTIVAS rara Ap ndice A Descri o Formal da Linguagem de Roteiros Ap ndice B Editor de Texturas Ap ndice C Organiza o do Pacote BIBLIO G RAFIA 85 94 96 97 Um Sistema Interativo de Anima o no Contexto ProSlm 1 INTRODU O Animar literalmente dar vida Foley 92 Apesar de muitas vezes ser tratada como sin nimo de movimento a anima o engloba n o somente mudan as de posi o mas
10. como o autor mesmo diz esse artigo tenta prever o futuro e ele poder ser bem diferente do que se previu A B Raposo 20 Il ANIMA O POR COMPUTADOR Entre as d cadas de 1920 e 1930 Walt Disney popularizou a arte da anima o atrav s da realiza o de filmes animados que ainda hoje surpreendem pela qualidade t cnica Durante as d cadas seguintes esta arte se desenvolveu mas sempre envolvendo um n mero elevado de profissionais pois o trabalho de desenho pintura edi o etc era feito manualmente quadro a quadro Com o advento dos computadores alguns cientistas come aram a us los para esbo ar desenhos e at mesmo moviment los Os animadores profissionais perceberam ent o que ferramentas computacionais poderiam auxili los automatizando algumas das tediosas e longas tarefas da produ o de filmes animados tais como a cria o dos desenhos dos movimentos a pintura a fotograva o a edi o e a sincroniza o Quando o computador participa de algumas das etapas da cria o de uma anima o se diz que ela auxiliada por computador O crescimento do poder dos computadores permitiu o aumento da participa o dos mesmos no processo de cria o de uma anima o O computador pode por exemplo ser respons vel por todo o processo de gera o de uma anima o cabendo a ele a modelagem do ambiente tridimensional dos atores e seus movimentos e tamb m o controle da anima o como um todo
11. de O a 9 O terceiro par metro determina em que quadro a sequ ncia come ar a ser vista na anima o no exemplo no quadro 8 ser visto a esf000 brp no quadro 9 a esf001 brp e assim por diante at o final da sequ ncia De maneira semelhante a textura de um ator pode ser definida como uma sequ ncia numerada de texturas de modo que a cada quadro o ator tenha uma textura diferente Para isso ao inv s de COLOR deve se usar CLR MORPH de maneira semelhante a GEO MORPH Um Sistema Interativo de Anima o no Contexto ProSlm 47 CLR MORPH tmp cor texture 20 FRAME 5 O arquivo de defini o ser referenciado para cada ator da seguinte maneira no roteiro dentro do m dulo ACTORS ACTORS AO DEFINITION def actor0 adef Al DEFINITION def actorl adef END Qualquer um dos par metros do arquivo de defini o pode ser redefinido no roteiro se colocado depois do DEFINITION do ator Por exemplo poss vel colocar dois atores iguais em posi es iniciais diferentes e dar ao segundo uma outra cor ACTORS AO DEFINITION def actorl adef Al DEFINITION def actorl adef INITIAL POSITION 5 5 5 COLOR usr color madeira2 cor END A Figura V 1 ilustra o relacionamento entre os arquivos usados neste m dulo Arquivo Roteiro Arquivo de B rep defini o de ator demais m dulos INITIAL POSITION SHADE _TYPE ACTORS SHADOW Arquivo de Al DEF
12. e discutida no pr ximo cap tulo A B Raposo 10 I 5 ORGANIZA O DA DISSERTA O Nos dois pr ximos cap tulos ser o mostrados pain is gerais sobre interfaces e anima o por computador respectivamente vis o global do assunto trabalhos recentes na rea e perspectivas futuras Esses cap tulos t m como objetivo localizar o trabalho num contexto mais amplo j que este um trabalho que envolve o desenvolvimento de uma interface na rea espec fica de anima o por computador No cap tulo IV retorna se ao contexto ProSIm onde ser visto em mais detalhes o sistema de anima o do ProSIm focalizando principalmente o que foi desenvolvido neste trabalho No cap tulo V a linguagem de roteiros desenvolvida na primeira etapa deste trabalho ser descrita detalhadamente O cap tulo VI descreve a interface gr fica resultado da segunda etapa do trabalho Finalmente no cap tulo VII a disserta o ser conclu da e propostas de trabalhos futuros dando continua o a este ser o apresentadas A disserta o termina com tr s ap ndices O primeiro formaliza a linguagem de roteiros atrav s de uma BNF O segundo mostra o editor de texturas um m dulo parte da interface do TOOKIMA mas que foi desenvolvido como parte deste trabalho O ltimo ap ndice mostra a organiza o do pacote TOOKIMA em termos de diret rios e arquivos Um Sistema Interativo de Anima o no Contexto ProSlm 11 ll INT
13. es poss vel aceitar a trajet ria e escrev la no roteiro bot o Accept ou simplesmente n o aceit la bot o Don t Accept que fecha a caixa de di logo sem alterar o roteiro A transla o bot o Translate Actor abre a caixa de di logo mostrada na Figura VI 4 Nesta caixa deve ser escolhido o ator ou grupo que sofrer a transla o seus par metros em cada dire o o intervalo em que ocorrer a condi o absoluta ou relativa da mesma al m da condi o at each frame ou total indicando que a transla o ocorrer a cada quadro ou se completar no final do intervalo todos estes par metros da transla o foram explicados na se o V 2 A B Raposo 72 TOOKIMA Moviments of Actors or Groups Actor or Group to be moved TT x 8 5 F Track File ftrip teste te Accelaration NONE acc DEC ACC DEC DEC ACC From Frame n Oi GAI E TS E cal PEDDIE To Frame n 18 TT 30 E ERR RRRRRRERREFRRREEREFRRNEEFERRERREREEEE See Track J Preview Accept Don t Accept Figura VI 3 Caixa de di logo para asociar uma trajet ria ao movimento de um ator A rota o Rotate Actor e a mudan a de escala Scale Actor abrem caixas de di logo parecidas com a da transla o ver se o V 2 O bot o Activate Deactivate permite a ativa o ou desativa o de determinado ator ou seja o ator pode aparecer ou desaparecer em determinado instante da anima o Por default todos os atores definidos est
14. lt real pos gt lt real pos gt sempre que se fala em cor deve se lembrar que a faixa de valores para cada componente rgb varia de 0 a 65535 BACK lt source name gt lt point gt lt source name gt lt sun gt gt lt source name gt lt spot gt L lt inteiro gt as fontes de luz devem ser numeradas em ordem crescente a partir do O lt point gt TYPE POINT gt POSITION lt real gt lt real gt lt real gt COLOR lt real pos gt lt real pos gt lt real pos gt lt sun gt TYPE SUN gt DIRECTION lt real gt lt real gt lt real gt COLOR lt real_pos gt lt real_pos gt lt real_pos gt lt spot gt TYPE SPOT gt POSITION lt real gt lt real gt lt real gt gt DIRECTION lt real gt lt real gt lt real gt COLOR lt real pos gt lt real_pos gt lt real_pos gt SOLID ANGLE lt real pos gt SPOT TYPE lt sharp_soft gt lt sharp soft gt SHARP SOFT lt lights_mov gt lt t_mov_1 gt lt turns gt lt t_mov_1 gt lt redefs gt Between lt tempo gt lt tempo 2 gt lt redefs gt gt Between lt tempo gt lt tempo_2 gt lt fades gt lt turns gt TURN ON lt source name gt lt turns gt s pode vir com At lt fades gt deve vir com Between TURN OFF lt source name gt Um Sistema Interativo de Anima o no Contexto ProSlm 91 lt redefs gt POSITION lt
15. m usado na BNF indicando alternativa ou Assim para representar um digito qualquer tem se lt digito gt 0 1 2 3 de uso es o Tees os Para facilitar a descri o da linguagem de roteiros do ProSIm foram acrescentados novos s mbolos meta linguagem Esses s mbolos se baseiam na meta linguagem usada por Pressman 92 para a defini o de um dicion rio de dados Os s mbolos da meta linguagem a ser usada e seus respectivos significados s o descritos na tabela a seguir S mbolo Significado lt gt delimitam meta s mbolo Dis substitu do por ou opcional oe n repeti es de gt continua o de linha ais delimitam coment rios A linguagem de roteiros do ProSIm assim descrita A B Raposo 86 Defini es gerais lt digito gt me DI 2 ae a Be ie I ee Is lt inteiro gt lt digito gt lt inteiro gt lt digito gt representa qualquer n mero inteiro lt v inteiro gt lt inteiro gt lt string gt vari vel inteira valor ou nome de vari vel que pode ser usada como par metro de movimento com a restri o de que a vari vel assuma valores do tipo desejado lt real pos gt lt inteiro gt lt inteiro gt lt inteiro gt gt lt inteiro gt lt inteiro gt lt v real pos gt lt real_pos gt lt string gt lt real_neg gt lt real_pos g
16. metros acima permitem o c lculo de outros par metros importantes e vpn identifica a dire o de visualiza o dado por vpn coi obs Este vetor ser perpendicular ao view plane plano de visualiza o onde os objetos s o projetados e window uma por o retangular do plano de visualiza o que delimita a imagem de interesse e a pir mide de visualiza o da mesma Hounsell 92a Ela determinada pelo ngulo de abertura e pela distancia focal Assim como no caso de atores a c mera pode ter um arquivo de defini es onde seus par metros s o definidos O exemplo a seguir mostra um arquivo de defini o de c mera OBS 8 2 O COI 0 0 5 O VUP 0 0 1 D 1 APERTURE 32 32 O arquivo anterior define o observador no ponto 8 2 0 olhando para o ponto 0 0 5 0 sendo z o eixo apontando para cima vup Al m disso a dist ncia focal 1 e o ngulo de abertura da pir mide de visualiza o 32 nas duas dire es este ngulo juntamente com a dist ncia d define a NINDOW que pode ser dada neste arquivo alternativamente Um Sistema Interativo de Anima o no Contexto ProSlm 53 window view plane Figura V 2 Modelo de c mera Assim como no caso dos atores o arquivo de defini o de c mera vir referenciado no m dulo CAMERA atrav s da fun o DEFINITION CAMERA DEFINITION def camera cdef END Com rela o aos movimentos de c mera e
17. modelos s o descritos pelo volume que eles ocupam no espa o Pode ser utilizada a representa o por fronteiras Boundary Representation ou B Rep a combina o de formas primitivas por interm dio de opera es construtive solid geometry ou CSG ou ainda uma combina o destes Os modelos tamb m podem ser gerados por processos algor tmicos tais como os fractais Mandelbrot 82 e os sistemas de part culas Reeves 83 processos geradores A B Raposo 22 O mecanismo de rendering e visualiza o respons vel pela gera o das imagens que compor o a anima o Este mecanismo deve reunir as informa es sobre a forma a cor e a textura dos objetos com as informa es sobre o posicionamento dos mesmos fornecidas pelo m dulo de controle da anima o O mecanismo de rendering utiliza ent o algum tipo de algoritmo para a gera o das imagens Os algoritmos mais comuns s o scanline ray tracing e radiosidade Algoritmos de scanline determinam qual objeto ser vis vel em cada pixel varrendo toda a imagem uma linha de cada vez Os algoritmos de ray tracing por sua vez determinam a visibilidade das superf cies tra ando raios de luz imagin rios do observador at os objetos da cena Os m todos de radiosidade s o baseados nos modelos de transmiss o e reflex o da radia o t rmica Eles assumem a lei da conserva o da energia em um ambiente fechado de modo que toda a energia emitida ou refletida por uma sup
18. o ativos em todo o intervalo da anima o Portanto a ativa o de um ator s tem sentido se ele tiver sido desativado antes O sistema permite tamb m a visualiza o de metamorfoses para os atores As metamorfoses podem ser de dois tipos de geometria sequ ncia numerada de arquivos brp ou de textura sequ ncia numerada de arquivos cor Para a defini o da metamorfose deve ser escolhido o ator que a sofrer e tamb m o intervalo de tempo em que ela acontecer lembrando que o intervalo de tempo determinar o n mero de arquivos brp ou cor que dever o existir v lido ressaltar que a interface n o oferece nenhum tipo de ferramenta para a cria o propriamente dita da metamorfose ela apenas associa ao ator um arquivo de uma sequ ncia a cada quadro da anima o Para a cria o das metamorfoses devem ser usadas ferramentas externas como por exemplo a de Horta 95 para a deforma o de superf cies 8 Z 1 x Metamorfose no contexto deste trabalho utilizada em seu sentido restrito apenas como sendo a altera o no arquivo B Rep da descri o geom trica de um ator da anima o Um Sistema Interativo de Anima o no Contexto ProSlm 73 TOOKIMA Actor s moviment Translate Translate Actor Group e Ag 5 Fed fF 0 Translate X 2 Yil From Frame n O O 30 J 41 11 11 11 1 1 J3 3413J31 33441 1444143 3441J 1 441 1414141141 341ll To Frame n 13 O 30 Cs RRRRRPRRRRRRER
19. o provenientes da rob tica como mostrado em Camargo 95a e Camargo 95b Entretanto a anima o de objetos articulados por computador vai al m dos modelos cinem ticos ou din micos da rob tica pois se pode trabalhar no n vel de inten o anima o comportamental Em Thalmann 89 a anima o de figuras humanas analisada sob tr s aspectos da cria o das formas do controle de movimento e da deforma o de superf cies O controle do movimento do esqueleto da figura o aspecto que mais interessa nessa discuss o e por isso ser visto mais detalhadamente Os m todos para o controle de movimento de objetos articulados dividem a anima o deste tipo de objeto em e Anima o por grava o de movimentos utilizado nas primeiras tentativas de modelar o movimento humano Uma das t cnicas utilizadas era a rotoscopia na qual as coordenadas das juntas eram digitalizadas a partir de pelo menos duas vistas ortogonais de uma cena previamente gravada em video Este tipo de t cnica muito tedioso e muito espec fico para resolver o amplo problema da movimenta o humana e Anima o por keyframes interpola o dos quadros intermedi rios a partir de quadros chave j vista na se o III 3 1 e Anima o por cinem tica direta as posi es das juntas s o calculadas por meio de uma equa o cinem tica e passadas ao sistema de anima o ver se o III 3 2 e Anima o por cinem tica inversa com restri es
20. que pode ser feito por meio de v rias t cnicas dentre elas ray tracing e scanline e o p s processamento de imagens atrav s da superposi o de imagens til quando a a o ocorre em frente a um fundo fixo Pode ser usado como ferramenta de projeto atrav s da cria o e visualiza o de formas complexas Pode tamb m ser utilizado como ferramenta de anima o Para o controle do movimento o Clockworks pode utilizar a interpola o de keyframes ou uma linguagem de roteiros A metodologia de keyframes utilizada atrav s de ferramentas interativas mas sempre gerado um roteiro para ser executado Por esta raz o este sistema classificado como um sistema de anima o procedimental Mais recentemente Zeleznik 91 desenvolveu outro sistema de modelagem e anima o orientado a objetos que facilitou a integra o de v rios paradigmas de anima o Os objetos podem ser geom tricos ou n o geom tricos c meras luzes etc e trocam mensagens entre si A lista de mensagens de um objeto determina seus par metros variantes no tempo e seu comportamento Esta lista pode ser alterada pelo animador e por outros objetos intera o ator ator e ator animador Este sistema tamb m explora as no es de controle global e controle local Camargo 95a porque as mensagens enviadas aos objetos s o relativamente abstratas cabendo ao pr prio objeto definir como ela o afetar A mensagem determina o que ser feito e o objeto determi
21. 1989 Thalmann 91 Magnenat Thalmann N and Thalmann D Complex Models for Animating Synthetic Actors IEEE Computer Graphics and Applications v 11 n 5 pp 32 44 1991 Upstill 90 Upstill S The RenderMan Companion A Programmer s Guide to Realistic Computer Graphics Addison Wesley 1990 Warnock 69 Warnock J E A Hidden Surface Algorithm for Computer Generated Halftone Pictures University of Utah Computer Science Dept Rep TR 4 15 NTIS 761 995 1969 Watt 93 Watt A and Watt M Scripting and Artistic Control in Computer Animation SIBGRAPI 93 VI Simp sio Brasileiro de Computa o Gr fica e Processamento de Imagens pp 123 132 1993 Whitted 79 Whitted J T An Improved Illumination Model for Shaded Display Communications of the ACM v 23 pp 343 349 Proc SIGGRAPH 79 1979 Wilhelms 90 Wilhelms J and Skinner R A Notion for Interactive Behavioral Animation Control IEEE Computer Graphics and Applications v 10 n 3 pp 14 22 1990 Wyvill 90 Wyvill B A Computer Animation Tutorial Cap 4 de Computer Graphics Techniques Theory and Practice Rogers D F and Earnshaw R A Editors Springer Verlag 1990 Yngvesson 94 Yngvesson J and Wallin I User s Guide to SIPP a 3D Rendering Library Version 3 1 1994 Young 94 Young C and Wells D Persistence of Vision Ray Tracer POV Ray Version 2 0 User s
22. Animation Proc of SIGGRAPHT 95 pp 79 89 1995 A B Raposo 100 Foley 92 Foley J D van Dam A Feiner S K and Hughes J F Computer Graphics Principles and Practice 2 ed Addison Wesley 1992 Freiwald 92 Freiwald L and Marrs L AutoDesk Animator Guia Completo de Anima o no PC Berkeley Brasil Editora 1992 Gear 74 Gear C W Computer Organization and Programming 2 ed McGraw Hill Book Co 1974 Gong 94 Gong K L Berkeley MPEG 1 Video Encoder User s Guide Computer Science Division University of California Berkeley CA 1994 Encontrado via ftp em tr ftp cs berkeley edu pub multimedia mpeg Goral 84 Goral C M Torrance K E Greenberg D P and Battaile B Modeling the Interaction of Light Between Diffuse Surfaces Computer Graphics v 18 n 3 pp 213 221 1984 Gouraud 71 Gouraud H Computer Display of Curved Surfaces IEEE Transactions C 20 pp 623 628 1971 Green 85 Green M The University of Alberta User Interface Management System Computer Graphics v 19 n 3 pp 205 213 1985 Hartson 90 Hartson R H Siochi A C and Hix D The UAN A User Oriented Representation for Direct Manipulation Interface Designs ACM Transactions on Information Systems v 8 n 3 pp 181 203 1990 Heller 90 Heller D Xview Programming Manual X Window System Series Volume Seven O Reilly amp A
23. MARBLE GRANITE ou WOOD No exemplo a seguir o ator ter sua textura alterada no quadro 27 A nova textura ser dada pelo arquivo new texture cor que deve necessariamente definir uma textura do tipo GRANITE ACTORS AO DEFINITION actor3 def At FRAME 27 repaint GRANITE new texture cor Um Sistema Interativo de Anima o no Contexto ProSlm 51 END Vari veis globais declaradas no m dulo GENERAL tamb m podem ser usadas como par metros para os movimentos V 3 MODULO GROUPS Neste m dulo os atores s o agrupados de modo que os movimentos possam ser realizados n o s com os atores individualmente mas tamb m com grupos deles podem ser criadas hierarquias de atores Num grupo de atores devem ser especificados os atores que o comp em devidamente definidos no m dulo ACTORS e o centro de gravidade do grupo para que os movimentos do mesmo possam ser realizados relativamente a este ponto A defini o dos movimentos para grupos de atores id ntica dos atores individuais Este m dulo muito parecido com o m dulo ACTORS se diferenciando dele apenas porque 1 Ao inv s de usar a fun o DEFINITION com o nome do arquivo com as caracter sticas do ator o grupo definido com a fun o COMPONENTS que tem como par metros os nomes dos atores que comp em o grupo 2 Ap s a defini o do grupo preciso definir a vari vel GC que indica o centro de gravidade do grupo pode
24. Rio ou via e mail A todos os professores do DCA especialmente ao Prof Jos M rio De Martino pelas sugest es ou ru dos segundo sua pr pria defini o nas apresenta es da interface e Profa Dra Wu Shin Ting pela dedica o e paci ncia na administra o da rea do ProSIm A toda a equipe do ProSIm em particular ao incans vel Marcelo Malheiros ao eficiente Bruno e ao paciente Lamanna Aos meus pais Manoel e Dalva pelo incentivo e apoio que sempre deram realiza o do curso de mestrado Aos meus irm os S vio Djane e Susane tamb m pelo apoio A minha querida noiva Ana Beatriz por ter suportado um namoro dist ncia por mais de 6 anos e por apoiar e ajudar sempre que preciso Ao Sr Orlando e a D Zeny pela prestatividade e hospitalidade que sempre tiveram comigo no Rio Ao J Soares por me incentivar a ficar trabalhando at tarde Em mem ria de minha av Maria Ant nia da Silva Raposo 1901 1996 O movimento natural surge espontaneamente Por essa raz o a transforma o do antigo torna se facil O antigo descartado e o novo introduzido Ambas as medidas se harmonizam com o tempo n o resultando da portanto nenhum dano I Ching chin s ou O livro das Muta es RESUMO A produ o de uma anima o por computador sem a presen a de um especialista em programa o requer um sistema que apresente facilidades tanto na cria o da mesma q
25. S The Semiotic Engineering of user interface languages International Journal of Man Machine Studies n 39 pp 753 773 1993 Souza 96 Souza C S The Semiotic Engineering of Concreteness and Abstractness From User Interface Languages to End User Programming Languages Dagstuhl Seminar on Informatics and Semiotics 1996 Encontrado em http www inf puc rio br sergweb Stahlke 93 Stahlke T M Geometria Fractal um estudo da teoria com proposi o de taxonomia baseada no proceso de gera o Disserta o de Mestrado DCA FEE UNICAMP 1993 Sun 89 Sun Microsistems OpenLook Graphical User Interface Application Style Guidelines Addison Wesley 1989 Sutherland 63 Sutherland I E Sketchpad A Man Machine Graphical Communication System Proc of AFIPS Spring Joint Computer Conference v 23 pp 329 346 1963 Thalmann 85a Magnenat Thalmann N and Thalmann D Computer Animation Theory and Practice Um Sistema Interativo de Anima o no Contexto ProSlm 107 Springer Verlag 1985 Thalmann 85b Magnenat Thalmann N Thalmann D and Fortin M Miranim An Extensible Director Oriented System for the Animation of Realistic Images IEEE Computer Graphics and Applications v 5 pp 61 73 March 1985 Thalmann 89 Magnenat Thalmann N and Thalmann D The Problematics of Human Prototyping and Animation Computer Graphics Forum v 8 n 2 pp 115 123
26. Save salva os par metros da janela num arquivo cor cujo nome ser pedido O terceiro bot o Preview faz uma r pida visualiza o da textura criada mostrando a imagem de uma esfera gerada com esta textura O bot o Quit Editor causa a sa da do programa A B Raposo 96 Ap ndice C Organiza o do Pacote O pacote TOOKIMA 2 0 que engloba a interface a linguagem de roteiros al m dos m dulos adicionais editor de texturas de ilumina o e de c mera se encontra organizado segundo a seguinte rvore de diret rios camera ilumin textures editor de c mera editor de ilumina o editor de texturas Mterpret DED ese ima E Figura C 1 rvore de diret rios do TOOKIMA 2 0 O diret rio interface cont m os arquivos fonte subdiret rios include e src para a implementa o da interface al m de um reposit rio de arquivos objeto subdiret rio obj e dos execut veis subdiret rio bin No subdiret rio scripts se encontram alguns exemplos de roteiros de anima o e arquivos de defini o de ator c mera e ilumina o O diret rio tookima cont m os arquivos fonte do TOOKIMA subdiret rio include e tookc suas bibliotecas que s o utilizadas pela interface subdiret rio libs um reposit rio de arquivos objeto subdiret rio obj e exemplos de anima es escritas na linguagem do TOOKIMA subdiret rio in Os diret rios camera e ilumin armazenam respectivamen
27. a cria o de roteiros com um n vel mais alto de comandos que se aproximem mais daqueles desenvolvidos pelos animadores profissionais Isso eliminou a necessidade do conhecimento por parte do animador de comandos de baixo n vel oriundos da linguagem C que existem na linguagem do TOOKIMA que na verdade uma extens o da linguagem C Raposo 95a Essa linguagem foi constru da sobre a linguagem do TOOKIMA isto sendo traduzida para ela depois A segunda etapa do trabalho foi o projeto e implementa o de uma interface gr fica que permitisse a constru o interativa de um roteiro de anima o utilizando a linguagem desenvolvida Dessa maneira poder haver tr s tipos de usu rios para o sistema de anima o do ProSIm o usu rio leigo em programa o que utilizar a interface gr fica o usu rio experiente que utilizar a interface gr fica mas ter conhecimento da linguagem de roteiros e o usu rio especialista que conhecer a linguagem do TOOKIMA e a linguagem C podendo dispor da maior flexibilidade que uma linguagem de mais baixo n vel permite Espera se que com a experi ncia na utiliza o da interface o usu rio leigo se transforme em usu rio experiente Em outras palavras espera se que a interface seja uma maneira de ensinar a utiliza o da linguagem de roteiros isso d interface a desejada caracter stica de direcionar o usu rio programa o defendida por Eisenberg 95
28. botao Actors da linha superior da janela principal da interface ativa a coluna de bot es esquerda da mesma janela Nesta coluna ficam os bot es relacionados a edi o e movimenta o dos atores que comp em a anima o Enquanto esta coluna estiver ativa o bot o Actors estar inativo como na Figura VI 1 Na abertura da coluna de bot es aqueles cujas fun es n o podem ser realizadas ficam inativos por exemplo se n o h nenhum ator definido na anima o bot es de movimentos de atores ficam inativos A coluna de bot es do m dulo ACTORS se inicia com dois bot es de edi o O primeiro o bot o Actors que abre a caixa de di logo mostrada na Figura VI 2 at TOOKIMA Actors Actor s Name Al BRP File home grad lamanna bonecos queixo brp Texture File fhome msc alberte cor mtcor Initial Position Shadowy lt lt Previous Next gt gt Sdd New Actor v Accept Figura VI 2 Caixa de di logo para a associa o de B Rep e textura aos atores A primeira linha dessa caixa mostra o nome do ator que est sendo editado A seguir s o dados os arquivos B Rep brp e de textura cor associados ao ator Logo depois h a op o posi o inicial que permite ao ator come ar a anima o numa posi o diferente daquela em que ele foi modelado na Figura VI 2 esta op o n o est sendo utilizada levando o ator a come ar a anima o na posi o em que foi modelado Nesta ca
29. cada uma representando uma a o e associada a uma cue A es simult neas s o determinadas associando a mesma cue a mais de A B Raposo 34 uma cena Embora mais simples que um roteiro em ASAS um roteiro no CORY ainda bastante complexo para o leigo em programa o Tentando criar um sistema acess vel a artistas n o programadores Thalmann 85b apresentou o MIRANIM composto de um sistema orientado ao animador o ANIMEDIT e uma sublinguagem de roteiros a CINEMIRA 2 Com o ANIMEDIT o animador pode especificar um roteiro de anima o completo sem nenhum tipo de programa o O animador segundo Thalmann 85a pode criar atores com seus movimentos e transforma es bem como c meras virtuais com seus movimentos e caracter sticas Tamb m h recursos para a defini o interativa de fontes de luz bem como para sua movimenta o A CINEMIRA 2 chamada sublinguagem porque uma vers o menos complexa da linguagem CINEMIRA e est limitada programa o de entidades usadas pelo ANIMEDIT n o sendo poss vel escrever um roteiro de anima o com esta sublinguagem Uma entidade programada em CINEMIRA 2 pode ser diretamente acessada pelo ANIMEDIT Esse sistema no entanto ainda exige programa o procedimental no caso de movimentos muito complexos O Clockworks Breen 87 um sistema de anima o orientado a objetos que engloba a modelagem geom trica de objetos CSG o controle de movimentos o rendering
30. conhecido programa de CAD Computer Aided Design atualmente Em 1982 tamb m foi apresentado um novo modelo de ilumina o que permitia a simula o de objetos polidos como o metal Cook 82 Este modelo leva em considera o a energia das fontes de luz ao inv s da intensidade ou brilho da luz No SIGGRAPH do mesmo ano foi mostrada uma sequ ncia de v deo na qual uma mulher se transformava em um lince Era o surgimento das t cnicas de morphing Ainda em 1982 foi lan ado o filme Tron com mais de 30 minutos de computa o gr fica e que envolveu v rios est dios no seu desenvolvimento Apesar da qualidade do trabalho realizado em computa o gr fica o filme foi um fracasso e isso teve uma influ ncia negativa no cinema com rela o computa o gr fica Mas o departamento de computa o gr fica da Lucasfilm reagiu e no ano seguinte foi respons vel por duas sequ ncias de sucesso no cinema a demonstra o do G nesis em Jornada nas Estrelas II e a explos o causada pela destrui o do gerador da A B Raposo 4 Estrela da Morte em O Retorno de Jedi Ambas as sequ ncias usaram a t cnica de sistemas de particulas apresentada em Reeves 83 Esta t cnica permite modelar objetos sem uma superficie bem definida chamados objetos fuzzy tais como fogo fuma a gua e nuvens At ent o todos os m todos de s ntese de imagens se baseavam na luz que incide diretamente sobre uma superf cie
31. de trajet ria desejada ou seja se uma trajet ria livre cujos pontos de controle s o dados num arquivo ou se uma trajet ria conhecida cujos pontos de controle s o obtidos de uma fun o matem tica conhecida Se for uma trajet ria livre deve ser dado o nome do arquivo onde s o definidos os pontos de controle Se for uma trajet ria conhecida devem ser dados os pontos iniciais e finais da mesma a partir dos quais a fun o escolhida determina os pontos de controle que servir o para o c lculo da B Spline c bica No roteiro ap s o nome da trilha definida deve ser dado o tipo da trilha TYPE no roteiro O par metro TYPE assume o nome do arquivo de pontos de controle no caso de se desejar uma trajet ria livre No caso de trajet rias conhecidas TYPE indica a fun o geradora dos pontos de controle Pode assumir os seguintes valores LINEAR QUADR CUBIC ou EXP Outro par metro que deve ser definido para cada trilha o seu valor VALUE que indica o tipo de elemento que comp e a trilha Esse valor pode ser POINT para as posi es sucessivas dos atores ou da c mera por exemplo DOUBLE para ngulos de rota o por exemplo VECTOR para eixos de rota o ou COLOR Quando se tratar de trilhas baseadas em fun es matem ticas ou seja quando o par metro TYPE n o for nome de arquivo ainda necess rio definir os par metros START e STOP que ser um ponto um real um vetor ou uma cor
32. e de textura Numa etapa posterior os m dulos de modelagem e de anima o migrariam para uma interface comum que permita a cria o de anima es com mais recursos gr ficos Al m da integra o de ferramentas outras sugest es de trabalhos dando continuidade a este podem ser feitas e Desenvolvimento de ferramentas adicionais para a utiliza o da interface na cria o de outros tipos de anima o al m da cinem tica cria o de ferramentas para anima o din mica por exemplo e Tratamento gr fico das trajet rias isto permitir que as trajet rias a serem seguidas pelos atores de uma anima o sejam modeladas como curvas no modelador geom trico e Adapta o do sistema a novos formatos de representa o de objetos modelados al m do B Rep A B Raposo 84 e Adapta o a novos renderers em particular o POV Ray Young 94 um ray tracer com o qual j foram iniciados trabalhos no LCA e Remodelagem das interfaces utilizando bibliotecas gr ficas mais atualizadas Motif por exemplo e Adapta o do sistema para a computa o distribu da paralela visando melhorar o desempenho do rendering dos quadros de uma anima o e Extens o da linguagem de roteiros para oferecer um maior n vel de abstra o atrav s da incorpora o de comportamentos por exemplo atrav s da cria o de macros e Extens o altera o da linguagem de roteiros de modo que ela possa se tornar efet
33. ee To Frame n E J 30 PPV ATEACH FRAME TOTAL Accept Figura VI 7 Caixa de di logo para o movimento Go North da c mera O primeiro bot o desta coluna o Import Def File Este bot o funciona de maneira semelhante ao bot o com o mesmo nome visto na se o anterior Ele est ativo enquanto o m dulo LIGHTS ainda n o est definido no roteiro e seu objetivo carregar um arquivo de defini o de ilumina o criado em um execut vel externo interface O pr ximo bot o da coluna o Background Color usado para a defini o da cor de fundo da anima o Este bot o abre a caixa de di logo vista na Figura VI 9 onde a cor definida por meio de suas componentes rgb o desenho em V esquerda varia medida que os valores rgb s o alterados mostrando a cor definida O bot o seguinte ainda na parte de edi o da coluna de bot es o Light Sources Este bot o abre a caixa de di logo mostrada na Figura VI 10 Nesta caixa a primeira linha indica a fonte que est sendo editada Abaixo do nome da fonte poss vel escolher o tipo da fonte spot pontual ou do tipo sun Em fun o do tipo de fonte escolhida os par metros dados abaixo podem estar ou n o ativos Por exemplo a posi o da fonte ativa para o caso de spots e fontes pontuais Depois da posi o deve ser dado o alvo do spot isto o ponto para o qual ele aponta Se a fonte for do tipo sun o alvo substitu do pela d
34. ntese de imagens foto realistas SIBGRAPI 91 IV Simp sio Brasileiro de Computa o Gr fica e Processamento de Imagens pp 155 166 1991 Um Sistema Interativo de Anima o no Contexto ProSlm 105 Raposo 95a Raposo A B TOOKIMA uma Ferramenta Cinem tica para Anima o Relat rio Interno 001 95 DCA FEE UNICAMP 1995 Raposo 95b Raposo A B Uma Linguagem para Desenvolvimento de Roteiros de Anima o Relat rio Interno 002 95 DCA FEE UNICAMP 1995 Reeves 81 Reeves W T Inbetweening for Computer Animation Utilizing Moving Point Constraints Computer Graphics v 15 n 3 pp 263 269 1981 Reeves 83 Reeves W T Particle systems a technique for modeling a class of fuzzy objects Computer Graphics v 17 n 3 pp 359 376 1983 Reynolds 82 Reynolds C W Computer Animation with Scripts and Actors Computer Graphics v 16 n 3 pp 289 296 1982 Roberts 63 Roberts L G Machine Perception of Three Dimensional Solids MIT Lincoln Lab TR 315 1963 Robertson 93 Robertson G G Card S K and MacKinlay J D Information Visualization Using 3D Interactive Animation Communications of the ACM v 36 n 4 pp 56 71 1993 Robbins 95 Robbins D C et alli Practical 3D User Interface Design Course Notes for SIGGRAPH 95 1995 Rodrigues 93a Rodrigues M A F Animado um prot tipo de um sistema de anima o modelada p
35. os valores da trilha T1 que uma trilha de reais controlada pelos valores dados no arquivo trilha in T1 ser percorrida com movimento uniforme par metro linear em following track na primeira metade da anima o de O a 5 s A B Raposo 64 V 9 EXEMPLO Para completar a exposi o da linguagem para a composi o do roteiro de anima o ser mostrado a seguir um exemplo comentado GENERAL TOTALTIME 10 Anima o de 10 s FR RATE 15 Taxa de 15 quadros s double x1 read file valores in x1 ter valores lidos em arquivo Point trackp following track ABSOLUTE TO slow out ABSOLUTE 0 7 5 Seguir trilha TO desaceleradamente at o instante 7 5 seg Color trackc following track RELATIVE T1 linear ABSOLUTE 4 5 10 Seguir T1 uniformemente a partir do instante 4 5 seg END ACTORS AO DEFINITION def actorl adef BRP tmp new_obj brp At 0 shrink RELATIVE 50 AO tera seu arquivo brp modificado em rela o ao do seu arquivo de defini o e reduzira seu tamanho em 50 no inicio da anima o Al DEFINITION def actor2 adef Before 7 5 translate actor ABSOLUTE trackp x trackp y trackp z EACH FRAME Al se mover para os pontos dados pela trilha TO A2 DEFINITION def actor3 adef After 2 unpart A2 nao participara mais da cena depois de 2 segundos END GROUPS GO COMPONENTS AO Al A2 Grupo composto pelos 3 atore
36. parte do usu rio que ele perdeu o controle sobre o sistema O grande desafio seria desenvolver algoritmos que interpretassem corretamente o contexto e produzissem o resultado que a maioria dos usu rios esperasse Entretanto a aparente facilidade trazida pelo uso de heur sticas esconde inconsist ncias Em Souza 93a o exemplo citado o Macintosh analisado e s o mostradas incoer ncias relativas transmiss o do conceito de desktop A especifica o e a programa o por exemplos j s o uma realidade e permitem que o projetista crie um layout de UI por manipula o direta de objetos gr ficos As vantagens s o grandes pois al m de permitirem a especifica o em alto n vel para n o programadores elas garantem a consist ncia da interface a cada altera o todo o layout revisado automaticamente e onde houver ambiguidades o sistema alerta o usu rio para que ele possa fazer escolhas Myers 88 O projeto de UIs tridimensionais tem se mostrado cada vez mais importante uma vez que as t cnicas tradicionais de interfaces bidimensionais s o inadequadas para as complexas aplica es 3D interativas que t m surgido O uso de interfaces 3D em aplica es interativas tridimensionais til porque reduz a dist ncia cognitiva entre o usu rio e a aplica o eliminando a abstra o na representa o do espa o 3D em um ambiente 2D Al m disso as t cnicas 3D aumentam a capacidade de informa o do display permit
37. partes o desenvolvimento da componente de intera o como a interface trabalha e qual o seu comportamento em resposta intera o com o usu rio e o desenvolvimento do software de interface implementa o do c digo do componente de intera o O desenvolvimento da componente de intera o adota a vis o do usu rio sobre a interface desenvolvido o modelo do usu rio que o modelo conceitual que o usu rio tem a respeito da informa o que ele manipula e dos processos que se aplicar o a esta informa o Newman 79 S o descritas as a es percep es e tarefas do usu rio Esta etapa envolve fatores humanos tais como an lise dos tipos de usu rios que o sistema ter suas limita es etc Nessa etapa tamb m s o consideradas as diretrizes para o projeto de uma UI de alta usabilidade Essas diretrizes visam garantir funcionalidade consist ncia simplicidade cogni o feedback apropriado preven o de erros e acomoda o das diferen as entre os usu rios na interface Eis algumas das diretrizes citadas em Hix 93 e Fa a o projeto centrado no usu rio o projetista programador deve procurar fazer o que for melhor para o usu rio mesmo sendo mais dif cil para ele infelizmente quase tudo o que mais f cil para o usu rio mais dif cil para o projetista Norman 86 e Conhe a as classes de usu rios do sistema e Otimize as a es do usu rio por exemplo atrav s de teclas acel
38. plane curves SIBGRAPI 95 VIII Simp sio Brasileiro de Computa o Gr fica e Processamento de Imagens pp 87 94 1995 Besuievsky 93 Besuievsky S G e Magalh es L P C lculo da ilumina o atrav s de ray tracing estoc stico SIBGRAPI 93 VI Simp sio Brasileiro de Computa o Gr fica e Processamento de Imagens pp 19 26 1993 Blinn 78 Blinn J F Simulation of Wrinkled Surfaces Computer Graphics v 12 n 3 pp 286 292 1978 Booth 83 Booth K S and Kochanek D H Computers animate films and video IEEE Spectrum pp 44 51 February 1983 Bouknight 70 Bouknight J A Procedure for Generation of Three dimensional Half toned Computer Graphics Presentations Communications of the ACM v 13 pp 527 536 1970 A B Raposo 98 Bradley 93 Bradley J XV Interactive Image Display for the X Window System Version 3 00 Manual do Usuario 1993 Breen 87 Breen D E et alli The Clockworks An Object Oriented Computer Animation System EUROGRAPHICS 87 pp 275 282 1987 Camargo 93 Camargo J T F e Magalh es L P T cnicas de controle em anima o Tutorial apresentado no SIBGRAPI 93 VI Simp sio Brasileiro de Computa o Gr fica e Processamento de Imagens 1993 Camargo 94 Camargo J T F Magalh es L P and Raposo A B Modeling motion simulation with DEDS Proc of 13 IFIP Congress International Federation of Infor
39. resultado poder ser inesperado O fragmento de roteiro a seguir mostra os m dulos GENERAL ACTORS e TRACKS GENERAL TOTALTIME 10 Um Sistema Interativo de Anima o no Contexto ProSlm 63 FR RATE 10 Point trackp following track ABSOLUTE TO slow in ABSOLUTE 0 10 definida de O a 10 s double trackd folowing track ABSOLUTE Ti linear ABSOLUTE 0 5 definida entre 0 e 5 s END ACTORS AO DEFINITION def actor0 adef Between 0 10 translate actor ABOLUTE trackp x trackp y trackp z EACH FRAME O mesmo intervalo de defini o de TO Al DEFINITION def actorl adef Between 0 5 scale actor y RELATIVE trackd EACH FRAME o mesmo intervalo de defini o de T1 END TRACKS TO TYPE LINEAR VALUE POINT START 2035 04 Ls STOP Lobo 13 5 2655 Ti TYPE trilha in VALUE DOUBLE END No exemplo anterior s o definidas duas vari veis globais A primeira delas trackp do tipo Point tipo definido pelo ProSIm que uma estrutura com tr s valores reais representando as coordenadas Esta vari vel usada para a transla o absoluta do ator AO e assumir os valores da trilha TO trilha de pontos intercalados linearmente entre os valores de START e STOP percorrendo a de maneira acelerada slow in no intervalo entre O e 10 segundos de anima o A segunda vari vel global trackd real e usada para a mudan a de escala de A1 Ela assumir
40. ser um ponto qualquer ou o nome de um ator indicando que o centro de gravidade dele ser o centro do grupo O fragmento de roteiro a seguir mostra os m dulos ACTORS e GROUPS ACTORS AO DEFINITION def actor0 adef Al DEFINITION def actorl adef A2 DEFINITION def actor2 adef END GROUPS GO COMPONENTS AO A1 A2 GC 0 0 0 After 2 rotate_actor_x RELATIVE 9 TOTAL G1 COMPONENTS A0 A2 GC A2 At 6 translate actor y RELATIVE 3 END No exemplo anterior s o definidos tr s atores e dois grupos O primeiro grupo composto pelos tr s atores e o segundo por AO e A2 O grupo GO tem seu centro de gravidade na origem e G1 no centro de gravidade do ator A2 O grupo GO portanto os tr s atores vai ter girado 9 at o final da anima o com o A B Raposo 52 movimento iniciando depois de t 2 s Os atores do grupo G1 v o se mover 3 unidades na dire o y no instante t 6s V 4 MODULO CAMERA Neste m dulo s o especificados os par metros de c mera como vistos na Figura V 2 onde e obs a posi o do observador coi center of interest o centro da aten o do observador um ponto da cena para o qual ele est olhando e vup view up vector dire o que identifica o que para cima d focal distance a dist ncia entre o observador e o plano de visualiza o e aperture ngulo 0 de abertura da pir mide de visualiza o Os par
41. source name gt lt v_real gt lt v_real gt DIRECTION lt source name gt lt v_real gt lt v real gt COLOR lt source name gt lt v real pos gt lt v real pos gt gt BACK lt real pos gt lt real_pos gt lt real pos gt lt fades gt FADE IN lt source name gt FADE OUT lt source name gt FADE IN ENV FADE IN BACK FADE IN ALL FADE OUT ENV FADE OUT BACK FADE OUT ALL OBS Formato do arquivo de defini o de ilumina o lt arq def lights gt lt env def gt lt back def gt lt source_def gt M dulo RENDER lt mod render gt RENDER FROM lt tempo gt TO lt tempo 2 gt ONE FR IN lt int gt END M dulo OUTPUT lt mod_output gt OUTPUT lt out path def gt lt quality def gt gt I lt s shade def gt lt s shadow def gt gt l lt s sample def gt lt viewport_def gt END lt out path def gt OUTPUT PATH lt path gt lt quality def gt QUALITY lt quality type gt lt quality type gt DEBUG SCANRGB SCANRAS SCANMPEG WIRE SIPPTGA SIPPPPM SIPPMPEG lt s_ shade def gt SIPP SHADE lt s_shade_type gt lt s shade type gt PHONG SIPP GOUR SIPP FLAT SIPP LINE lt s shadow def gt SIPP SHADOW lt t f gt lt s sample def gt SIPP SAMPLE lt digito gt n o aconselh vel usar d gito maior que 3 VIEWPORT lt inteiro gt lt inteiro gt lt vie
42. tamb m outras mudan as que implicam em efeitos visuais mudan a de forma cor transpar ncia textura ilumina o posicionamento de c mera etc A anima o por computador um tema estudado na rea de computa o gr fica e tem ocupado cada vez mais espa o nas publica es e congressos da rea A ind stria de entretenimento cinema televis o videogames etc tamb m vem obtendo constantes sucessos com a computa o gr fica e a anima o por computador A computa o gr fica embora seja um campo recente dentro da computa o tem mostrado uma evolu o surpreendente o que pode ser constatado pela qualidade e realismo do que pode ser criado com ela I 1 A HISTORIA DA COMPUTA O GR FICA O primeiro uso pr tico da computa o gr fica data de 1951 quando foi feita a primeira demonstra o de um sistema computadorizado de radares desenvolvido por um grupo de pesquisa do MIT Massachusetts Institute of Technology Nesse sistema os radares eram ligados a um computador digital que mostrava o mapa da regi o em seu monitor CRT tubo de raios cat dicos e desenhava pontos representando as aeronaves detectadas Esses sistemas de radares foram usados at a d cada de 80 O primeiro sistema de desenho por computador foi o DAC 1 Design Augmented by Computers criado pela GM e IBM em 1959 Este sistema permitia que o usu rio entrasse com a descri o 3D de um autom vel e rotacionasse a imagem para v la de dif
43. uma parte de sistema com grande impacto psicol gico sobre o usu rio Elas devem dar ao usu rio a melhor informa o poss vel sobre o que causou o erro mensagens do tipo syntax error ou incorrect data n o ajudam em nada o usu rio Al m disso o sistema n o deve assustar ou culpar os usu rios pelos erros melhor dizer por exemplo unrecognized command do que illegal command pois no primeiro caso o computador est admitindo que n o capaz de reconhecer a mensagem e n o que o usu rio est errado e Tenha sempre como desfazer as a es do usu rio comando undo e N o antropomorfize isto n o d ao computador caracter sticas humanas evite mensagens do tipo bom dia ou como est voc Isso acaba irritando o usu rio e Mantenha a in rcia da tela uma interface bem projetada muda o m nimo poss vel entre uma tela e outra Objetos est ticos como bot es e cones devem aparecer sempre nos mesmos locais em todas as telas para manter a consist ncia A engenharia semi tica acrescenta a estas outras diretrizes para o projeto de UIs Ela estuda os sinais trocados nas telas de E S da aplica o atrav s dos quais o usu rio cria um modelo conceitual de usabilidade da aplica o isto o significado assumido pelo usu rio das mensagens da UI Dentre as diretrizes da engenharia semi tica podem ser citadas Souza 93b Souza 96 e Evite usar sinais inventados
44. zoom travelling etc Ilumina o permite a cria o de fontes luminosas de tr s tipos pontual emitindo luz em todas as dire es spot situada em um ponto e emitindo luz em uma dire o especificada e solar emite raios paralelos Atores x Decora o Atores s o objetos que podem se mover e n o est o restritos a estruturas provenientes do modelador geom trico podem tamb m ser par metros de c mera oservador centro de interesse etc posi o ou dire o de fonte de luz etc Decora o por sua vez deve ser uma estrutura proveniente do modelador geom trico e n o tem a capacidade de se mover durante o transcorrer da anima o Com o conhecimento desses conceitos poss vel criar um quadro com a estrutura de um roteiro de anima o com a linguagem do TOOKIMA Figura IV 2 A B Raposo 40 INCLUDES E VARIAVEIS EXTERNAS include lt stdio h gt include p_transf h include p_vector h include p_alloc h include p_error h include p_graph h include p_poly3d h include camera h include actor h include time h include scanline h include sl_wire h include light h include script h include motion h extern varidveis externas Especifica o do rel gio interno Listagem dos atores que participam da cena Restri es temporais At Before After Between Fun es da cena que ocorrem segundo as restri es temporais Estas f
45. Depois de escolhidos os par metros de rendering o usu rio tem duas op es gerar ou n o gerar os quadros Se ele optar por n o ger los Accept without Rendering o roteiro ser atualizado com os par metros de rendering mas ele n o ser efetuado Se ele optar pela gera o dos quadros Accept amp Render o roteiro tamb m ser atualizado e uma nova caixa de di logo aparecer onde devem ser dados os par metros do m dulo RENDER se o V 6 ou seja o intervalo de rendering e em cada quantos quadros um ser gerado se ser gerado um a cada dois quadros um a cada dez etc O bot o Accept desta caixa de di logo inicia efetivamente o processo de rendering dos quadros da anima o O rendering realizado como um processo filho executado em background Por esta raz o o usu rio pode continuar trabalhando com a interface enquanto os quadros est o sendo gerados Enquanto o rendering est sendo efetuado aparece um bot o chamado Abort Render na rea de mensagens da interface Este bot o serve para abortar o processo de rendering A B Raposo 80 O ltimo bot o da linha de bot es da janela principal o Quit que finaliza a execu o do TOOKIMA exigindo uma confirma o para tal Um Sistema Interativo de Anima o no Contexto ProSlm 81 VII CONCLUS ES O presente trabalho pode ser dividido em duas etapas sequenciais uma etapa de reestrutura o do conjunto de ferramentas para a descri o de an
46. Documentation 1994 Zeleznik 91 A B Raposo 108 Zeleznik R C et alli An Object Oriented Framework for the Integration of Interactive Animation Techniques Computer Graphics v 25 n 4 pp 105 111 1991 Zeltzer 85 Zeltzer D Towards an integrated view of 3 D computer animation The Visual Computer v 1 n 4 pp 249 259 1985
47. E GRANITE WOOD First Color Red 121 ua Essa Essas 255 RRRREPRRRRRRERERRERERFRRRESREREEREEEEERER Green 190 O s O20 A ee ee ee ee eee ee ee ee ee Blue ae 55 IR RRRRRRRRRRRRRERRERRRREERREERRRREERRERERRER Second Color Red 255 e DS IR RRRRRRRRRRRRRRRRRRRRRERRERRRREERRERERRER Green 203 TT TTTTTTT FO 255 E RRRRRPRRRRRRERERRERRERRRRESREREERESEEERER Elue 244 T 255 Z RRRRRPRRRRRREFRRREEREFREREEREFRERREFERREE Opacity x 1000 Red 561 D m 1000 Us RRRRRRRRRREFERRRRRESERRESEEFERREERENEEEEE Green 375 VA E 1000 RRRRRRRRRRERPERRRRREPERREREREERREERERENEEE Blue 796 C iI E J43344J4J4JJJJJJJJJJAJJJAJJJJ4J13 J114111 Ambient x 1000 530 D 1000 ee ee ee ee ee eee ee ee ee ee Specular x 1000 317 _ 1900 A ee ee ee ee ee ee ee ee C3 x 1000 752 ts OI FRRFRRRRRRRFERRRRERRRRRRRRRRRERERRERER Scale 10 _ lt lt lt rr 20 a rO ee SLI D S D S S S OS E II Load File Save Preview Quit Editor MARBLE the texture is a color which file cor must begin with 4 see manual for more details The surface will look like marble Figura B 1 Janela principal do Editor de Texturas O editor de texturas tamb m apresenta quatro bot es localizados quase no final da janela logo acima da rea de mensagens O primeiro deles Load File serve para carregar um arquivo de textura previamente criado O bot o
48. ERFAC ES a interface de um programa que estabelece o di logo entre o usu rio e o programa Hoje em dia para os usu rios de um sistema computacional a comunica o com o mesmo t o importante quanto a computa o por ele realizada Como citado em Hix 93 para os usu rios a interface o sistema A interface com o usu rio UI User Interface portanto um m dulo cr tico do sistema e seu desenvolvimento parte de todo o processo de engenharia de software O projeto de interfaces requer o conhecimento n o s da tecnologia apropriada mas tamb m de fatores humanos para garantir a efici ncia da comunica o homem m quina Recentemente pesquisadores estenderam o conceito de UI defendendo a id ia de que a linguagem da interface tamb m seja uma linguagem de programa o EUPL End User Programming Language Dertouzos 92 Eisenberg 95 Souza 96 Neste novo cen rio as interfaces devem permitir que o usu rio n o apenas utilize as aplica es da melhor forma mas tamb m customize estenda e ou as integre em novos ambientes de trabalho Seguindo este ponto de vista Eisenberg 95 afirma que uma aplica o bem projetada deve ter uma interface gr fica acess vel aos usu rios inexperientes e deve ser projetada visando levar gentilmente o usu rio programa o Em outras palavras as aplica es devem conter tanto uma interface gr fica acess vel e extens vel quanto um interpretador
49. Entretanto a maior parte da luz que vemos no mundo real difusa ou refletida de outras superf cies Em 1984 foi publicado um artigo que descrevia o m todo da radiosidade para o rendering de imagens Goral 84 Este m todo usa f rmulas de transfer ncia de calor para simular a troca de energia luminosa entre os objetos de uma cena obtendo resultados bastante realistas Em 1984 uma empresa chamada Wavefront lan ou o primeiro produto comercial para anima o 3D At ent o cada est dio de computa o gr fica tinha que escrever seus pr prios programas para a gera o de anima es Nesse mesmo ano a Apple lan ou o Macintosh o primeiro computador pessoal a usar uma interface gr fica No ano seguinte o EPIC Electronic Photography and Imaging Center da AT amp T lan ou o TARGA um adaptador de v deo para PCs Pela primeira vez os usu rios de PCs puderam trabalhar com imagens coloridas de 32 bits armazenadas no formato TGA Targa Foi lan ado tamb m em 1985 o Amiga um computador pessoal com recursos de hardware para a cria o de v deos Este tamb m foi o ano do surgimento da multim dia quando a ISO International Standards Organization criou o primeiro padr o para CD ROMs Em 1986 a Crystal Graphics lan ou o TOPAS um dos primeiros programas de anima o de alta qualidade para PCs Nesse mesmo ano a computa o gr fica passou a ser usada em tribunais dos EUA para ajudar o juri a visualizar os casos Esse t
50. G Manual da Interface Gr fica do Sistema ProSIm Relat rio Interno DCA FEE UNICAMP 1994 Malheiros 95 Malheiros P 3D Studio 4 0 Guia completo Berkeley Brasil Editora 1995 Mandelbrot 82 Mandelbrot B B The fractal geometry of nature Freeman 1982 McCormack 88 McCormack J and Asente P An Overview of the X Toolkit Proc of UIST 88 ACM SIGGRAPH Symposium on User Interface Software and Technology pp 46 55 1988 McLachlan 85 McLachlan D R CORY An Animation Scripting System Masters thesis Rensselaer Polytechnic Institute Troy New York May 1985 Microsoft 92 Visual Basic Programmer s Guide Microsoft Inc 1992 Moltedo 93 Moltedo L and Morigi S ANIMA An Interactive Tool for Scientific Data Animation Computer Graphics Forum v 12 n 5 pp 277 288 1993 Moran 81 Moran T P The Command Language Grammar a representation for the user interface interactive computer systems International Journal of Man Machine Studies n 15 pp 3 50 1981 Um Sistema Interativo de Anima o no Contexto ProSlm 103 Morrison 94 Morrison M Becoming a Computer Animator Sams 1994 Resumo da hist ria da computa o gr fica encontrada em http www toystory com Myers 88 Myers B A Creating User Interfaces by Demonstration Academic Press 1988 Myers 92a Myers B A Languages for Developing User Interfac
51. IGHTS RENDER OUTPUT TRACKS Biblioteca de ilumina o ldef Pontos de controle tck Figura IV 4 Bibliotecas reutiliz veis em roteiros de anima o A linguagem para a composi o de roteiros ser detalhada no pr ximo cap tulo Para tornar sua implementa o menos custosa a linguagem de roteiros foi implementada sobre a linguagem do TOOKIMA isto sendo traduzida para ela depois uma vez que o TOOKIMA j oferecia grande parte das fun es necess rias Essa tradu o pode parecer levar a um significativo aumento no tempo de gera o de uma anima o mas o atraso que realmente ocorre n o significativo a etapa de rendering o verdadeiro gargalo de todo o processo Ap s a tradu o para a linguagem do TOOKIMA o roteiro compilado e ser o gerados n roteiros para o renderer onde n o n mero de quadros da anima o que ter ent o condi es de produzir os quadros Entretanto o processo de tradu o do roteiro para a linguagem do TOOKIMA sua compila o e gera o Um Sistema Interativo de Anima o no Contexto ProSlm 43 dos n roteiros para o renderer escritos numa linguagem pr pria do renderer transparente para o usu rio que s obter o resultado na forma dos n quadros ou de uma anima o MPEG Le Gall 91 A Figura IV 5 ilustra esta sequ ncia de passos para a gera o de uma anima o scnpt SIPP quadro 0 Constru o Interativa interfa
52. INITION COLOR defini o de cor A2 DEFINITION as defini o da END cor Figura V 1 M dulo ACTORS Os movimentos dos atores tamb m s o especificados neste m dulo eles devem ser colocados ap s a defini o de cada ator O movimento deve ser sempre precedido pelo intervalo de tempo em que ocorrer Os delimitadores de intervalo usados s o e At determina que o movimento que se segue ocorrer exatamente naquele instante ou naquele quadro Exemplos At 2 0 At FRAME 60 A B Raposo 48 e After indica que o movimento ocorrer ap s determinado instante ou determinado quadro Exemplos After FRAME 95 After 3 0 e Before o movimento ocorrer do in cio at determinado instante ou quadro Exemplo Before FRAME 22 e Between indica que o movimento ocorrer entre dois intervalos de tempo incluindo estes dois instantes Exemplo Between FRAME 4 FRAME 50 indica que o movimento come a no quadro 4 e termina no 50 Quando o intervalo se prolonga por mais de um quadro em todos os casos exceto quando se usa At necess rio especificar se o valor dos par metros do movimento se referem ao movimento de um quadro para outro ou se referem ao movimento total do intervalo por exemplo se dito que um ator deve girar 10 deve se saber se ele vai girar 10 por quadro ou se no final do intervalo ele dever ter girado 10 Para isso existem as palavras chave EACH FRAME
53. Neste caso se diz que a anima o modelada por computador A grande otimiza o de tempo custos confiabilidade etc que a automatiza o proporcionou ao processo convencional de cria o de uma anima o atraiu o interesse de cientistas da computa o e animadores Hoje em dia a anima o por computador engloba uma grande quantidade de t cnicas que muitas vezes pouco t m em comum Quase todos os sistemas que lidam com a varia o temporal de elementos de imagens geradas por computador s o chamados sistemas de anima o por computador Pueyo 88 Este cap tulo objetiva fazer uma s ntese dos aspectos essenciais da anima o modelada por computador I 1 COMPONENTES DE UM SISTEMA DE ANIMA O MODELADA POR COMPUTADOR Anima o segundo Thalmann 85a o processo no qual gerada dinamicamente uma s rie de quadros onde cada quadro uma altera o do quadro anterior Portanto como j foi dito no Cap tulo I err neo considerar anima o como sin nimo de movimento uma vez que altera es de cor texturas ilumina o etc tamb m caracterizam uma anima o Durante o processo de cria o de uma anima o modelada por computador pelo menos tr s ferramentas fundamentais s o necess rias Ao longo desta disserta o a palavra anima o ser usada em seu sentido restrito como sin nimo de movimento Um Sistema Interativo de Anima o no Contex
54. OLOR 65535 000 65535 000 65535 000 SOLID ANGLE 30 000 SPOT TYPE SOFT Cancel Movements END RENDER FROM FRAME CO TO FRAME C303 ONE_FR_IN 5 END OUTPUT OUTPUT_PATH tmp mao QUALITY STPPMPEG SIPP SHADE GOUR_SIPP STPP_SHADOW FALSE SIPP SAMPLE 1 VIEWPORT 200 200 END lal Module Lights File proj prosim tookima2 o interface scripts maasp Figura VLS Interface com a coluna de bot es do m dulo LIGHTS a TOOKIMA Background Color Background Color Red 40 me E ss SISISTITSTITIIITITITITDITITDITI ddd Green 95 __ 255 E IRRRRRRRRRRRREERERRERREERFRRREREERENEEERE Elue 214 S 255 a a J14313431J4J13JJ1JJJ1JJ41 JJ41JJJ114J3JJJ111 Accept Figura VI 9 Caixa de di logo para a edi o da cor de fundo Na parte de movimentos da coluna de bot es aparece o bot o Follow Tracks que abre uma caixa de di logo parecida com a da Figura VI 3 com a diferen a de que aqui deve se escolher a fonte de luz que seguir a trajet ria e se a trajet ria alterar a posi o ou a cor da fonte Seguir uma trajet ria de cores significa que a cor da luz da fonte ter os valores rgb dados pelas coordenadas dos pontos da trajet ria portanto os pontos desta trajet ria devem ter valores entre O e 65535 os limites para as componentes rgb A B Raposo 78 a TOOKIMA Light Sources Source s Name L2 Source Type SPOT POIN
55. RRREEREFRRREEREFRERREFEREE ABSOLUTELY RELA TIVE Ly AT EACH FRAME TOTAL Accept Figura V1 4 Caixa de di logo para a transla o de atores ou grupos de atores O pr ximo bot o da coluna do m dulo ACTORS o Cancel Movements que permite cancelar todos os movimentos de um ator ou grupo inclusive as metamorfoses Uma mensagem para a confirma o do comando mostrada antes da atualiza o do roteiro A ltima parte da coluna de bot es do m dulo ACTORS permite a conex o com ferramentas auxiliares O bot o Geometry aciona o modelador geom trico do ProSIm para a cria o dos modelos B Reps dos atores O bot o Texture ativa o editor de texturas um execut vel para a cria o das texturas dos atores tamb m desenvolvido como parte deste trabalho ver Ap ndice B Estas ferramentas auxiliares n o atuam diretamente na constru o do roteiro mas permitem a cria o de arquivos que devem ser associados aos atores da anima o A B Raposo 74 VI 4 C MERA Assim como o bot o Actors o bot o Camera da linha superior abre uma coluna lateral de bot es com comandos espec ficos para o tratamento da c mera A Figura VI 5 mostra esta coluna TOOKIMA v2 0 File Options Totaltime Rate Create Tracks T Actors Lights Render T Quit BRP home grad Tamanhnarbonecos dedos brp COLOR home mscialberto cor laranja metal cor CAMERA
56. T SUN Position K 5 000 Y OD Z 7 000 Aim W 0 000 Y 0000 f 0 000 Spots Angle in degree 30 000 Spot s type Soft Sharp Red 255 e DOS Se ee ee ee eee eee ee Green 255 O 255 ee eee ee ee ee Blue 255 O 255 A ee ee ee ee ee eee ee ee lt lt Previous Next gt gt Add New Source Accept Figura VLIO Caixa de di logo para a edi o de fontes de luz Depois das trajet rias ainda h duas altera es que uma fonte de luz pode sofrer liga desliga e fade estas altera es foram vistas com mais detalhes na se o V 5 O bot o Turn On Off permite ligar ou desligar uma fonte em determinado instante v lido lembrar que por default todas as fontes definidas est o ligadas Portanto ligar uma fonte s tem sentido se ela tiver sido desligada anteriormente O bot o Fades permite a cria o de fades in acender uma fonte gradativamente do preto at a sua cor e de fades out apagar uma fonte gradativamente Os dois ltimos bot es da coluna servem para cancelar os movimentos das fontes Cancel Movements elimina as trajet rias e as a es de ligar ou desligar uma fonte Cancel Fades elimina os fades da anima o Ambos os bot es exigem a confirma o dos comandos V1 6 RENDERING Depois dos bot es da parte superior da janela principal que geram a coluna lateral bot es Actors Camera e Lights aparece o bot o Render Este bot o apresenta um menu onde se deve esco
57. UNIVERSIDADE ESTADUAL DE CAMPINAS FACULDADE DE ENGENHARIA ELETRICA E DE COMPUTACAO DEPARTAMENTO DE ENGENHARIA DE COMPUTACAO E AUTOMACAO INDUSTRIAL UM SISTEMA INTERATIVO DE ANIMA O NO CONTEXTO ProSim Disserta o de mestrado apresentada Faculdade de Engenharia El trica e de Computa o da Universidade Estadual de Campinas como parte dos requisitos para a obten o do t tulo de Mestre em Engenharia El trica Autor ALBERTO BARBOSA RAPOSO Orientador PROF DR LEO PINI MAGALH ES Junho de 1996 BANCA DEAVALIACAO Presidente Prof Dr L o Pini Magalh es Membros Profa Dra Clarisse Sieckenius de Souza Profa Dra Wu Shin Ting Suplente Prof Dr Roberto de Alencar Lotufo UNICAMP FEEC DCA PUC RJ Depto de Inform tica UNICAMP FEEC DCA UNICAMP FEEC DCA AGRADECIMENTOS A FAPESP pelo apoio financeiro atrav s da bolsa de mestrado Ao CNPq e CAPES pelo apoio financeiro atrav s da bolsa de inicia o cient fica onde tudo come ou e em outras ocasi es Ao meu orientador Prof Dr L o Pini Magalh es n o s pela dedica o e ajuda que sempre deu nos momentos problem ticos do trabalho mas tamb m pelas oportunidades que me tem aberto Ao Prof Dr Jos Tarc sio F de Camargo um grande companheiro de pesquisas desde os tempos de inicia o cient fica A Prof Dra Clarisse Sieckenius de Souza pela ajuda e sugest es que sempre deu nas reuni es no
58. VALUE POINT START 10 10 10 STOP F 02y L03 O TO trilha de pontos com interpola o dada por fun o c bica TYPE tmp trilha tr VALUE COLOR T1 trilha de cores lida em arquivo A descri o formal completa da linguagem de roteiros apresentada atrav s de uma BNF mostrada no Ap ndice A A primeira fase do presente trabalho que culminou com o desenvolvimento da linguagem de roteiros serviu para aumentar a usabilidade do sistema tornando o mais modular consistente robusto e de mais f cil utiliza o Al m disso esta linguagem criou um modelo de roteiro de anima o que serviu como base para a cria o da interface com o usu rio que ser vista no pr ximo cap tulo Um Sistema Interativo de Anima o no Contexto ProSlm 67 VI A INTERFACE A anima o por computador muito mais do que uma combina o de hardware e software uma arte John Lasseter em Lasseter 87 mostra como os princ pios fundamentais da anima o tradicional devem ser aplicados anima o modelada por computador Segundo ele muitas anima es por computador saem ruins porque os novos animadores n o conhecem tais princ pios que t m sido usados nas ltimas seis d cadas pelos animadores tradicionais Complementando Booth 83 alega que os cientistas da computa o s o capazes de criar bons sistemas de anima o mas raramente s o capazes de criar boas anima es que exige
59. a rendi o do cinema computa o gr fica Nesse ano os dois maiores sucessos de bilheteria foram O Exterminador do Futuro 2 onde pela primeira vez a computa o gr fica criou um personagem principal e A Bela e a Fera onde os est dios Disney usaram o computador para Um Sistema Interativo de Anima o no Contexto ProSlm 5 criar parte dos belos cen rios Desde ent o a computa o gr fica passou a ser parte integrante do cinema e a realizar feitos extraordin rios como a cria o dos dinossauros em Parque dos Dinossauros em 1993 e em 1995 o filme Toy Story o primeiro longa metragem inteiramente modelado por computador No tocante ao Brasil o principal evento da comunidade de cientistas profissionais e estudantes em computa o gr fica e processamento de imagens o SIBGRAPI Simp sio Brasileiro de Computa o Gr fica e Processamento de Imagens uma realiza o anual da Sociedade Brasileira de Computa o iniciado em 1988 A computa o gr fica e particularmente a anima o por computador s o reas relativamente recentes de estudo que obtiveram grandes avan os nos ltimos anos Mas as novidades continuam surgindo a cada ano e estas reas ainda representam um vasto campo para pesquisas A Figura 1 1 mostra um resumo com os principais fatos descritos 1 2 ProSlm 1 2 1 Hist rico O ProSIm Prototipa o e S ntese de Imagens foto realistas e anima o constitu
60. a tanto no TOOKIMA quanto no ANIMADO tinham suas formas definidas por fun es das bibliotecas SolGen e CSG modeladores geom tricos desevolvidos para o ProSIm O sistema de rendering utilizado se baseava em um algoritmo scanline Z buffer Preto 92 sendo mais tarde substitu do pelo SIPP Simple Polygon Processor Yngvesson 94 um renderer de dom nio p blico com mais recursos Outros trabalhos em rendering tamb m foram realizados na segunda fase do ProSIm por exemplo Besuievsky 93 ray tracing Queiroz 91 radiosidade e Diz 95 p s tratamento da imagem sintetizada Ainda nesta etapa do projeto foram iniciadas atividades em texturiza o de imagens Stahlke 93 Alegre 94 e Silveira 94 1 2 2 Est gio Atual Tradicionalmente o problema do controle dos movimentos de objetos numa anima o abordado por meio de equa es diferenciais e das leis f sicas que regem tais movimentos Entretanto a complexa natureza de v rios sistemas f sicos leva a sistemas de equa es diferenciais cada vez mais complexos Al m disso n o existe uma solu o global que possa ser aplicada anima o de qualquer objeto isto uma solu o conveniente para determinado sistema pode n o trazer bons resultados se aplicada a outro sistema Em Camargo 94 foi apresentado um modelo para a divis o do controle dos movimentos numa anima o em dois n veis controle local e controle global Essa abordagem simplifica a model
61. ace gr fica sem a necessidade de conhecimento de linguagem de programa o por parte do animador no caso o cientista A B Raposo 36 Il 7 2 Tempo x Eventos A anima o por computador normalmente constru da discretizando o movimento em instantes espec ficos de tempo A vari vel tempo utilizada como um rel gio de quadros cujos passos determinam os instantes em que o movimento deve ser fotografado para o rendering Esse m todo funciona muito bem para sistemas com comportamento cont nuo Entretanto existem situa es como nas simula es de fen menos f sicos em que eventos podem acontecer assincronamente em rela o ao rel gio isto entre um quadro e outro e causar descontinuidades no comportamento do sistema simulado Nessas situa es o tratamento puramente temporal da anima o pode n o ser adequado Em Kalra 92 o conceito de evento em anima o formalizado e criada uma primitiva de tempo chamada unidade de evento event unit A unidade de evento composta de tr s elementos dependentes do estado atual do sistema um conjunto de regras para o comportamento do sistema antes da detec o do evento uma vari vel l gica para indicar a ocorr ncia do evento e um conjunto de regras de comportamento para depois da detec o do evento Atrav s da composi o de unidades de evento poss vel simular o comportamento de um sistema O conceito de eventos est intimamente ligado an
62. ada a divis o de CG da Lucasfilm Morphing O Retorno de Jedi da Lucasfilm 12 IBM PC Fundadas a Silicon Graphics Jornada nas e a Autodesk Estrelas II 7 IO IO 1 II OO TTT _ _ AN A 1984 1985 1986 1988 1989 1990 1991 1993 1995 Radiosidade 10 Amiga Forensic Renderman Autodesk Windows 3 0 OExterminador Jurassic Toy Goral 84 Padr o para Animation Softimage Animator Autodesk do Futuro II Park Story 12 softcomercial CD ROM TOPAS sofware OSegredo 3DStudio ABelae pi desenvolvimento TARGA Pixarse 10 do Abismo a Fera de anima es 3D separada SIBGRAPI 12 Macintosh Lucasfilm Figura I 1 Principais eventos que marcaram a hist ria da computa o gr fica Em seu est gio inicial o ProSIm era um modelador de cenas baseado no paradigma CSG Construtive Solid Geometry para a interface com os usu rios e no modelo B Rep Boundary representation para a representa o interna dos objetos Al m disso permitia a visualiza o final da imagem atrav s da utiliza o de um dos algoritmos de rendering existentes um scanline e um ray tracing a partir da defini o de par metros tais como fontes de luz caracter sticas das superf cies etc Nesse est gio o ProSIm ainda n o provia recursos para a anima o de objetos em uma cena Num segundo est gio o projeto migrou do ambiente PC DOS para Sun UNIX Nesse est gio come aram as atividades em anima o com o desenvolvimento do TOOKIMA TOOL K
63. agem de sistemas ou objetos relativamente complexos Pode se atribuir a cada ator um bloco de controle local que conter suas regras de comportamento ou seja as leis f sicas que regem seus movimentos Para o controle da intera o entre os diversos atores da anima o e o animador sugerido um bloco de controle global que determina por exemplo quais atores s o afetados pela ocorr ncia de determinado evento e como eles reagir o Este paradigma orientado a eventos sendo o tempo n o mais o nico fator determinante para o desencadeamento de rea es dos atores de uma anima o simula o Os sistemas a serem simulados se enquadram nas classes dos DEDS Discrete Event Dynamic Systems que podem ser modelados por ESMs Extended State Machines Mais detalhes sobre esta proposta podem ser encontrados em Camargo 95a Camargo 95b e Camargo 95c A formaliza o da estrat gia de divis o do controle de uma anima o em blocos de controle local e um bloco de controle global tem sido um dos objetos de pesquisa do grupo ProSIm Paralelamente s atividades desenvolvidas em anima o modelagem geom trica e rendering tamb m t m sido desenvolvidos trabalhos para a integra o dos programas anteriormente desenvolvidos e cria o de uma interface gr fica interativa para o sistema ProSIm Para a implementa o da interface optou se por uma abordagem top down em que num primeiro momento foram definidos seu layout
64. alo de tempo o ator B se movimenta na primeira metade deste intervalo e o ator C na segunda metade do mesmo muito mais natural para o animador especificar que o ator A se movimentar de t0 a t2 B se movimentar de t0 a tl e C de tl a t2 do que tentar imaginar a linha do tempo e especificar que entre t0 e tl Ae B est o se movimentando e entre t1 e t2 A e C t0 tl t2 tempo Figura IV 3 Tr s atores se movendo ao longo do tempo Para atingir a simplifica o desejada alguns dos conceitos utilizados pelo TOOKIMA foram eliminados Por exemplo n o h mais a hierarquia script cena cue e frame para a descri o da anima o e nem a diferencia o de ator e decora o todos s o tratados como objetos que podem ter ou n o movimentos Na nova linguagem a descri o da anima o feita por m dulos onde os diferentes elementos da anima o s o tratados Dessa maneira tudo o que diz respeito c mera por exemplo fica no m dulo CAMERA do roteiro tudo que diz respeito ilumina o fica no m dulo LIGHTS e assim por diante Pode se dizer que o roteiro orientado aos elementos da cena e n o mais ao rel gio temporal da cena como na linguagem do TOOKIMA S o poss veis oito m dulos num roteiro e GENERAL onde s o colocados par metros gerais da anima o tempo total e taxa de quadros s al m de vari veis globais e ACTORS define os objetos que participar o da cena suas caracter sticas e movime
65. anima o As op es deste submenu s o importar arquivo exportar arquivo salvar e criar novo arquivo o conte do da rea de textos apagado e come a se a trabalhar em um novo roteiro Antes de todas as a es destrutivas por exemplo criar um novo roteiro sem que o anterior esteja salvo s o mostrados avisos nos quais pedida a confirma o da a o Entretanto estas situa es s o pouco comuns pois a cada vez que o roteiro lido ou reescrito pelo sistema e isto acontece a cada vez que uma caixa de di logo com par metros do roteiro aberta ou fechada ele automaticamente salvo Por esta raz o logo da primeira vez que se escreve algo de maneira interativa no roteiro aparece a caixa de di logo Save File para que seja dado o nome do arquivo no qual o roteiro ser armazenado O bot o Options apresenta duas op es gerais a serem escolhidas pelo usu rio durante a constru o do roteiro A primeira delas diz respeito unidade de tempo utilizada Em anima o pode se trabalhar com as unidades de tempo em Frames ou em segundos A op o Frames a default Uma vez escolhida a op o de unidade de tempo todas as caixas de di logo e o roteiro passam a trabalhar com ela o roteiro constru do com a interface n o mistura as duas unidades de tempo Um Sistema Interativo de Anima o no Contexto ProSlm 69 embora isto seja permitido pela linguagem de roteiros O objetivo permitir que o usu ri
66. anipula o direta na interface podendo ser usadas t cnicas de keyframes ou a especifica o de curvas para a gera o do movimento A anima o procedimental utiliza roteiros escritos em linguagens pr prias para o controle da anima o 1 6 1 Sistemas Gr ficos Sistemas gr ficos criam anima es guiadas segundo a classifica o de Zeltzer 85 se o III 2 N o exigido do animador o conhecimento pr vio de nenhuma linguagem de programa o espec fica Todo o controle da anima o feito graficamente na interface O Autodesk 3D Studio Autodesk 90 Malheiros 95 um exemplo bastante conhecido de um sistema gr fico de anima o que utiliza a t cnica de keyframes Outra t cnica bastante utilizada para o controle de movimentos em sistemas gr ficos a manipula o de curvas Atrav s da edi o de curvas o animador pode criar e alterar o movimento de uma sequ ncia da anima o Esta t cnica tamb m permite a separa o do controle da posi o do controle da velocidade pois eles podem ser manipulados por curvas distintas Watt 93 Um exemplo de sistema gr fico de anima o que utiliza a manipula o de curvas o Controller John 89 Nesse sistema o controle do movimento feito em tr s etapas Numa primeira etapa dada a informa o sobre a posi o do objeto atrav s do desenho de uma curva no plano Esta curva ser desenhada como segmentos de reta cujos extremos podem ser manip
67. ao animador obter maior controle sobre a interpola o Neste m todo s o usados os chamados moving points que s o curvas no espa o e no tempo que controlam tanto a trajet ria quanto a din mica de certos pontos dos quadros chave Dessa maneira poss vel controlar a acelera o do movimento interpolado Entretanto a ess ncia da anima o por interpola o de keyframes a determina o de correspond ncias entre os quadros chave isto quais pontos de um quadro chave dever o ser mapeados em quais pontos do quadro chave seguinte exatamente neste ponto que se encontram as maiores dificuldades na automatiza o deste processo j que cada keyframe uma proje o bidimensional de objetos 3D e portanto informa es s o perdidas informa es estas que podem ser essenciais ao longo da interpola o Na anima o tradicional este problema n o existe pois o artista conhece ou pelo menos capaz de imaginar o modelo 3D do ambiente e dos objetos da cena Esse problema pode ser resolvido se for usada a interpola o param trica Badler 95 e Wyvill 90 onde s o dados valores chave para certos par metros da imagem valores estes que ser o interpolados nos inbetweens Com a imagem definida a partir de par metros n o h mais o problema da perda das informa es tridimensionais j que elas est o embutidas nos par metros a serem interpolados Um exemplo de interpola o param trica a metamorfose d
68. apar ncia visual e as funcionalidades desejadas Malheiros 94 A implementa o deste layout foi feita com aux lio do XView Heller 90 um toolkit para o desenvolvimento de interfaces seguindo o padr o OpenLook Sun 89 A B Raposo 8 Para complementar as funcionalidades das bibliotecas de ferramentas gr ficas bidimensionais de alto n vel tais como o XView e o XMotif Open 89 est sendo implementada uma biblioteca chamada IQLT Alegre 95 com fun es que permitem a manipula o e visualiza o de objetos tridimensionais com recursos bidimensionais No est gio atual de desenvolvimento poss vel acessar as seguintes funcionalidades atrav s da interface ProSIm e Modelagem Geom trica defini o de objetos por instancia o ou importa o de arquivos remo o de objetos ou parte deles e exporta o de objetos em arquivos e Modelagem de Cenas defini o e posicionamento de c meras e posicionamento de objetos atrav s da entrada de valores e Modelagem de Propriedades F sicas defini o de cores s lidas para os objetos de cena e Rendering SIPP que uma bilbioteca para o rendering de cenas tridimensionais usando um algoritmo de scanline Z buffer com diversos recursos tais como wireframe mapeamento de texturas anti aliasing e sombras Yngvesson 94 e Anima o desenvolvimento de um script de anima o interativamente pr visualiza o em wireframe e MPEG gera o dos quadros em fo
69. as fontes definidas e a cor de fundo atrav s das fun es FADE IN ALL e FADE OUT ALL Estas duas fun es tamb m n o possuem par metros V 6 M DULO RENDER Determina os intervalos da anima o que ser o passados ao subsistema de 2 rendering A determina o destes intervalos importante porque a etapa de rendering a mais demorada do processo de cria o de uma anima o por computador e portanto a limita o dos quadros a serem gerados pode dividir o processo em partes menores al m de agilizar a etapa de testes quando s preciso visualizar determinados trechos da anima o Este m dulo se organiza como no exemplo a seguir RENDER FROM 2 0 TO 10 0 END No exemplo acima o rendering come ar no instante t 2 e terminar no instante t 10 Outro fator que pode agilizar a etapa de testes gerar apenas um quadro em cada grupo de n quadros consecutivos por exemplo gerar um a cada cinco quadros dentro do intervalo de rendering determinado Para isso usa se ONE FR IN Apenas os quadros de n meros m ltiplos de ONE FR IN ser o gerados Exemplo RENDER FROM FRAME 0 TO FRAME 80 ONE FR IN 4 END No exemplo anterior s ser o gerados os quadros 0 4 8 12 76 e 80 A B Raposo 60 V 7 MODULO OUTPUT Neste m dulo s o dados o nome dos arquivos que conter o as imagens e a qualidade das imagens geradas O sistema de anima o integrado ao SIPP Yngvesson 94
70. as coordenadas significa diminui o de tamanho No exemplo seguinte o ator diminuir 50 na dire o x e aumentar 60 na dire o Zz ACTORS AO DEFINITION actor adef Between FRAME 30 FRAME 85 scale actor RELATIVE 50 0 60 TOTAL END e scale actor x A R n scale actor y AR n scale actor z A R n casos particulares da fun o anterior em que a mudan a de escala s se d numa dire o Por exemplo scale actor y RELATIVE 35 o mesmo que Scale actor RELATIVE 0 35 Du e growth A R n shrink A R n fun es que permitem um crescimento encolhimento igual nas tr s dimens es O par metro n o valor em porcentagem deste crescimento ou encolhimento Por exemplo growth ABSOLUTE 65 o mesmo que scale actor ABSOLUTE 65 65 65 e free scale actor px py PZ VX vy vz permite novas alternativas para ponto de refer ncia na mudan a de escala Os tr s primeiros par metros s o as coordenadas do ponto de refer ncia desejado Os tr s par metros seguintes s o as coordenadas que determinam o valor percentual da mudan a de escala em cada dire o e repaint texture type color permite que o ator tenha sua textura alterada para a textura definida pelo arquivo cujo nome o segundo par metro da fun o color O par metro texture type deve ser coerente com o arquivo especificado e pode assumir os mesmos valores que SHADE TYPE ou seja BASIC PHONGS STRAUSS
71. as para o entretenimento Um exemplo de sistema para o desenvolvimento de anima es e n o de simula es o TicTacToon Fekete 95 um sistema profissional para a cria o de anima es bidimensionais Este sistema foi desenvolvido com a preocupa o de permitir ao animador trabalhar de maneira semelhante da anima o tradicional baseada em desenhos no papel O objetivo automatizar o processo tradicional de cria o de anima es sem grande impacto para o animador O TicTacToon est sendo usado para uma grande variedade de produ es incluindo comerciais de TV vinhetas etc A simula o normalmente exige a exatid o f sica dos movimentos pois ela est associada representa o de algum processo do mundo real processo f sico movimento de rob s visualiza o cient fica etc Simula es s o comumente usadas para o estudo de problemas cient ficos e para a representa o e interpreta o de experimentos A simula o como citado em Palamidese 94 vantajosa para a aplica o que est sendo considerada uma vez que ela permite um entendimento global e sint tico dos resultados principais ou revela aspectos que n o poderiam ser observados a partir de uma imagem est tica O ANIMA Moltedo 93 uma ferramenta interativa desenvolvida para a produ o de simula es a partir de resultados num ricos de experimentos cient ficos Ele permite o desenvolvimento da simula o a partir de uma interf
72. balho e Manuten o do TOOKIMA Na verdade esta foi uma etapa iniciada ainda como trabalho de Inicia o Cient fica que serviu para conhecer a fundo o sistema j desenvolvido test lo e fazer as altera es necess rias Nesta fase o sistema tamb m foi documentado tanto atrav s do desenvolvimento de um manual de utiliza o Raposo 95a como atrav s da revis o do c digo deixando o mais comentado e Cria o de uma nova linguagem para a descri o de roteiros de anima o Esta linguagem n o apenas simplificou os roteiros de anima o mas tamb m incorporou facilidades que se mostraram necess rias medida que anima es iam sendo desenvolvidas com o sistema facilidades que n o existiam na linguagem do TOOKIMA tais como a possibilidade de leitura em arquivos etc Foi implementado um sistema tradutor da nova linguagem que durante a execu o traduz o roteiro para a antiga linguagem do TOOKIMA A linguagem de roteiros est documentada em Raposo 95b A B Raposo 82 e Implementa o de uma interface para a constru o interativa de roteiros Ap s o passo intermedi rio que foi a elabora o de uma linguagem mais simples para a composi o de roteiros de anima o tornou se poss vel o desenvolvimento de uma interface que facilitasse a constru o dos mesmos O objetivo foi permitir o trabalho em um n vel ainda mais alto de abstra o durante a cria o de uma anima o Assim como na transp
73. ce script SIPP quadro 1 Roteiro da script SIPP quadro n compila o e SIPP execu o renderer Figura IV 5 Fluxo de informa es durante a gera o de uma anima o V 3 CONSTRU O INTERATIVA DE ROTEIROS O n vel mais abstrato para o desenvolvimento de anima es com o ProSIm o n vel interativo atrav s da interface gr fica Esse n vel no entanto n o pretende tornar o n vel inferior isto o n vel da linguagem de roteiros transparente para o usu rio O objetivo da interface tornar o usu rio apto a lidar diretamente com o roteiro da anima o de acordo com os princ pios de End User Programming Language discutidos no cap tulo II A interface possui os elementos gr ficos tradicionais menus bot es caixas de di logo etc oferecendo todas as fun es necess rias para a constru o do roteiro e tamb m uma rea de texto onde o roteiro pode ser manipulado diretamente essa rea funciona como um editor de textos medida que o roteiro vai sendo montado pelos elementos gr ficos ele vai sendo atualizado na rea de texto permitindo com que o usu rio v aos poucos compreendendo a sintaxe da linguagem de roteiros como proposto por Eisenberg 95 a interface leva o usu rio programa o Portanto como mostrado na Figura IV 5 o roteiro pode ser constru do atrav s da interface de maneira interativa ou direta atrav s do editor de textos O controle d
74. ctor_name gt lt actor name gt os n 1 nomes de atores do grupo devem ser diferentes lt gc_def gt GC lt v real gt lt v_real gt lt v real gt gt GC lt actor name gt lt group mov gt lt t mov 1 gt lt g movs gt lt t mov 2 gt lt g movs gt lt e t gt lt g movs gt lt translates gt lt rotates gt lt scales gt lt translates gt lt rotates gt e lt scales gt j definidos no m dulo ACTORS M dulo CAMERA Um Sistema Interativo de Anima o no Contexto ProSlm 89 S lt mod_camera gt CAMERA lt cam def gt lt cam_param gt lt cam mov gt END s e t quaisquer lt cam def gt DEFINITION lt path gt lt path gt deve indicar um arquivo com o formato de defini o de c mera lt arq_def_camera gt ver OBS no final deste m dulo lt cam_param gt lt obs_def gt lt coi_def gt lt vup_def gt lt d_def gt lt aperture def gt lt window def gt lt obs def gt OBS lt real gt lt real gt lt real gt lt coi def gt COI lt real gt lt real gt lt real gt aqui tamb m a linguagem n o livre de contexto preciso que o COI seja diferente do OBS lt vup def gt VUP lt real gt lt real gt lt real gt lt d_def gt D lt real pos gt por lt real_pos gt entenda se um real positivo diferente de 0 lt aperture def gt APERTURE lt real_
75. dades de cinem tica inversa em suas funcionalidades A cinem tica inversa trata do posicionamento de uma estrutura articulada a partir do posicionamento e orienta o da extremidade desta estrutura utilizando um algoritmo para determinar as posi es e orienta es das juntas intermedi rias Por gt A cinem tica inversa n o o nico m todo para a simula o de estruturas articuladas Elas tamb m podem ser simuladas por cinem tica direta onde a posi o e a orienta o de cada junta s o determinadas a cada instante a partir de um conjunto de equa es matriciais Tamb m poss vel a simula o de estruturas articuladas atrav s de din mica direta ou inversa A B Raposo 28 exemplo na simula o de um bra o basta determinar a posi o e orienta o da m o para que as posi es do antebra o e do bra o sejam encontradas Normalmente mais de um resultado poss vel para um problema de cinem tica inversa pois v rias configura es das juntas podem levar a extremidade mesma posi o Por esta raz o restri es internas s o necess rias a fim de se obter um nico resultado 11 3 5 Anima o por Din mica Inversa A din mica inversa prov meios de determinar os torques que s o necess rios para a realiza o de determinado movimento uma vez conhecidas todas as for as que atuam sobre o objeto que se deseja movimentar Na din mica inversa se faz a seguinte pergunta quais torqu
76. de acordo com o valor do par metro VALUE O exemplo a seguir ilustra a defini o de trilhas TRACKS TO TYPE pontos trilha in VALUE POINT T1 TYPE QUADR VALUE DOUBLE START 1 5 STOP 30 END A B Raposo 62 Neste exemplo a trilha TO uma trilha de pontos VALUE POINT lida a partir do arquivo pontos trilha in Este arquivo deve se iniciar com o n mero de pontos de controle que ele cont m e dar as tr s coordenadas de cada um desses pontos se fosse uma trilha de reais por exemplo o arquivo deveria conter os valores destes n meros reais A trilha T1 por sua vez uma trilha de reais que come a em 1 5 e vai at 30 e os valores ser o interpolados segundo uma fun o quadr tica Para usar os valores de uma trilha como par metros para movimentos de atores c mera etc necess rio definir uma vari vel global no m dulo GENERAL com a fun o following track Esta fun o deve ser definida da seguinte maneira e following track A R trilha acc AR begin end o primeiro par metro ABSOLUTE ou RELATIVE e indica o modo de caminhamento pela trilha Caminhar por uma trilha de maneira absoluta relativa origem significa ir para um determinado ponto na curva da trajet ria pois usada uma transla o absoluta para esta tarefa Caminhar de maneira relativa relativa ltima posi o significa perguntar ao procedimento quanto variou o par metro do ator entre a lti
77. de na cria o de uma UI A constru o de uma interface utilizando toolkits no entanto restrita a programadores experientes pois este tipo de ferramenta apresenta apenas interface procedimental Os UIMSs s o geralmente acess veis a n o programadores pois eles separam completamente o c digo que implementa a interface do c digo da aplica o propriamente dita suportando um n vel mais elevado de abstra o na constru o da UI Esse tipo de sistema permite que o projetista crie uma UI completa e funcional sem ter que programar utilizando uma linguagem de programa o tradicional mas geralmente preciso utilizar alguma linguagem especial principalmente quando se pretende acessar banco de dados transmitir mensagens ou realizar c lculos cient ficos Dentre os diversos tipos de UIMSs classificados por Myers 96 destacam se os ambientes de programa o visual que usam o conceito da manipula o direta de objetos visuais assim chamados porque cada objeto tem uma representa o gr fica correspondente Esse tipo de ambiente permite ao projetista selecionar o objeto desejado menu bot o etc e posicion lo com o mouse Um dos mais populares ambientes de programa o visual o Visual Basic da Microsoft Microsoft 92 que permite al m da constru o da interface por manipula o direta dos seus componentes o desenvolvimento de uma aplica o completa utilizando uma varia o da linguagem Basic No Brasil a
78. de posi o as posi es das juntas s o calculadas pelo sistema a partir da posi o do extremo da cadeia articulada se o 1 3 4 e Anima o por din mica direta determina a trajet ria de todas as juntas a partir de for as e torques aplicados sobre elas se o 1 3 3 e Anima o por din mica inversa conhecidas as for as que atuam sobre o objeto s o determinados os torques que devem ser aplicados para a realiza o de determinado movimento se o III 3 5 e Anima o comportamental o comportamento do ator modelado variando desde o simples planejamento de trajet rias livres de colis o at complexas intera es emocionais entre atores se o III 4 O movimento dos atores ser uma consequ ncia de instru es dadas pelo animador levando em considera o o comportamento modelado para o ator Um exemplo deste tipo de anima o visto em Koga 94 onde os bra os do A B Raposo 32 personagem n o movem seguindo uma trajet ria dada por uma lei f sica mas movem com a inten o de realizar determinada tarefa gera o autom tica de movimentos complexos de manipula o I 6 SISTEMAS DE ANIMA O POR COMPUTADOR Os sistemas de anima o por computador s o comumente divididos em duas categorias sistemas gr ficos ou interativos e sistemas de anima o procedimental ou scripting systems Nos sistemas gr ficos a anima o desenvolvida atrav s de m
79. e e assume o valor 7 5 J a vari vel x2 ser lida do arquivo usr input in a cada frame ser lido um valor do arquivo que ser armazenado nesta vari vel A utilidade da vari vel lida em arquivo que este pode por exemplo conter o resultado num rico de uma simula o cujos valores podem ser usados como par metros de movimentos de atores Uma vari vel global pode assumir ainda o valor dado pela fun o following track usada quando se deseja seguir uma trilha de pontos A explica o da utiliza o de trilhas ser dada no m dulo TRACKS A B Raposo 46 V 2 M DULO ACTORS Este m dulo define os objetos que participar o da cena e suas caracter sticas Deve ser dado o nome do arquivo com suas caracter sticas geom tricas e sua posi o inicial al m de sua cor superf cie e de seu m todo de tonaliza o shading Este m dulo tamb m trata dos movimentos dos atores Cada movimento transla o rota o e mudan a de escala deve vir acompanhado dos par metros que o caracterizam quantos graus o ator gira qual a porcentagem da mudan a de escala etc al m do intervalo de tempo em que ocorrer o A medida de tempo pode ser feita em segundos ou em quadros frames A defini o das caracter sticas f sicas de cada ator e sua posi o inicial podem ser dadas num arquivo em separado que tem a seguinte forma BRP proj prosim objects esf brp SHADE TYPE WOOD SHADOW FALSE
80. e superf cies quando estas s o modeladas por algum tipo de fun o que ter seus par metros interpolados Em Preston 94 por exemplo apresentado um modelo para anima o utilizando NURBS Non Uniform Rational B Splines Os objetos s o modelados por NURBS e modifica es em par metros destas curvas atrav s de manipula o direta na interface alteram a forma dos mesmos Um Sistema Interativo de Anima o no Contexto ProSlm 27 1 3 2 Anima o Cinem tica Ao inv s de determinar posi es chave para um par metro e interpol las o animador pode especificar uma posi o ou valor inicial e uma fun o no tempo que descreva as modifica es deste par metro Por exemplo poss vel animar a queda livre de um objeto colocando o em uma altura inicial e calculando sua posi o em cada quadro a partir de sua equa o de queda livre Este m todo de controle chamado cinem tico porque os movimentos dos objetos s o controlados por fun es de posi o velocidade e acelera o 1 3 3 Anima o Din mica Quando o objetivo de uma anima o a simula o de um processo f sico um modelo mais sofisticado que o cinem tico deve ser utilizado para que o resultado final apresente um aspecto mais realista Esse modelo o modelo din mico que utiliza vari veis que foram desprezadas pelo modelo cinem tico O modelo din mico usa for as e torques aplicados aos objetos al m dos respectivos mome
81. eada em Magalh es 95 Um Sistema Interativo de Anima o no Contexto ProSlm 23 RAAAAA ABRA Figura III 2 Diferen a entre movimento pr prio do ator e movimento no ambiente Assim duas quest es b sicas devem ser tratadas com rela o aos movimentos em anima o a quest o do movimento pr prio comportamento individual do ator com refer ncia no seu centro de massa e a quest o do movimento no ambiente cuja refer ncia a origem de um sistema de coordenadas global Esta ltima engloba intera es com o ambiente e com os outros atores A Figura III 3 ilustra os conceitos discutidos no caso de atores n o articulados MOVIMENTO Intera es Movimento no Ambiente Figura III 3 Rela o mov pr prio x mov no ambiente para atores n o articulados Quando os atores s o articulados ocorre uma hierarquiza o desses conceitos pois o movimento pr prio do ator como um todo envolve movimentos pr prios e no ambiente de cada uma das partes que os comp em A Figura III 4 a adapta o da Figura III 3 para o caso de objetos articulados A discuss o anterior foi realizada em um n vel onde o controle do movimento efetivamente acontece n vel concreto Zeltzer 85 ainda subdivide este n vel de controle em outros dois n veis o n vel de anima o guiada e o n vel do animador A B Raposo 24 Movimento do ator como um todo Mov Pr prio cada parte Movimento no Ambi
82. eiro Apple e Bill Gates fundou a Microsoft junto com Paul Allen Nessa mesma poca a Universidade de Utah at ent o o principal centro de pesquisas em computa o gr fica perdeu o posto para o Instituto de Tecnologia de Nova Iorque NYIT que contratou os principais pesquisadores de Utah O motivo da queda de Utah foi a falta de recursos Um Sistema Interativo de Anima o no Contexto ProSlm 3 Em 1976 foi desenvolvida uma t cnica chamada bump mapping que viria a ser publicada no SIGGRAPH dois anos depois Blinn 78 uma t cnica similar ao mapeamento de texturas em superf cies mas permite a simula o de superf cies n o lisas isto com buracos dentes etc Em dezembro de 1977 saiu o primeiro exemplar da revista Computer Graphics World que hoje importante ve culo de divulga o das novidades relacionadas computa o gr fica No final da d cada de 70 o cineasta George Lucas decidiu criar uma divis o de computa o gr fica para a sua empresa de efeitos especiais para cinema a Lucasfilm Em 1979 esta divis o foi criada contratando os maiores nomes da computa o gr fica nos EUA a maioria do NYIT Al m da Lucasfilm a cria o de um centro de pesquisas em computa o gr fica na Universidade de Cornell contribuiu para o esvaziamento do NYIT Em 1979 tamb m foram feitos os primeiros trabalhos sobre um novo m todo de rendering no qual o computador simula o trajeto de todos os
83. ente Intera es Figura III 4 Rela o mov pr prio x mov no ambiente para atores articulados No n vel de anima o guiada o movimento explicitamente descrito sem nenhum tipo de abstra o Neste n vel podem ser usados aparelhos espec ficos para a aquisi o dos dados cinem ticos de uma figura m vel dados estes que ser o usados para o controle da figura animada Entretanto o tipo mais comum de anima o guiada a anima o por keyframes onde quadros chave s o fornecidos pelo animador e os quadros intermedi rios s o calculados por interpola o No n vel do animador o movimento especificado algoritmicamente provendo ao animador um controle completo sobre ele Por esta raz o o n vel do animador apropriado para a defini o de movimentos complexos que s o muito dif ceis de serem criados com a anima o guiada por causa do pouco controle que o animador exerce sobre o movimento A desvantagem do n vel do animador sobre a anima o guiada a dificuldade de uso que exige o conhecimento de uma linguagem de programa o A Figura II 5 ilustra o n vel concreto de controle de movimento MOVIMENTO Figura III 5 O n vel concreto de controle Com o intuito de simplificar a tarefa do animador ao especificar uma anima o definido o n vel de inten o com maior grau de abstra o que o n vel concreto Neste n vel de controle tamb m presente em Zeltzer 85 o animador es
84. er apenas o m dulo GENERAL e o m dulo ACTORS com pelo menos um ator pois todos os outros m dulos t m valores default Para finalizar alguns coment rios devem ser feitos a respeito da formaliza o da linguagem de roteiros de anima o do ProSIm 1 A nota o BNF tem limita es no que diz respeito depend ncia do contexto Isto as classes de s mbolos s o expandidas sem refer ncia ao contexto no qual elas est o inseridas Entretanto a BNF foi usada em virtude de sua simplicidade e do pequeno n mero de situa es em que h depend ncia do contexto na linguagem de roteiros do ProSIm nessas situa es os coment rios na descri o formal tentam suprir a limita o da BNF 2 A linguagem de roteiros apresentada tem grande flexibilidade no que diz respeito ordem em que os m dulos ou os elementos internos a eles podem ser Um Sistema Interativo de Anima o no Contexto ProSlm 93 apresentados Para efeito de simplifica o entretanto essa flexibilidade n o considerada na formaliza o utilizada a qual obriga a apresenta o dos m dulos e dos elementos internos a eles em uma sequ ncia espec fica 3 As linhas com coment rios no roteiro come adas com n o foram inclu das na BNF A B Raposo 94 Ap ndice B Editor de Texturas Como no ProSIm n o havia recursos dispon veis para a edi o de arquivos de texturas foi necess rio o desenvolvimento de um programa ex
85. er para gerar os quadros da anima o Na cria o de uma anima o com esta linguagem s o utilizados alguns conceitos importantes Script roteiro um programa principal que gerencia as cenas sendo respons vel pelo macro controle de anima o Utilizando uma hierarquia rvore para representar o processo de descri o de uma anima o o roteiro seria a raiz cont m uma vis o geral da anima o de forma sucinta Cena desdobramento do roteiro que descreve a anima o com maior detalhamento Os desdobramentos das cenas ser o chamados sub cenas aumentando cada vez mais o n vel de detalhes Frames s o as folhas da rvore onde n o s o mencionadas as mudan as mas mostradas quadro a quadro Cue outro conceito muito importante utilizado no sistema CORY McLachlan 85 Cue um intervalo de tempo associado a uma cena intervalo de tempo em que a cena acontecer Cada cena est associada a uma cue e a cada cue est o associadas uma ou mais cenas Cada cue possui dois valores que identificam o instante em que a cena come a e o instante em que ela termina Rel gio Absoluto varia de O a TotalTime vari vel definida no roteiro o tempo total da anima o com passo de 1 Rate Rate a taxa de quadros por segundo de anima o tamb m definida no roteiro Rel gio Local rel gio determinado internamente cena Camera Sint tica permite efeitos semelhantes aos obtidos com uma c mera de cinema
86. eradoras e possibilidade de cria o de macros por parte do usu rio e Leve em considera o as limita es da mem ria humana as informa es na tela devem ser organizadas de modo que o usu rio n o precise memorizar a informa o de uma tela para outra e Previna os erros do usu rio um bom exemplo desativar escolhas err neas nos menus ou desativar os bot es cujos comandos n o podem ser acessados em determinado instante Um Sistema Interativo de Anima o no Contexto ProSlm 13 e Deixe o usu rio reconhecer ao inv s de lembrar melhor permitir ao usu rio fazer uma escolha entre os itens de uma lista reconhecimento do que obrig lo a escrever um par metro ou comando para realizar uma tarefa lembran a e Use a cogni o por exemplo mais natural para o usu rio usar as teclas aceleradoras Ctrl c para o comando copy do que algo sem sentido tipo Esc F7 e Use feedback informativo principalmente em tarefas demoradas atrav s do desenho do cone em forma rel gio por exemplo pois em poucos segundos o usu rio ficaria na d vida se o sistema est realizando a tarefa ou ficou bloqueado e Use mensagens explicativas e voltadas para o usu rio infelizmente ainda s o comuns mensagens bizarras do tipo 505 hex 0001F9 doublewords of storage were not recovered em simples processadores de textos e Use mensagens de erro construtivas e n o violentas As mensagens de erro constituem
87. erentes posi es O pr ximo grande avan o da computa o gr fica foi a cria o do Sketchpad Sutherland 63 no MIT O Sketchpad era um outro programa para desenho em computadores onde se podia usar uma caneta ptica para desenhar formas geom tricas na tela de um computador salvar estes desenhos e recarreg los depois Em 1961 foi criado tamb m no MIT o primeiro videogame que se chamava Spacewar Em 1966 um videogame mais tarde chamado Odyssey veio a se tornar o primeiro produto de consumo da computa o gr fica Na primeira metade da d cada de 60 v rios cientistas j estavam usando a computa o gr fica para ilustrar suas pesquisas por exemplo para mostrar controles de sat lites fluxo de fluidos viscosos propaga o de ondas de choque etc Entretanto o primeiro centro de pesquisas em computa o gr fica s foi criado em 1968 por Dave Evans e Ivan Sutherland o criador do Sketchpad na Universidade de Utah que no mesmo ano fundaram sua pr pria empresa a Evans amp Sutherland pioneira nos hardwares de acelera o gr fica isto com rotinas de desenho embutidas nos circuitos 1 Adaptado de Morrison 94 A B Raposo 2 O primeiro grande avan o do grupo de Utah na gera o de imagens 3D foi o desenvolvimento de um algoritmo eficiente para a elimina o de superf cies escondidas Warnock 69 O algoritmo determina as superficies fora do campo de visualiza o e as retira do renderin
88. erf cie deve ser absorvida por alguma outra superf cie permitindo um tratamento mais apurado das reflex es entre os objetos O mecanismo de controle da anima o o respons vel pela movimenta o dos atores al m da coordena o das intera es entre os mesmos e entre estes e o animador Ao contr rio da modelagem geom trica e da gera o de imagens onde existem t cnicas padronizadas n o existe um algoritmo gen rico para o tratamento da movimenta o intera o de objetos em uma anima o Na verdade existem apenas casos de estudo onde uma determinada t cnica de controle aplicada a um certo n mero de modelos N o restam d vidas portanto que esta a tarefa mais desafiadora dentro da rea de anima o por computador A se o seguinte objetiva apresentar uma vis o geral da anima o modelada por computador sob o ponto de vista do controle do movimento intera o de objetos Wl2 CONTROLE DO MOVIMENTO E DAS INTERA ES EM UMA ANIMA O VISAO G ERAL Com rela o ao movimento cada quadro de uma anima o expressa uma parte do percurso sendo realizado pelos atores no mbito da est ria e da movimenta o individual do ator enquanto realiza sua trajet ria Por exemplo na parte superior da Figura III 2 o ator segue uma trajet ria sem nenhum movimento individual enquanto na parte inferior da mesma figura o ator segue a mesma trajet ria mas com o movimento individual de rota o Bas
89. es Jones and Bartlett Pub 1992 Myers 92b Myers B A and Rosson M B Survey on User Interface Programming Proc of ACM CHI 92 Conference on Human Factors in Computing Systems pp 195 202 1992 Encontrado em http www cs cmu edu afs cs project garnet www papers html Myers 93 Myers B A Wolf R Potosnak K and Graham C Panel Heuristics in Real User Interfaces Proc of INTERCHI 93 Human Factors in Computing Systems pp 304 307 1993 Encontrado em http www cs cmu edu bam Myers 96 Myers B A User Interface Software Tools Submetido para publica o Encontrado em http www cs cmu edu afs cs project garnet www papers html Neibauer 92 Neibauer A R The ABC s of Windows 3 1 Sybex Inc 1992 Newman 79 Newman W M and Sproull R F Principles of Interactive Computer Graphics 2 ed McGraw Hill Book Co 1979 Nielsen 90 Nielsen J Traditional Dialog Design Applied to Modern User Interfaces Communications of the ACM v 33 n 10 pp 109 118 1990 Nielsen 92 Nielsen J Finding Usability Problems Through Heuristic Evaluation Proc of CHI Conference on Human Factors in Computing Systems pp 373 380 1992 A B Raposo 104 Nielsen 93 Nielsen J Noncommand User Interfaces Communications of the ACM v 36 n 4 pp 83 99 1993 Norman 86 Norman D A and Draper S W eds User Centered System Design New Per
90. es ESSMOTVA OS qu a ete 1 4 O SISTEMA INTERATIVO DE ANIMA O eee I 5 ORGANIZA O DA DISSERTA O ii Il INTERFACES Hele DSA BILDER DE unaspnanasas sina orar isarica nin terat 1 2 O PROCESSO DE DESENVOLVIMENTO a I 3 FERRAMENTAS seseceisdeticenvestecstenicctuetectueenss l4 PERSPECTIVAS nissin enini ai iaa Il ANIMA O POR COMPUTADOR II 1 COMPONENTES DE UM SISTEMA DE ANIMA O MODELADA POR COMPUTADOR Ill 2 CONTROLE DO MOVIMENTO E DAS INTERA ES EM UMA ANIMA O VIS O GERAL si 1 3 T CNICAS PARA CONTROLE DE MOVIMENTOS 1 3 1 Anima o porInterpola o ii 1 3 2 Anima o Cinem tica see 1 3 3 Anima o Din mica erre 1 3 4 Anima o por Cinem tica Inversa eseese 1 3 5 Anima o por Din mica Inversa seess lll 4 INTERA ES ENVOLVENDO ATORES iss 1 4 1 Intera o AtorAmbiente ia 1 4 2 Intera o AtorAtor rrenan 1 4 3 Intera o AnimadorAtor emas HI 5 FIG URAS ARTIC ULADAS FIGURA HUMANA 1 6 SISTEMAS DE ANIMA O POR COMPUTADOR 1 6 1 Sistemas Gr ficos oaceeeceececcecsssessseeesstsesseeesseeeseeeees 1 0 2 Sistemas de Anima o Procedimental _ 1 7 OUTRAS CLASSIFICA ES seser 1 7 1 Anima o x Simula o ie lll 7 2 Tempo x Eventos asas mesteraatena rs Sanmanguaga nego eba ndesaa 1 7 3 Playback x Tempo Real a eeeseeeetetteeeeesteeeeeeetneeees NES RESUMO sedate nsw inca da ads Rca pras E
91. es devem ser aplicados para que o extremo atinja determinada posi o Na cinem tica inversa por outro lado a pergunta seria quais devem ser as posi es das juntas para que o extremo esteja nesta posi o A din mica inversa n o tem sido t o utilizada quanto a cinem tica inversa pois ela apresenta um grau de complexidade muito grande 11 4 INTERA ES ENVOLVENDO ATORES A evolu o dos modelos de controle de movimento permitiu grandes desenvolvimentos no relacionamento entre atores e ambiente Particularmente t cnicas como a intelig ncia artificial a programa o orientada a objetos e a vis o computacional t m permitido avan os significativos no campo das intera es em anima o Em Thalmann 91 as intera es s o divididas em tr s tipos intera o ator ambiente intera o ator ator e intera o animador ator Ainda no mesmo artigo os m todos de controle de movimento MCMs s o classificados como geom tricos f sicos ou comportamentais Os MCMs geom tricos usam informa es de ordem geom trica Dessa maneira o movimento definido em termos de coordenadas ngulos etc Os MCMs f sicos usam leis e caracter sticas f sicas como base para o c lculo do movimento que definido em termos de massa momentos de in rcia etc Os MCMs comportamentais especificam o movimento de um ator em termos de comportamento em um n vel mais alto de abstra o Utilizando a divis o em dois n vei
92. eyes Image Rendering Architecture Computer Graphics v 21 n 4 pp 95 102 1987 Cordy 92 Cordy J R Why the User Interface Is Not the Programming Language and How It Can Be Cap tulo 6 de Myers 92a 1992 Costa 95 Costa M Feij B e Schwabe D Reactive Agents in Behavioral Animation SIBGRAPI 95 VIII Simp sio Brasileiro de Computa o Gr fica e Processamento de Imagens pp 159 165 1995 Costa 96 Costa M Feij B Agents with Emotions in Behavioral Animation Computer amp Graphics v 20 n 3 1996 Daldegan 95 Daldegan A e Guadagnin R V An Integrated Approach to Improve the Facial Emotional Behavior of Virtual Actors SIBGRAPI 95 VIII Simp sio Brasileiro de Computa o Gr fica e Processamento de Imagens pp 167 173 1995 Deering 95 Deering M F HoloSketch A Virtual Reality Sketching Animation Tool ACM Transactions on Computer Human Interaction v 2 n 3 pp 220 238 1995 Dertouzos 92 Dertouzos M L The User Interface is The Language Cap tulo 2 de Myers 92a 1992 Diz 95 Diz J A S ntese de Efeitos Fotogr ficos em Computa o de Imagens Disserta o de Mestrado DCA FEE UNICAMP 1995 Eisenberg 95 Eisenberg M Programmable Applications Interpreter Meets Interface SIGCHI Bulletin v 27 n 2 pp 68 93 1995 Fekete 95 Fekete J D et alli TicTacToon A Paperless System for Professional 2D
93. g Na verdade a primeira solu o conhecida para o problema das superf cies escondidas foi dada por Roberts 63 Apesar da solu o matematicamente elegante este algoritmo tinha complexidade proporcional ao quadrado do n mero de objetos em cena n o despertando portanto um grande interesse Rogers 85 Warnock o criador do algoritmo citado viria a fundar mais tarde a Adobe Systems criadora da linguagem PostScript medida que os computadores passavam dos monitores vetoriais para os rasters a preocupa o dos pesquisadores se voltou para o desenvolvimento de modelos de ilumina o e sombreamento shading que mostrassem realismo na cria o de objetos coloridos Um dos primeiros m todos de shading foi mostrado em Bouknight 70 Hoje melhorado este m todo conhecido como flat shading Este m todo colore cada pol gono de uma superf cie da mesma cor compromentendo o realismo de superf cies curvas Um ano depois surgiu o Gouraud shading Gouraud 71 que aumentou o realismo das figuras geradas sem aumentar muito o custo computacional do rendering com rela o ao flat shading O m todo de Gouraud interpola as cores ao longo dos pol gonos que comp em as superf cies geradas No ano de 1971 gra as tecnologia dos circuitos integrados toda a eletr nica do processador de um computador pode ser miniaturizada em um chip o microprocessador Em 1973 foi realizado a primeira confer ncia ACM Association of Comp
94. i um prot tipo de ambiente gr fico interativo para a s ntese de imagens foto realistas e anima o por computador Este projeto foi criado h cerca de nove anos pelos pesquisadores atuantes em computa o gr fica no Grupo de Computa o de Imagens do DCA Departamento de Engenharia de Computa o e Automa o Industrial da FEEC Faculdade de Engenharia El trica e de Computa o UNICAMP Universidade Estadual de Campinas O objetivo era aglutinar em um ambiente gr fico comum as atividades relacionadas s ntese de imagens e anima o por computador A B Raposo 6 t y t y 1951 1959 1961 1968 1969 14 demonstra o do DAC 1 Drawing System Sketchpad Sutherland 63 Cria o do 12 grupo Algoritmo pf elimina o sistema de radares IBM GM 12 Video Game de pesquisas em CG de superficies escondidas computadorizado MIT Univ Utah varnock 69 gt 1970 1971 1973 1974 1975 1976 Flatshading Gouraud shading CGusadapelata Mapeamento de texturas 12 trabalho sobre Bump Mapping Bouknight 70 Gouraud 71 vez no cinema Catmull 74 i Blinn 78 Microprocessador 10 SIGGRAPH Phong shading 12 Apple Phong 74 Fundada a Microsoft 1977 1979 1980 1981 1982 1983 Lan amento da Ray tracing Yvhitted 79 10 EURO REYES Modelo de ilumina o consideran Fuzzy objects Computer Graphics e Kay 79 GRAPHICS renderizador do a energia das fontes Cook82 Reeves 83 World Cri
95. ima es cinem ticas existente no ProSIm o TOOKIMA e uma etapa de constru o de uma interface gr fica para o mesmo A etapa de reestrutura o do TOOKIMA teve como objetivo aumentar sua usabilidade e robusteza atrav s de testes corre o de falhas e documenta o culminando com a cria o de uma nova linguagem de roteiros mais simples e modular A segunda etapa teve como objetivo elevar o grau de abstra o na cria o de anima es com o desenvolvimento de uma interface interativa visando tornar o sistema acess vel a artistas n o programadores VII 1 RESULTADOS O trabalho foi realizado com o compromisso de manter a consist ncia e a compatibilidade com outros m dulos do ProSIm A consist ncia foi garantida seguindo o mesmo layout das interfaces j existentes Para manter a compatibilidade foi exigido que o sistema de anima o desenvolvido trabalhasse com os mesmos tipos de dados produzidos pelos outros m dulos no caso foi exigido que os objetos da anima o tivessem o formato B Rep Aliado a estes compromissos o sistema foi desenvolvido de modo a ser modular e relativamente independente da configura o particular do modelador geom trico e do renderer Embora trabalhe apenas com o modelador do ProSIm e com o renderer SIPP o sistema foi desenvolvido de modo a facilitar a adapta o a novos modeladores ou renderers Tr s contribui es b sicas no contexto ProSIm podem ser vistas como consequ ncias deste tra
96. ima o comportamental Por isso tende a se tornar um aspecto cada vez mais importante na anima o por computador 1 7 3 Playback x Tempo Real Para produzir a sensa o de continuidade para o olho humano as imagens de uma anima o devem ser mostradas a uma taxa de 24 quadros por segundo no m nimo Entretanto o processo de rendering de cada um destes quadros demorado e dependendo da complexidade e do grau de realismo pode demorar v rios minutos ou mesmo horas A visualiza o da anima o na taxa de quadros por segundo desejada s poss vel depois que o rendering de todos os quadros estiver terminado e eles estiverem armazenados o chamado real time playback a anima o visualizada mas n o produzida em tempo real Hoje em dia com a evolu o do hardware gr fico do multiprocessamento e da velocidade dos computadores j existem recursos para a produ o de anima es em tempo real isto s o gerados 24 quadros por segundo ou mais Um exemplo de toolkit para o desenvolvimento de aplica es gr ficas tridimensionais simula o visual e realidade virtual por exemplo em tempo real o IRIS Rohlf 94 O IRIS utiliza o multiprocessamento possuindo recursos para resolver o problema do particionamento de tarefas entre os processadores e da sincroniza o entre os processos obtendo assim o desempenho m ximo das esta es gr ficas Um Sistema Interativo de Anima o no Contexto ProSlm 37 II
97. indicando que o movimento desejado se dar a cada quadro e TOTAL indicando que o movimento desejado se completar no final do intervalo especificado As linhas do roteiro que indicam os movimentos dos atores devem ter a seguinte forma delimitador de intervalo movimento EACH FRAME ou TOTAL Os poss veis movimentos de atores com seus respectivos par metros s o listados a seguir e part indica que o ator est ativo na cena a partir de certo instante Por default todos os atores definidos participam de toda a cena e unpart indica que o ator desaparecer da cena no instante especificado Para que o ator reapare a preciso usar part Veja o exemplo a seguir onde o ator n o participar da anima o at o quadro 100 s aparecendo a partir do 101 ACTORS AO DEFINITION usr def actoro0 adef Between FRAME 0 FRAME 100 unpart After FRAME 100 part END e translate actor A R x y zZ realiza a transla o do ator O primeiro par metro a condi o ABSOLUTE ou RELATIVE Transla o absoluta significa levar o ator exatamente para o ponto desejado Transla o relativa significa deslocar o ator de um valor na s dire o es especificada s em rela o sua posi o anterior seu centro de gravidade Hounsell 92a Os par metros x y e z representam as coordenadas do ponto para onde o ator se deslocar se a Um Sistema Interativo de Anima o no Contexto ProSlm 49
98. indo que uma quantidade maior de informa o seja mostrada ao mesmo tempo de maneira intelig vel Em Robbins 95 s o mostrados princ pios e t cnicas para a cria o de UIs tridimensionais Robertson 93 apresenta um sistema experimental o Information Visualizer usado para desenvolver um novo paradigma de UI para a visualiza o de informa es baseado nas emergentes tecnologias de 3D e anima o interativa A B Raposo 18 A realidade virtual frequentemente citada como integrante da pr xima gera o de UIs Em Deering 95 apresentado o HoloSketch uma ferramenta para a cria o e manipula o de objetos tridimensionais baseada em realidade virtual um sistema an logo aos sistemas de desenho 2D que estende os conceitos para uma interface tridimensional M L Dertouzos Dertouzos 92 diz que preciso haver uma grande revolu o na programa o atrav s da inven o de um novo tipo de linguagem radicalmente diferente dos existentes Esse novo tipo de linguagem que o autor chamou de MVC My Virtual Computer deve visar as arquiteturas multiprocessadas e em rede e integrar o processador as comunica es e os perif ricos de E S Dessa maneira os comandos e as representa es de dados presentes na maioria das aplica es seriam simplificados e incorporados como interfaces padr es Seguindo a mesma linha de racioc nio Cordy 92 e Eisenberg 95 concordam que o que falta interface de
99. inguagem do TOOKIMA lt Usu rio especialista extens o da linguagem C programador Figura IV 1 N veis de roteiros de anima o As se es seguintes mostrar o mais detalhadamente cada um desses n veis Na se o IV 1 ser apresentada a linguagem do TOOKIMA a nica que existia antes do in cio do presente trabalho A se o IV 2 mostrar uma vis o geral da linguagem de roteiros que foi a primeira etapa do presente trabalho no cap tulo V esta linguagem ser vista em detalhe Para concluir a se o IV 3 apresentar uma vis o O TOOKIMA n o disp e de recursos espec ficos para o tratamento de eventos mas pode ser utilizado como ferramenta de visualiza o de anima es orientadas a eventos cujo tratamento feito por algum programa externo e o resultado passado ao TOOKIMA como a anima o mostrada em Camargo 94 Um Sistema Interativo de Anima o no Contexto ProSlm 39 global da constru o interativa de roteiros atrav s da interface gr fica desenvolvida na segunda parte deste trabalho esta interface ser detalhada no cap tulo VT IV 1 UNG UAG EM DO TOOKIMA A linguagem do TOOKIMA uma extens o da linguagem C desenvolvida por Hounsell 92a O roteiro de uma anima o nesse n vel um programa em C que utiliza fun es e tipos de dados da biblioteca definida Por ser um programa em C o roteiro compilado e ent o criado um programa execut vel que utilizar o render
100. io de informa es ao ator Por exemplo uma spaceball pode ser usada para a defini o da trajet ria a ser seguida por um ator MCMs f sicos s o usados de maneira semelhante Dispositivos como a spaceball podem ser usados para a entrada de for as e torques que atuam sobre um ator Do ponto de vista comportamental este tipo de intera o pode ser visto como a troca de emo es entre ator e animador As emo es do animador s o transmitidas ao ator por meio da digitaliza o em tempo real da imagem de uma c mera de v deo e algum programa de processamento de imagem que identifica a emo o Em resposta o ator tamb m pode ter alguma emo o normalmente gerada por um sistema de anima o facial Um Sistema Interativo de Anima o no Contexto ProSlm 31 I 5 FIGURAS ARTICULADAS FIGURA HUMANA Um grande n mero de objetos dotado de articula es dentre eles destaca se a figura humana A modelagem realista de figuras humanas um dos problemas mais desafiadores da anima o por computador porque os modelos geom tricos e matem ticos usados em computa o gr fica n o s o muito adequados para a forma do corpo humano e al m disso o movimento das juntas dif cil de ser modelado principalmente por causa do papel dos m sculos Thalmann 85a A anima o de figuras articuladas um campo da anima o muito pr ximo da rob tica Os par metros utilizados para controlar os movimentos de objetos articulados s
101. ipo de computa o gr fica conhecido como Forensic Animation mais direcionado exatid o t cnica do que est tica visual Nesse mesmo ano a divis o de computa o gr fica da Lucasfilm se separou da mesma se tornando a Pixar A Pixar continuou a desenvolver seu renderer criando em 1988 o Renderman um padr o para a descri o de cenas 3D O padr o Renderman Upstill 90 descreve tudo que o computador precisa saber antes de fazer o rendering da cena objetos fontes de luz c mera etc Uma vez que a cena est convertida para um arquivo Renderman ela pode passar pelo processo de rendering em v rios sistemas desde PCs at ambientes UNIX Tamb m em 1988 a Softimage lan ou o software que se tornou o padr o para anima o na Europa No ano seguinte foi lan ado o Autodesk Animator Autodesk 89 Freiwald 92 que se tornou o padr o para anima es em PCs Em 1989 a computa o gr fica teve outro grande marco no cinema Em O Segredo do Abismo uma criatura feita de gua interagia com personagens do filme um efeito que n o poderia ser obtido com as t cnicas tradicionais de efeitos especiais do cinema Em 1990 dois softwares importantes foram lan ados o Windows 3 1 pela Microsoft seguindo uma interface gr fica similar do Macintosh e o 3D Studio Autodesk 90 Malheiros 95 pela Autodesk que se tornou o l der no mercado de softwares de anima o 3D para PCs O ano de 1991 marcou a definitiv
102. ire o da mesma Se a fonte for do tipo spot os par metros ngulo de abertura e tipo de spot tamb m devem ser dados Abaixo a cor da luz emitida pela fonte definida de maneira semelhante cor de fundo Finalmente a caixa de di logo apresenta os bot es Previous e Next para levar o usu rio s outras fontes de luz al m do bot o Add New Source para criar uma nova fonte de luz O bot o Accept atualiza o roteiro e fecha a caixa de di logo Este execut vel tamb m foi desenvolvido como parte deste trabalho mas n o ser descrito nesta disserta o pois tem uma interface muito semelhante caixa de di logo para a edi o de fontes de luz vista na Figura VI 10 Um Sistema Interativo de Anima o no Contexto ProSlm 77 x TOOKIMA v2 0 File T Options vI Totaltime Rate Create Tracks Tj Actors Camera Render Quit LIGHTS LIGHTS Back 61166 000 61680 000 54484 000 Edition Oye SPOT POSITION 0 000 5 000 5 000 DIRECTION 0 000 5 000 5 000 COLOR 6539333 000 65535 000 65535 000 SOLID ANGLE 30 000 Background Color SPOT TYPE SOFT Li Light Sources TYPE SPOT POSITION 10 000 10 000 10 000 M E DIRECTION 10 000 10 000 10 000 OME MEMES COLOR 65535 000 65535 000 65535 000 SOLID ANGLE 35 000 Follow Tracks SPOT TYPE SOFT Le Turn On Off r TYPE SPOT POSITION 5 000 2 000 7 000 Ea des i DIRECTION 5 000 2 000 7 000 Fades r C
103. it for scripting computer Modeled Animation Hounsell 92a Hounsell 92b O TOOKIMA define um conjunto de ferramentas para a descri o algor tmica de anima es de objetos modelados por computador utilizando a filosofia procedimental Ele prov uma linguagem para a sincroniza o temporal e descri o das cenas que compor o uma anima o atrav s de roteiros scripts uma ferramenta puramente cinem tica Para dar suporte a simula es din micas foi implementado o ANIMApO Anima o por Din mica de Objetos Rodrigues 93a Rodrigues 93b O ANIMADO fundamenta se na utiliza o das leis f sicas din mica para a descri o de movimentos Com ele o animador pode produzir movimentos bastante realistas selecionando for as e torques de controle diretamente relacionados s leis mec nicas que regem o movimento O TOOKIMA e ANIMADO ainda eram incapazes de tratar certos tipos de modelos como o de estruturas articuladas e objetos deform veis O conjunto de t cnicas apresentado em Camargo 93 permitiu o desenvolvimento de modelos cinem ticos e din micos para estruturas articuladas al m da possibilidade de planejamento de trilhas e preven o de colis es Com Um Sistema Interativo de Anima o no Contexto ProSlm 7 rela o aos objetos deform veis resultados recentes em modelagem geom trica est o proporcionando ao ProSIm facilidades nesse sentido Bernardes 95 Horta 95 Os objetos usados em uma cen
104. ivamente uma EUPL pois ainda h uma dist ncia sem ntica entre ela e a linguagem da interface e Cria o de ferramentas gr ficas para a constru o de anima es por manipula o direta embora tentando n o se distanciar da EUPL Um Sistema Interativo de Anima o no Contexto ProSlm 85 Ap ndice A Descri o Formal da Linguagem de Roteiros A defini o formal da sintaxe de uma linguagem de programa o importante tanto para o usu rio quanto para o desenvolvedor Para o usu rio ela serve como refer ncia pois uma descri o clara da linguagem Para o desenvolvedor ela facilita a manuten o da linguagem A BNF Backus Normal Form uma nota o para escrever gram ticas Gear 74 e ser utilizada para descrever formalmente a sintaxe da linguagem de roteiros do ProSIm informalmente descrita no cap tulo V A BNF consiste de senten as que definem a maneira em que a linguagem de programa o deve ser escrita Ela chamada de meta linguagem e usa caracteres diferentes daqueles que s o usados na linguagem por ela descrita Na BNF os s mbolos n o terminais isto os s mbolos da meta linguagem s o delimitados por lt gt e representam est gios intermedi rios no processo de descri o da linguagem O sinal significa substitu do por Assim a senten a lt digito O gt 0 lida o meta s mbolo lt digito_0 gt substitu do por 0 O s mbolo tamb
105. ixa ainda existe a op o Shadows que permite definir se o ator ter ou n o sombras Entretanto esta op o est desativada porque o SIPP renderer n o permite que certos atores tenham sombras e outros n o a defini o da exist ncia ou n o de sombras para todos os atores da anima o feita na caixa de rendering a ser vista na se o VI 6 Os bot es Previous e Next levam aos outros atores para que edi es semelhantes sejam realizadas O bot o Add New Actor acrescenta um novo ator anima o Duas op es s o poss veis para a cria o de um novo ator ler em um arquivo de defini o adef cujo nome ser pedido ou definir Um Sistema Interativo de Anima o no Contexto ProSlm 71 suas caracter sticas diretamente na caixa de di logo mostrada Ap s a edi o dos atores existentes e a cria o de novos o bot o Accept se encarrega de fechar a caixa de di logo e atualizar o roteiro na rea de edi o de textos da interface Voltando coluna lateral de bot es do m dulo ACTORS h o bot o Groups logo ap s o Actors que serve para criar grupos de atores Este bot o abre uma caixa de di logo onde se pode selecionar dentre os atores definidos aqueles que compor o um grupo Na defini o do grupo de atores tamb m deve ser dado o centro de gravidade do mesmo que pode ser um ponto qualquer no espa o ou o centro de gravidade de um ator Esta caixa de di logo cria o m dulo GROUPS do roteiro descrito
106. l afeta a trajet ria mantendo o intervalo de tempo e a velocidade com que cada segmento percorrido escala temporal altera a dura o do segmento de anima o tornando o mais longo ou mais curto e modifica o de velocidade altera a velocidade do ator sem alterar a trajet ria e nem a dura o do segmento de anima o A grande vantagem dos sistemas gr ficos como j foi dito o fato de n o exigirem um conhecimento de programa o por parte do animador Entretanto eles apresentam algumas desvantagens com rela o aos sistemas de anima o procedimental tais como o movimento espacial s pode ser definido em gr ficos bidimensionais as curvas s o limitadas a um par metro unidimensional vs tempo exemplo rota o em y vs tempo componente vermelho da cor vs tempo etc e a manipula o direta s poss vel nos pontos de controle das curvas o que dificulta a altera o de posi es intermedi rias 1 6 2 Sistemas de Anima o Procedimental Sistemas de anima o procedimental utilizam roteiros que determinam como os par metros da anima o variar o ao longo do tempo A vantagem deste tipo de sistema sobre os sistemas gr ficos permitir um maior controle dos movimentos por parte do animador facilitando a cria o de movimentos complexos Os roteiros s o escritos em uma linguagem pr pria do sistema que pode ser uma extens o de uma linguagem de programa o j existente qual s o adicionada
107. l 8 RESUMO Neste cap tulo a anima o e os sistemas de anima o por computador foram classificados e analisados segundo v rios aspectos A seguir ser mostrado um resumo com as principais classifica es feitas nesse cap tulo Classifica es semelhantes podem ser encontradas em Pueyo 88 Thalmann 85a e Zeltzer 85 e Classifica es gerais de anima o e Hist rica anima o auxiliada ou anima o modelada por computador e Quanto ao grau de realismo anima o ou simula o e Quanto ao elemento que altera o estado dos objetos anima o temporal ou orientada a eventos e Classifica es relacionadas ao controle de movimentos e Quanto ao grau de abstra o do controle n vel concreto de controle ou n vel de inten o O n vel concreto ainda pode ser subdividido em anima o guiada e no n vel do animador e Quanto t cnica de controle anima o por interpola o cinem tica din mica cinem tica inversa ou por din mica inversa e Quanto s informa es usadas para o controle MCM geom trico f sico ou comportamental e Classifica es de sistemas de anima o e Quanto intera o com o animador sistema gr fico ou de anima o procedimental e Quanto ao desempenho no rendering da anima o sistema de playback ou de tempo real A B Raposo 38 IV O SISTEMA DE ANIMA O DO Pro SIm O ProSIm como visto no capitulo I
108. les seguem a mesma estrutura o dos movimentos de atores ou grupos de atores delimitador de intervalo movimento EACH FRAME ou TOTAL A seguinte conven o usada para os movimentos de c mera movimentos come ados com go lidam com o observador os que come am com aim movem o centro de interesse e os que come am com set redefinem os par metros de c mera A lista de movimentos de c mera dada a seguir e go forward n go backward n aproxima e afasta o observador do centro de interesse respectivamente O par metro n fornece o valor em unidades deste movimento Exemplo CAMERA DEFINITION cameral cdef After FRAME 30 go forward 1 EACH FRAME END Uma maneira de se considerar o movimento do observador em volta do centro de interesse considerar o ltimo como o centro de um cubo no qual o A B Raposo 54 observador anda paralelo aos seus lados Para representar as dire es nas quais ele se movimenta s o definidas as fun es go up go down go right ego left como mostra a Figura V 3 Figura V 3 Coi considerado como centro de um cubo O plano que cont m as dire es up down left e right o plano que cont m o vetor vup ou seja o plano perpendicular a vpn A dire o up determinada por vup e as outras por consequ ncia Este plano n o depende dos eixos cartesianos mas do sistema de coordenadas de visualiza o e go_up n go down n go_left n go_right n
109. lguns UIMSs t m sido desenvolvidos destacando se o EDG Celes 95 e o IUP LED Levy 93 O EDG n o um ambiente de programa o visual mas permite acesso facilitado tanto a objetos de interface tradicionais quanto a objetos gr ficos possibilitando que programadores ocasionais desenvolvam rapidamente programas com sofisticado grau de intera o Celes 95 Esse sistema utiliza a linguagem de programa o Lua Ierusalimschy 95 uma linguagem de extens o que combina caracter sticas tanto das linguagens estruturadas tradicionais quanto da orienta o a objetos O UP LED um sistema port til de interface com o usu rio composto por um toolkit virtual IUP e por uma linguagem de especifica o de di logos LED isto de descri o da composi o visual de objetos da interface Os UIMSs apresentam v rias vantagens A principal delas o fato de tornar o processo de desenvolvimento mais simples tornando o portanto compreens vel a uma gama maior de pessoas e facilitando as altera es no projeto Os UIMSs tamb m facilitam os testes de usabilidade pois um prot tipo pode ficar dispon vel rapidamente Al m disso os UIMSs permitem que o projetista d mais aten o a textos explicativos ajuda online e mensagens de erro que s o objetos importantes de uma boa interface Entretanto no est gio atual de desenvolvimento dos UIMSs eles ainda apresentam algumas desvantagens com rela o aos toolkits o que justifica a
110. lher o renderer utilizado e em fun o do renderer escolhido uma caixa de di logo aberta Por enquanto o sistema funciona apenas com o SIPP n o existindo na pr tica a escolha do renderer A caixa de di logo aberta ao clicar o bot o Render vista na Figura VI 11 Um Sistema Interativo de Anima o no Contexto ProSlm 79 ai TOOKIMA General settings for the script Output Format MPEG PPM PPM TOS Shade Type PHONG GOURAUD FLAT WIRE BOXES Shadows YES NO Oversample Ji 2 a 4 Viewport WIDTH 200 HEIGHT 200 Output Files tmp mao Accept amp Render Accept without Rendering Figura VI 11 Caixa de di logo para os par metros de rendering Nesta caixa est o os par metros de rendering m dulo OUTPUT do roteiro se o V 7 A primeira op o desta caixa indica se a sa da ser uma anima o no formato MPEG juntamente com os quadros PPM da mesma ou apenas os quadros no formato PPM ou TGA A op o Shade Type indica o tipo de sombreamento dos quadros Phong Gouraud flat shading quadros em wireframe ou wireframe apenas com os envolt rios convexos bounding boxes dos objetos A op o Shadows indica se haver ou n o a representa o das sombras dos objetos e a op o Oversample indica a dimens o da superamostragem Viewport indica as dimens es das imagens a serem geradas Nesta caixa tamb m deve ser dado o path e o nome dos arquivos resultantes quadros da anima o
111. m de interface n o se relaciona com a linguagem de desenvolvimento de uma anima o No TOOKIMA 2 0 a linguagem de interface se relaciona intimamente com a linguagem de roteiros criando um v nculo que facilita sua utiliza o O sistema de anima o criado n o encerra os trabalhos voltados para a cria o de anima es no ProSIm Ainda h a necessidade de novos esfor os relacionados adapta o de novos paradigmas de anima o de novos renderers e sobretudo relacionados integra o dos m dulos do ProSIm em um sistema nico que englobe desde a modelagem at o rendering A Figura VIII ilustra o sistema ProSIm ao final deste trabalho Hoje a modelagem de objetos e de c mera j est o integradas em uma nica interface cujas sa das s o os arquivos B Reps e de defini o de c mera Dois m dulos auxiliares definem os arquivos de textura Ap ndice B e de ilumina o Todos estes arquivos s o utilizados pelo TOOKIMA para a defini o de uma anima o Um Sistema Interativo de Anima o no Contexto ProSlm 83 ProSIm MODELAGEM DE OBJETOS B REP C MERA PREVIEW EDITOR DE TEXTURAS PREVIEW EDITOR DE ILUMINA O Figura VII 1 Sistema ProSIm hoje em dia VII 2 PERSPECTIVAS O objetivo do ProSIm a longo prazo ter todos estes recursos integrados em uma ferramenta gr fica nica Para isso ser necess rio que o modelador existente englobe a modelagem de fontes de luz
112. m de reduzir o custo de desenvolvimento Al m do citado codificador de MPEG a visualiza o da anima o MPEG usa o Berkeley MPEG Player e a manipula o de imagens feita atrav s do XV Bradley 93 ambos de dom nio p blico Para manter a consist ncia com os outros m dulos de interface do ProSIm a interface do TOOKIMA foi desenvolvida com o XView Heller 90 para executar no Sistema Unix das m quinas Sun SparcStations sistemas operacionais SunOS ou Solaris Esta interface ser descrita detalhadamente no cap tulo VI Tamb m como parte deste trabalho foram desenvolvidos m dulos para a cria o dos arquivos de defini o de ilumina o e texturas Estes m dulos n o fazem parte da interface do TOOKIMA mas criam arquivos que dever o ser utilizados na elabora o de uma anima o Estes m dulos tamb m ser o descritos no cap tulo VI com exce o do editor de texturas que ser visto no Ap ndice B T Z ns 2 2 A interface tamb m permite a cria o destas trajet rias atrav s de um editor de trajet rias Um Sistema Interativo de Anima o no Contexto ProSlm 45 V A UNG UAG EM DE ROTEIROS O uso de roteiros constitui um m todo pr tico e usual para automatizar o processo de anima o Um roteiro uma sequ ncia ordenada de comandos interpretada de maneira n o amb gua pelo sistema de anima o e que deve ser passada ao computador para que ele opere sobre os elementos que c
113. m devido inadequa o das linguagens de programa o convencionais para esta tarefa As linguagens convencionais n o tinham mecanismos apropriados de E S paradigmas de orienta o a objetos eficientes e nem facilidades para a programa o em tempo real e em multiprocessadores Myers 92a Na tentativa de superar estas dificuldades foram criados m todos para a representa o de UIs Um tipo de representa o poss vel para a interface atrav s de event handlers Green 85 atrav s da qual a a o do usu rio vista como um evento pelo sistema que a envia a uma rotina de software apropriada o event handler e que por sua vez pode gerar uma sa da chamar uma rotina da aplica o ou mudar o estado do sistema Outra representa o poss vel para a interface atrav s de diagrama de estados Jacob 86 Entretanto essas representa es modelam os objetos de intera o mas n o modelam o comportamento do usu rio Para uma representa o da UI do ponto de vista do usu rio existem as chamadas linguagens orientadas a tarefas task oriented languages Essas linguagens visam a identifica o das tarefas a serem realizadas pelo usu rio e seu mapeamento em especifica o de a es utilizando uma gram tica caracter stica Algumas das mais conhecidas linguagens orientadas a tarefas s o a CLG Command Language Grammar Moran 81 a GOMS Goals Operators Methods and Selection Card 83 a TAG Task Action Gramma
114. m uma habilidade especial adquirida por meio de treinamento art stico e experi ncia Por esta raz o os sistemas de anima o bem sucedidos foram criados levando em considera o as necessidades dos artistas Baseado nestas constata es ap s a reestrutura o do sistema e a cria o da linguagem de roteiros ainda se fez necess rio mais um passo para elevar o n vel de abstra o na cria o de uma anima o visando atender as necessidades dos artistas n o programadores Este passo foi o desenvolvimento de uma interface para a constru o interativa de roteiros A interface desenvolvida apresenta uma janela principal que est dividida em quatro reas como mostra a Figura VI 1 Na parte superior da janela h uma linha de bot es respons veis pela constru o do roteiro e pelo controle geral do sistema manipula o de arquivos par metros gerais execu o e finaliza o do programa Alguns bot es desta linha geram uma coluna de bot es esquerda que funciona como um submenu do comando na Figura VI 1 por exemplo esta rea est ocupada por bot es do m dulo ACTORS Esta coluna de bot es est dividida em tr s reas edi o cria o de movimentos e cancelamento de movimentos Na rea de edi o o elemento da anima o pode ser criado e alterado Na rea de movimentos tanto a posi o do elemento quanto algumas de suas caracter sticas f sicas podem ser alteradas metamorfose vista como m
115. ma posi o e a atual Caso escolha se ABSOLUTE o ator segue rigorosamente a curva definida Caso escolha se RELATIVE o ator segue a curva mas a partir da posi o em que o elemento est inicializado como se a curva tivesse sido definida a partir da posi o do ator Hounsell 92a O segundo par metro desta fun o o nome da trilha que se deseja seguir O terceiro par metro indica a acelera o com que a trilha ser percorrida ele pode ter os seguintes valores e linear movimento uniforme e slow in movimento acelerado e slow out movimento desacelerado e acc dec movimento acelerado at a metade do percurso e desacelerado na segunda metade e dec acc desacelerado at a metade e depois acelerado O quarto par metro mais uma vez a condi o ABSOLUTE ou RELATIVE indicando se o valor de retorno para ser calculado a partir do come o ou se para obter apenas a varia o no ltimo instante respectivamente Hounsell 92a Quando se deseja que o ator se desloque a cada instante para o ponto definido pela trilha deve se usar ABSOLUTE A condi o RELATIVE leva a resultados dificilmente previs veis Os dois ltimos par metros indicam o intervalo de tempo em que a trilha ser percorrida aconselh vel que o intervalo do movimento translate rotate etc que usar um par metro proveniente de following track seja o mesmo especificado nesta fun o Caso contr rio o
116. manipula o direta justamente o que as linguagens de programa o prov m tipos de dados e estruturas comandos de decis o repeti o e recurs o al m de abstra es de procedimentos e parametriza es Dessa maneira interessante unir a facilidade da manipula o direta ao poder das linguagens de programa o Um dos grandes problemas encontrados para atingir este objetivo segundo Souza 96 a passagem de uma aplica o fechada e meramente customiz vel para uma aplica o aberta e extens vel onde a programa o do usu rio final End User Programming seja poss vel Em outras palavras o problema encontrar harmonia entre a linguagem de programa o do usu rio final EUPL e a linguagem de interface UIL User Interface Language Esta ser a tarefa da engenharia semi tica que deve ser estendida para o projeto integrado de UIL e EUPL O projeto cuidadoso de uma EUPL envolve a concep o de um sistema semi tico integrado que v de uma maneira cont nua isto com o m nimo de buracos sem nticos da UIL ao seu ambiente de programa o embutido EUPL Idealmente objetos e a es espec ficos das tarefas devem ser acessados atrav s do mesmo c digo palavras e ou imagens enquanto elementos espec ficos da programa o vari veis loops etc devem ser codificados em um sistema gen rico pequeno e simples de itens l xicos e regras sint ticas que permitam ao usu rio entender os fundamentos da
117. mation Processing pp 162 167 1994 Camargo 95a Camargo J T F Anima o modelada por computador t cnicas de controle de movimento Disserta o de Doutorado DCA FEE UNICAMP 1995 Camargo 95b Camargo J T F Magalh es L P e Raposo A B Fundamentos da anima o modelada por computador Tutorial apresentado no SIBGRAPI 95 VIII Simp sio Brasileiro de Computa o Gr fica e Processamento de Imagens 1995 Camargo 95c Camargo J T F Magalh es L P e Raposo A B Local and global control in computer animation SIBGRAPI 95 VIII Simp sio Brasileiro de Computa o Gr fica e Processamento de Imagens pp 151 157 1995 Card 83 Card S K Moran T P and Newell A The Psychology of Human Computer Interaction Erlbaum 1983 Catmull 74 Catmull E A Subdivision Algorithm for Computer Display of Curved Surfaces Doctoral thesis University of Utah 1974 Celes 95 Celes Filho W Figueiredo L H e Gattass M EDG uma ferramenta para cria o de interfaces gr ficas interativas SIBGRAPI 95 VIII Simp sio Brasileiro de Computa o Gr fica e Processamento de Imagens pp 241 248 1995 Um Sistema Interativo de Anima o no Contexto ProSim 99 Cook 82 Cook R L and Torrance K E A Reflectance Model for Computer Graphics ACM Transactions on Graphics v 1 pp 7 24 1982 Cook 87 Cook R L Carpenter L and Catmull E The R
118. na como faz lo O roteiro de anima o deve ser escrito numa linguagem pr pria capaz de descrever objetos e suas mensagens A an lise dos sistemas de anima o procedimental existentes permite concluir que este tipo de sistema mais poderoso que os sistemas gr ficos pois permite a cria o de movimentos complexos O grande desafio portanto criar sistemas com roteiros simples utilizando ferramentas interativas da melhor maneira poss vel de modo a torn los acess veis a artistas n o programadores Um Sistema Interativo de Anima o no Contexto ProSlm 35 II1 7 OUTRAS CLASSIFICA ES At aqui j foram vistas v rias classifica es poss veis para anima o por computador auxiliada ou modelada por computador por interpola o por cinem tica direta e inversa ou por din mica tamb m direta e inversa Tamb m foi visto como s o classificados os m todos de controle do movimento em anima o n vel concreto ou n vel de inten o MCMs geom tricos f sicos ou comportamentais Com rela o aos sistemas de anima o eles foram classificados em gr ficos ou de anima o procedimental Al m dessas ainda h outras classifica es relacionadas anima o por computador que ser o vistas a seguir 1 7 1 Anima o x Simula o usual classificar como anima o os trabalhos em que uma grande exatid o f sica dos movimentos n o exigida Nesta categoria enquadram se as anima es voltad
119. na se o V 3 Depois do bot o Groups entra se na rea de defini o de movimentos dos atores ou grupos criados A primeira forma de associar movimentos atrav s de trajet rias previamente definidas se o VI 2 Para isso deve se clicar o bot o Follow Tracks que abre a caixa de di logo mostrada na Figura VI 3 Nesta caixa a primeira coisa a ser feita escolher o ator ou grupo que deve seguir a trajet ria Depois deve ser dado o arquivo de pontos de controle tck que define a trajet ria A acelera o com que a trajet ria ser percorrida tamb m deve ser dada nesta caixa de di logo o movimento pode ser em velocidade constante acelerado desacelerado acelerado at a metade e depois desacelerado e vice versa Para completar a defini o do movimento deve ser dado o intervalo da anima o em que a trajet ria ser percorrida este valor dado em Frames na Figura VI 3 indicando que se trabalha com esta unidade de tempo isto poderia ser mudado com o bot o Options da linha superior de bot es ver se o VI 1 Antes de colocar a trajet ria escolhida na anima o poss vel pr visualiz la de duas maneiras See Track pr visualiza o est tica onde mostrado o primeiro quadro da anima o e a trajet ria mostrada em forma de pontos no desenho e Preview pr visualiza o em wireframe da anima o no intervalo em que a trajet ria percorrida Finalmente ap s as pr visualiza
120. nterativo de Anima o no Contexto ProSlm 87 M dulo GENERAL lt mod_general gt GENERAL lt totaltime def gt lt rate def gt gt lt ext_var gt END n um n mero qualquer lt totaltime def gt TOTALTIME lt real pos gt lt rate def gt FR RATE lt inteiro gt lt ext var gt var type gt lt string gt var value gt gt lt var_type_pr gt lt string gt lt var_value_pr gt vari vel externa lt tipo gt lt nome gt lt valor gt lt var_type gt int float double qualquer tipo de vari vel da linguagem C lt var type pr gt Point Vector Color tipos de vari veis do ProSIm lt var value gt lt inteiro gt lt real gt lt fcao read files fcao foll track gt a defini o aqui n o livre de contexto preciso saber o tipo da vari vel para saber se ela assumir um valor inteiro ou real lt var value pr gt lt real gt lt real gt lt real gt lt fcao read file gt lt fcao foll track gt lt fcao read file gt read file lt path gt lt path gt deve indicar um arquivo com valores para a vari vel lt fcao foll track gt following track lt a r gt lt tr names gt lt acc gt lt a r gt lt tempo gt lt tempo 2 gt lt tr name gt ser definido no m dulo TRACKS lt acc gt linear slow in slow out acc dec dec acc M dulo ACTORS m
121. ntos e GROUPS cria grupos de atores que podem ser movimentados em conjunto A B Raposo 42 e CAMERA especifica par metros de c mera e seus movimentos e LIGHTS s o definidas as fontes de luz do ambiente e a cor de fundo e RENDER determina o intervalo da anima o que ser passado ao renderer e OUTPUT determina a qualidade das imagens geradas e o nome das mesmas e TRACKS define trajet rias pela interpola o de curvas a partir de pontos de controle Para garantir a reusabilidade de componentes do roteiro tais como os atores a c mera e a ilumina o poss vel defini los em arquivos externos que poder o compor bibliotecas reutiliz veis Os atores a c mera e a ilumina o n o precisam estar definidos explicitamente no roteiro No roteiro basta fazer uma refer ncia ao arquivo de uma das bibliotecas Al m disso cada arquivo de defini o de ator deve referenciar um arquivo com o modelo geom trico do mesmo e outro com a defini o da sua textura poss vel tamb m definir trajet rias tracks que s o usadas para a movimenta o de atores de c mera observador ou centro de interesse e de fontes de luz A Figura IV 4 mostra o poss vel relacionamento entre estas bibliotecas e o roteiro de uma anima o ROTEIRO Biblioteca de modelos geom tricos Biblioteca GENERAL ACTORS Biblioteca de camera cdef Biblioteca de texturas cor gt L
122. ntos de in rcia para determinar os movimentos Assim no exemplo da queda livre o movimento seria calculado a partir do peso do objeto al m de outras for as que poderiam estar atuando sobre o mesmo A grande vantagem do modelo din mico criar modelos fisicamente corretos Entretanto exigido o conhecimento de todas as for as que atuam sobre os objetos o que nem sempre simples ou poss vel Assim o modelo din mico apresenta um grau de complexidade maior que o cinem tico com maior n mero de vari veis a serem controladas De uma maneira geral as simula es din micas apresentam resultados mais realistas que as cinem ticas mas o controle do movimento atrav s das for as e torques n o t o natural ao animador Por essa raz o o animador tem que fazer v rios experimentos at a obten o do resultado desejado na anima o din mica Portanto a escolha entre a utiliza o do modelo cinem tico ou din mico deve ser muito criteriosa Em Camargo 95b tra ado um paralelo mais detalhado entre modelos cinem ticos e din micos inclusive atrav s do desenvolvimento de exemplos dos dois modelos 1 3 4 Anima o por Cinem tica Inversa Recentemente a cinem tica inversa tem ganho crescente import ncia na simula o de estruturas articuladas por ser um m todo de descri o de n vel mais alto como citado em Wyvill 90 Alguns sistemas de anima o como o Autodesk 3D Studio t m inclu do facili
123. o Import Def File s estar ativo se o m dulo CAMERA ainda n o tiver sido definido no roteiro Se j houver uma defini o de c mera no roteiro n o poss vel carregar um arquivo de defini o de c mera pois isto implicaria em alterar todos os par metros de uma s vez O bot o seguinte na coluna do m dulo CAMERA o bot o de edi o de c mera que exibe a caixa de di logo da Figura VI 6 Nesta caixa os par metros da c mera podem ser modificados O significado destes par metros foi visto na se o V 4 O bot o Accept fecha a caixa de di logo e atualiza o roteiro com os novos par metros de c mera Um Sistema Interativo de Anima o no Contexto ProSim 15 a TOOKIMA Camera OBS K 6 400 Yi 1 550 Z 0 600 cor X 0 280 Wr 3 600 Z 0 600 FOCAL DISTANCE 1 000 APERTURE in degree 30 000 Accept Figura VL 6 Caixa de Di logo para a edi o da c mera Continuando na coluna de bot es do m dulo CAMERA chega se aos movimentos O primeiro deles assim como para os atores dado por trajet rias pr definidas O bot o Follow Tracks abre uma caixa de di logo parecida com a da Figura VI 3 onde a nica diferen a que agora se escolhe o observador ou o centro de interesse para seguir a trajet ria e n o mais um ator ou grupo Os bot es seguintes representam os movimentos b sicos de c mera que j foram definidos na se o V 4 Movimentos do tipo Reset alteram os valores de determinado
124. o ambiente associados vis o audi o e tato 1 4 2 Intera o AtorAtor Ocorre quando as a es de um determinado ator s o conhecidas por um segundo ator e podem afetar o comportamento deste segundo ator sem a participa o do animador Isto implica necessariamente na exist ncia de algum tipo de comunica o entre os atores MCMs para intera es ator ator s o geralmente extens es da intera o ator ambiente levando em considera o os demais atores da anima o al m do ambiente MCMs geom tricos transmitem informa es geom tricas entre os atores tendo como exemplo t pico a detec o de colis o geom trica entre dois atores Nos MCMs f sicos um ator deve aplicar uma for a que serve para mudar o movimento dos demais atores Para evitar colis es essa for a deve ser de repuls o entre os atores Os MCMs comportamentais para intera es ator ator tamb m s o extens es dos utilizados para a intera o ator ambiente Por exemplo as redes de est mulo resposta de Wilhelms 90 podem especificar a rela o entre est mulos de um ator e a resposta de outro ator Os agentes reativos de Costa 95 e Costa 96 tamb m t m capacidade de trocar mensagens entre si 1 4 3 Intera o Animador Ator Neste tipo de intera o o animador pode enviar informa es ao ator e este pode responder criando um fluxo bidirecional de informa es No n vel geom trico podem ser usados dispositivos 3D para o env
125. o de Phong para o shading GOUR SIPP usa Gouraud shading FLAT SIPP usa Flat shading LINE visualiza o em wireframe ou LINE ENVELOPE tamb m wireframe mas s desenhado o envolt rio convexo tridimensional bounding box de cada ator As op es LINE e LINE ENVELOPE gerar o quadros PBM se a qualidade for SIPPPPM ou SIPPMPEG elas n o s o compat veis com a qualidade SIPPTGA O par metro SIPP SHADOW pode assumir os valores TRUE ou FALSE indicando se desejada ou n o a visualiza o de sombras nas imagens Apenas fontes de luz do tipo SPOT podem gerar sombras Um Sistema Interativo de Anima o no Contexto ProSlm 61 O par metro SIPP SAMPLE um inteiro que indica o tamanho da superamostragem oversampling que o SIPP far para evitar alias Cada pixel ser gerado internamente como uma matriz de SIPP SAMPLE x SIPP SAMPLE subpixels cuja cor m dia representar o pixel na imagem final A imagem gerada ter dimens es 320 x 200 definidas por VIEWPORT V 8 M DULO TRACKS Este m dulo permite a utiliza o de um recurso poderoso do TOOKIMA que a defini o de trajet rias e a gera o de trilhas tracks A trajet ria definida atrav s da interpola o de uma B Spline c bica a partir de pontos de controle Em seguida s o geradas as trilhas sobre as quais o ator poder se movimentar O objetivo das trilhas tornar os movimentos mais suaves e naturais Neste m dulo definido o tipo
126. o que go crow x y zZ see track trilha permite a visualiza o da trilha dada como par metro E necess rio que a trilha seja definida no m dulo TRACKS Um Sistema Interativo de Anima o no Contexto ProSlm 57 V 5 M DULO LIGHTS Trata da ilumina o das cenas Neste m dulo s o definidas as fontes de luz do ambiente e a cor do fundo com possibilidade de fade in e fade out em intervalos de tempo especificados H tr s tipos de fontes de luz poss veis e POINT l mpada uma fonte pontual que irradia energia luminosa em todas as dire es modelada pela sua cor e posi o no espa o e SUN sol uma fonte extensa e que produz raios de energia luminosa paralelos entre si modelada pela cor e pela dire o dos raios luminosos paralelos e SPOT uma fonte pontual direcional isto tem uma dire o principal na qual ocorre a m xima concentra o de energia luminosa fora desta dire o ocorre uma atenua o desta energia O spot modelado atrav s de sua cor posi o dire o de atua o e ngulo de abertura Ainda permitido escolher entre o spot sem atenua o da energia luminosa ou seja com uma termina o abrupta SHARP ou 0 spot com atenua o da luz SOFT que mais realista Assim como os atores e a c mera a ilumina o pode ser definida num arquivo externo ao roteiro Neste arquivo deve estar definida a cor de fundo atrav s de suas componentes rgb da
127. o trabalhe com a unidade de tempo que lhe pare a mais natural mantendo a consist ncia ao longo de toda a interface e do roteiro A segunda op o geral do sistema est relacionada aos arquivos de defini o no cap tulo anterior foi mostrado que atores c mera e ilumina o podem ser representados por arquivos externos adef cdef e ldef respectivamente Esta op o permite escolher entre a atualiza o dos mesmos ou a atualiza o apenas do roteiro em caso de modifica es realizadas interativamente Isto funciona como a vincula o linkage ou incorpora o embedding de objetos OLE do Windows Neibauer 92 No primeiro caso qualquer altera o realizada nos par metros dos atores da c mera ou da ilumina o ser refletida nos respectivos arquivos de defini o No segundo caso o arquivo incorporado ao roteiro e modifica es futuras n o refletir o no arquivo original mas apenas no roteiro esta a op o default O terceiro bot o da parte superior da janela Totaltime Rate abre uma caixa de di logo para a entrada do tempo total da anima o e sua taxa de quadros por segundo O n mero total de quadros da anima o ser o produto destes dois par metros Como visto no cap tulo anterior estes s o par metros do primeiro m dulo do roteiro GENERAL se o V 1 Este m dulo deve estar definido antes de se come ar a escrever os outros m dulos do roteiro Caso contr rio uma mensagem de erro aparecer
128. od actors gt ACTORS lt actor name gt lt actor def gt gt lt actor_param gt lt actor_mov gt END n atores n s e t quaisquer lt actor name gt A lt inteiro gt os atores devem ser numerados em ordem crescente a partir do 0 DEFINITION lt paths lt path gt deve indicar um arquivo com o formato de defini o de atores lt arq def atores gt ver OBS no final deste m dulo lt actor def gt lt actor param gt lt brp def gt lt shade def gt lt color def gt gt lt p0 def gt lt brp def gt BRP cpath 1 gt GEO MORPH cpath 2 gt gt lt inteiro gt lt tempo 2 gt onde lt path 1 gt indica um arquivo do formato B Rep com a extens o brp e lt path 2 gt indica uma sequ ncia numerada de arquivos B Rep sem a extens o brp lt shade def gt SHADE TYPE lt shade type gt lt shade type gt BASIC PHONGS STRAUSS A B Raposo 88 MARBLE GRANITE WOOD lt shadow def gt SHADOW lt t_f gt lt color_def gt 24 COLOR epath 150 CLR MORPH lt path_2 gt lt inteiro gt gt lt tempo_2 gt onde lt path_1 gt indica um arquivo de cor com a extens o core lt path 2 gt indica uma sequ ncia numerada de arquivos de cor sem a extens o cor lt p0 def gt INITIAL POSITION lt real gt lt real gt lt real gt lt actor mov gt lt t mov 1 gt lt a movs g
129. omp em a cena A linguagem desenvolvida para a cria o de roteiros pretende ser intermedi ria entre a complexa linguagem do TOOKIMA Raposo 95a e a interface O roteiro proposto composto de 8 m dulos que especificar o os par metros e fun es referentes ao objeto do m dulo Os m dulos podem aparecer em qualquer ordem no roteiro desde que o m dulo GENERAL seja o primeiro ou at mesmo n o aparecer alguns m dulos n o s o obrigat rios O sinal indica que o resto da linha do roteiro ser considerada como coment rio Nas se es seguintes ser visto um resumo das funcionalidades e sintaxe de cada um dos m dulos da linguagem de roteiros Uma descri o completa da mesma encontrada em Raposo 95b V 1 M DULO GENERAL Neste m dulo s o colocados os par metros gerais da anima o TotalTime tempo total da anima o em segundos e Rate taxa de quadros por segundo Se houver a necessidade de vari veis globais para a anima o elas devem tamb m ser colocadas neste m dulo obrigat ria a presen a deste m dulo e dos par metros Rate e TotalTime no in cio do roteiro de anima o O fragmento de roteiro a seguir mostra o m dulo GENERAL GENERAL TOTALTIME 10 FR RATE 20 double x1 7 5 double x2 read file usr input in END A anima o do exemplo anterior ter 200 quadros 10 segundos de anima o a uma taxa de 20 quadros s A vari vel x1 do tipo doubl
130. or din mica Disserta o de Mestrado DCA FEE UNICAMP 1993 Rodrigues 93b Rodrigues M A F e Magalh es L P ANIMADO Um prot tipo de um Sistema de Anima o modelada por din mica SIBGRAPI 93 VI Simp sio Brasileiro de Computa o Gr fica e Processamento de Imagens pp 107 115 1993 Rogers 85 Rogers D F Procedural Elements for Computer Graphics McGraw Hill Book Co 1985 A B Raposo 106 Rohlf 94 Rohlf J and Helman J IRIS Performer A High Performance Multiprocessing Toolkit for Real Time 3D Graphics Proc of SIGGRAPHI 94 pp 381 394 1994 Scheifler 86 Scheifler R W and Gettys J The X Window System ACM Transactions on Graphics v 5 n 2 pp 79 109 1986 Shneiderman 92 Shneiderman B Designing the User Interface Strategies for Effective Human Computer Interaction 2 Ed Addison Wesley 1992 Silveira 94 Silveira L M A reprodu o crom tica em s ntese de imagens um estudo comparativo pintura Disserta o de Mestrado IA UNICAMP 1994 Snibbe 95 Snibbe S S A Direct Manipulation Interface for 3D Computer Animation Computer Graphics Forum v 14 n 3 pp C 271 C 283 EUROGRAPHICS 95 Souza 93a Souza C S Regularidade e Generaliza o em Interfaces Gr ficas SIBGRAPI 93 VI Simp sio Brasileiro de Computa o Gr fica e Processamento de Imagens pp 183 191 1993 Souza 93b Souza C
131. os movimentos feito em dois n veis pela interface do TOOKIMA em um n vel mais alto onde aos atores c mera ou fontes de luz s o A B Raposo 44 associadas trajet rias previamente criadas e em um n vel mais baixo onde os movimentos s o definidos diretamente atrav s de comandos do tipo translate rotate zoom para c mera etc Os quadros da anima o podem ser gerados pelo renderer SIPP Yngvesson 94 no formato PPM Portable PixMap ou TGA n o comprimido poss vel tamb m uma pr visualiza o em wireframe isto s as bordas dos objetos s o desenhadas como se eles fossem de arame sem a preocupa o com texturas ilumina o e elimina o de superf cies escondidas Neste tipo de pr visualiza o ser o gerados quadros no formato PBM Portable BitMap Para a visualiza o o sistema permite a gera o de anima es no formato MPEG Motion Picture Expert Group Le Gall 91 Este um formato bastante compacto para a representa o de anima es embora apresente perdas na qualidade das imagens Entretanto al m da anima o MPEG o sistema continua gerando os quadros PPM para o caso de se desejar edit los numa anima o sem perdas A codifica o para o formato MPEG feita de maneira transparente ao usu rio utilizando o Berkeley MPEG 1 Video Encoder Gong 94 software de dom nio p blico A cooperatividade com outras interfaces j existentes foi buscada sempre que poss vel a fi
132. osi o da linguagem do TOOKIMA para a linguagem de roteiros ao longo do processo de desenvolvimento da interface foram incorporadas novas facilidades tais como a possibilidade de utiliza o de uma sequ ncia de B Reps para um ator etc Al m destas tr s contribui es b sicas foram criadas algumas ferramentas auxiliares por exemplo o editor de texturas visto no Ap ndice B que embora n o tratem diretamente de anima es s o bastante teis durante a cria o das mesmas O sistema apresenta no total cerca de 34900 linhas de c digo sendo que aproximadamente 70 deste total envolve a interface com o usu rio e 10 o tradutor da linguagem de roteiros para a linguagem do TOOKIMA O restante cerca de 20 do total de linhas de c digo faz parte do TOOKIMA propriamente dito o c digo desenvolvido por Hounsell 92a um pouco modificado para se adaptar reestrutura o feita O TOOKIMA 2 0 apresenta uma interface gr fica relacionada constru o de um roteiro de anima o Este tipo de implementa o difere radicalmente da maioria dos sistemas de anima o comercializados Animator Autodesk 89 e 3D Studio Autodesk 90 por exemplo Estes sistemas normalmente apresentam interfaces exclusivamente de manipula o direta desvinculadas de qualquer roteiro o que em muitos casos dificulta o uso pois o usu rio fica sem ter uma orienta o de como utilizar os in meros recursos dispersos na interface a linguage
133. ovimento por exemplo Na ltima rea os movimentos atribu dos a um elemento da cena podem ser cancelados O m dulo ACTORS da Figura VI 1 em particular ainda apresenta uma quarta rea que permite chamar recursos externos para a modelagem de objetos e texturas Ocupando a maior parte da tela existe a rea de edi o de textos onde o roteiro da anima o escrito Esta rea al m de espelhar as altera es no roteiro feitas interativamente tamb m pode ser usada como um editor de textos comum pois possui todos os recursos necess rios para tal select copy paste find replace etc Dessa maneira o roteiro pode ser manipulado tanto de modo interativo atrav s dos bot es caixas de di logo etc como tamb m de modo direto editando seu texto A quarta rea da janela principal a rea de mensagens na parte inferior da mesma Nesta rea s o mostradas esquerda mensagens relativas aos comandos que est o sendo realizados uma esp cie de ajuda online direita na rea de mensagens mostrado o nome do roteiro editado A B Raposo 68 TOOKIMA v2 0 File T Options TJ Totaltime Rate Create Tracks Tj Camera Lights Render T Quit GENERAL ACTORS TOTALTIME 1 000 FR RATE 30 Edition END Actors ACTORS Ag Groups ERP home grad lamanna sbonecos carpol brp Groups COLOR
134. par metro da c mera em um certo instante da anima o Movimentos do tipo Go alteram a posi o do observador enquanto os do tipo Aim alteram o centro de interesse O Zoom aumenta ou diminui a visualiza o de detalhes da cena Spin gira o plano da imagem no sentido hor rio ou anti hor rio Tilt corresponde ao movimento de abaixar ou levantar o observador na vertical Pan faz o mesmo que Tilt por m na horizontal O Traveling por sua vez corresponde ao movimento do observador sem mudar a dire o de visualiza o ou seja a transla o do observador juntamente com a do centro de interesse Para ilustrar os movimentos b sicos de c mera a Figura VI 7 mostra a caixa de di logo ativada quando se escolhe o movimento de Go North para a c mera Nesta caixa preciso dar o n mero de graus do movimento o intervalo do mesmo e a condi o at each frame ou total O ltimo bot o da coluna do m dulo CAMERA o Cancel Movements que permite cancelar todos os movimentos definidos para a c mera comando que exige confirma o VI 5 ILUMINA O O bot o Lights da linha de bot es na parte superior da janela tamb m abre uma coluna lateral de bot es que pode ser vista na Figura VI 8 Esta coluna apresenta bot es com fun es relacionadas manipula o da cor de fundo e das fontes de luz A B Raposo 76 ast TOOKIMA Camera s moviment Go Go North Degree 1 From Frame n O o_O Bh Fe ee ee ee ee ee
135. para uma linguagem de programa o 1 1 USABILIDADE Em Hix 93 uma interface amig vel distinguida de uma interface com alta usabilidade uma interface pode ser muito amig vel mas se n o tiver efici ncia para garantir produtividade ao usu rio ela n o ter usabilidade Portanto o conceito de usabilidade muito frequente em publica es atuais na rea est relacionado com a efici ncia da UI al m da rea o do usu rio mesma e do qu o natural ela pare a ao usu rio Segundo Shneiderman 92 a usabilidade uma combina o das seguintes caracter sticas facilidade de aprendizado alta velocidade para a execu o de tarefas baixa taxa de erro no uso satisfa o subjetiva do usu rio e reten o da forma de uso com o tempo A substitui o das interfaces textuais onde o usu rio era obrigado a digitar o comando desejado pelas interfaces gr ficas GUIs Grafical User Interfaces com janelas menus bot es etc por essa raz o tamb m conhecidas como WIMPs Windows Menus Icons and Pointers n o resolveu o problema da usabilidade das UIs O aparecimento de ferramentas de software de apoio programa o de UIs transformou muitos programadores em especialistas em interfaces sem no Segundo Pressman 92 fatores humanos tem v rios significados Em um n vel b sico englobam o conhecimento da percep o visual da psicologia cognitiva da mem ria humana e do racioc nio ded
136. pecifica apenas as linhas gerais de um movimento deixando que o sistema resolva os detalhes do movimento Os atores s o dotados de personalidade e habilidades pr prias Este n vel est mais pr ximo da realidade pois o animador age Um Sistema Interativo de Anima o no Contexto ProSlm 25 como um diretor de teatro especificando apenas as tarefas dos atores nesse n vel o animador diz ande r pido naquela dire o e n o saia do ponto A e v at o ponto B com tal acelera o por exemplo necess ria uma base de conhecimentos para que o sistema possa realizar as tarefas desejadas nesta base de conhecimentos est o inclu das n o s as defini es dos movimentos mas tamb m a personalidade de cada ator para determinar seu comportamento em certas situa es No n vel de inten o tamb m poss vel fazer uma subdivis o em dois n veis o n vel do ator individual e o n vel das intera es No n vel do ator individual s o definidas as tarefas individuais do mesmo al m da sua personalidade isto suas emo es e rea es diante de determinadas situa es No n vel das intera es s o definidas as tarefas coletivas ou seja aquelas que envolver o mais de um ator A Figura II 6 ilustra os dois n veis de controle de movimento intera o discutidos nesta se o Intera o entre Atores Ator Individual Mov Mov no Pr prio Ambiente Movimento Fig
137. pos gt lt real_pos gt lt window_def gt WINDOW lt real_pos gt lt real_pos gt lt cam mov gt lt t_mov_1 gt lt c_movs gt lt t mov 2 gt lt c_movs gt lt e_t gt gt lt t mov 1 gt aim actor lt actor name gt gt lt t mov 1 gt see track lt tr name gt lt c movs gt lt gos gt lt aims gt lt sets gt lt standards gt lt gos gt go forward lt v real gt go backward lt v real gt gt go up lt v real gt go down lt v real gt gt go right lt v real gt go left lt v real gt gt go north lt v real gt go south lt v real gt go east lt v real gt go west lt v real gt gt go flying lt v real gt lt v real gt lt v real gt gt go crow lt v real gt lt v_real gt lt v real gt lt aims gt aim up lt v real gt aim down lt v real gt aim in lt v real gt aim out lt v real gt aim right lt v real gt aim left lt v real gt aim north lt v real gt aim south lt v real gt aim east lt v real gt aim west lt v real gt UULU aim_scene lt sets gt set_obs lt v_real gt lt v_real gt lt v_real gt set coi lt v real gt lt v real gt lt v_real gt set vup lt v real gt lt v real gt lt v real gt set d lt v real pos gt set viewport lt v_inteiro gt lt v inteiro gt set aperture lt v real pos gt lt v real pos gt set window lt v real neg g
138. possibilita como sa da a visualiza o da anima o em MPEG a partir dos quadros gerados tamb m poss vel ter como sa da apenas os quadros que compor o a anima o com o rendering completo ou na forma de wireframe O fragmento de roteiro a seguir ilustra o m dulo OUTPUT OUTPUT OUTPUT PATH tmp quadros QUALITY SIPPPPM SIPP SHADE FLAT SIPP SIPP SHADOW TRUE SIPP SAMPLE 2 VIEWPORT 320 200 END No exemplo anterior os quadros da anima o ser o gerados como tmp quadros0O ppm tmp quadros1 ppm e assim por diante indicado pelo par metro OUTPUT PATH O par metro QUALITY indica a qualidade do rendering e pode assumir os seguintes valores e DEBUG nenhum quadro gerado apenas o programa testado debugged til apenas para o programador mais experiente que conhece a linguagem do TOOKIMA e SIPPTGA as imagens ser o geradas com o SIPP O tipo de rendering a ser realizado por ele determinado por par metros adicionais SIPP SHADE SIPP SHADOW e SIPP SAMPLE que ser o vistos a seguir A sa da ser no formato TGA n o comprimido e SIPPPPM utiliza o SIPP mas a sa da ter o formato PPM ou PBM se for usada a op o LINE no par metro SIPP SHADE ver par grafo seguinte e SIPPMPEG tamb m utiliza o SIPP e o resultado ser a anima o MPEG e seus quadros PPM O par metro SIPP SHADE determina o tipo de shading da cena Pode assumir os seguintes valores PHONG SIPP usa o m tod
139. possui ferramentas para o desenvolvimento de anima es cinem ticas din micas envolvento objetos r gidos simples e articulados al m de objetos deform veis O presente trabalho est centrado no TOOKIMA que dentro do contexto apresentado no cap tulo anterior pode ser classificado como um sistema para o desenvolvimento de anima es ou simula es cinem ticas MCMs geom tricos temporais modeladas por computador que trabalha no n vel concreto de controle um sistema de anima o procedimental que pode apenas visualizar e n o gerar as anima es em tempo real sistema de playback A linguagem original do TOOKIMA para a composi o de roteiros de anima o uma extens o da linguagem C provendo tipos de dados e uma biblioteca de fun es que permitem o desenvolvimento de anima es Entretanto a dificuldade que esta linguagem apresenta para usu rios leigos em programa o levou ao desenvolvimento de uma linguagem de mais alto n vel para a composi o de roteiros Esta nova linguagem por sua vez serviu de base para o desenvolvimento de uma interface onde o roteiro pode ser constru do interativamente A Figura IV 1 ilustra os poss veis n veis para o desenvolvimento de uma anima o utilizando o TOOKIMA e os usu rios caracter sticos de cada um dos n veis Interface constru o Usu rio leigo interativa de roteiros em programa o Usu rio experiente do sistema Linguagem de Roteiros L
140. programa o Souza 96 Para a integra o entre UIL e EUPL Souza 96 prop e alguns pontos a serem pesquisados pela engenharia semi tica outros pontos tamb m s o propostos em Eisenberg 95 e Tentar encontrar uma orienta o global de projeto que organize tanto a UIL quanto a EUPL em um conjunto comunicativo com harmonia e Selecionar o conjunto m nimo de dados e estruturas de controle para a EUPL e Englobar a UIL no ambiente da EUPL em uma aparente invers o do que normalmente se acredita acontecer a EUPL englobada na UIL e Realizar estudos emp ricos para conhecer mais profundamente a natureza semi tica da intera o com computadores e as hip teses emergentes de tal conhecimento Alguns autores tentam antecipar como ser o as futuras UIs Por exemplo Nielsen 93 fala sobre a nova gera o de UIs que ir al m dos WIMPs Ela Um Sistema Interativo de Anima o no Contexto ProSlm 19 incorporar realidade virtual reconhecimento de voz e gestos anima o e multim dia intelig ncia artificial etc Segundo o autor a pr xima gera o de UIs deve conter tantas mudan as que pode surgir um paradigma baseado em n o comandos para a intera o com futuros sistemas eliminando o di logo expl cito entre o usu rio e a m quina no qual o usu rio comanda o computador para ele fazer algo Em outras palavras o foco do usu rio passar do controle do computador para o controle do dom nio de tarefas Mas
141. r Payne 86 e a UAN User Action Notation Hartson 90 Hix 93 Al m das linguagens para a especifica o de UIs componente de intera o existem tamb m sistemas que facilitam sua constru o software de interface Linton 89 dividiu esses sistemas em duas grandes categorias toolkits e UIMSs User Interface Management Systems Um toolkit para o desenvolvimento de UIs uma biblioteca de widgets que pode ser chamada pelo programa aplicativo O widget segundo Myers 96 uma maneira de usar um dispositivo de entrada para a entrada de um certo tipo de valor Os widgets normalmente incluem menus bot es sliders barras de rolamento etc Tr s exemplos conhecidos de toolkits s o o X Toolkit McCormack 88 o XView Um Sistema Interativo de Anima o no Contexto ProSim 15 X Window system based Visual Integrated Environment for Workstations Heller 90 e o InterViews Linton 89 O XView e o InterViews s o exemplos de toolkits orientados a objetos Os princ pios da programa o orientada a objetos t m mostrado ser um excelente mecanismo de abstra o no desenvolvimento de UIs pois natural tratar os elementos de uma UI como objetos Segundo Linton 89 comparadas com uma implementa o procedimental Uls escritas com uma linguagem orientada a objetos s o significativamente mais f ceis de desenvolver e manter O uso de toolkits d ao programador um controle extensivo e grande flexibilida
142. r em que o eixo da rota o um dos eixos de coordenadas Assim por exemplo rotate actor z RELATIVE 30 o mesmo que rotate actor RELATIVE 0 0 1 300 e free_rotate_actor px py PZ VX vy vz n esta fun o permite novas alternativas para ponto de refer ncia na rota o na absoluta era usada a origem como refer ncia na relativa o centro de gravidade do ator Os tr s primeiros par metros desta fun o s o as coordenadas do ponto de refer ncia desejado em torno do qual o ator girar Depois v m as coordenadas do vetor que determina o eixo de rota o O ltimo par metro o valor em graus que o ator girar e scale actor A R x y Z realiza a mudan a de escala que significa o aumento ou diminui o do tamanho do objeto em uma ou mais dire es O primeiro par metro a condi o ABSOLUTE ou RELATIVE A B Raposo 50 Mudan a de escala absoluta aumenta ou diminui o tamanho do objeto em uma ou tr s dire es em rela o origem causando a movimenta o do ator al m da mudan a de escala Mudan a de escala relativa aumenta ou diminui o tamanho do objeto em uma ou tr s dire es em rela o ao centro de gravidade do pr prio ator alterando somente seu tamanho Hounsell 92a Os par metros x y e z s o coordenadas que representam o quanto o ator vai crescer ou diminuir em cada dire o Estas coordenadas devem ser dadas em valores percentuais Valores negativos n
143. r uma das fontes de luz num determinado instante de tempo Para isso s o usadas as mesmas palavras chave do arquivo de defini o mas tendo como par metro o nome da fonte de luz que ser modificada O exemplo a seguir altera a cor de LO e a posi o de L1 LIGHTS DEFINITION luzes ldef At 1 5 COLOR LO 0 65500 10000 At 4 5 POSITION L1 2 3 6 2 END A cor de fundo tamb m pode ser mudada de maneira semelhante como mostrado no exemplo a seguir LIGHTS DEFINITION luzes ldef At 3 6 BACK 0 0 65535 END O m dulo LIGHTS ainda possui fun es que realizam os fades de ilumina o fade in significa ir acendendo a luz do preto at a sua cor e fade out o contr rio poss vel realizar fades de qualquer uma das fontes definidas no arquivo atrav s das fun es FADE IN e FADE OUT que t m como par metro o nome da fonte que sofrer o fade Como os fades ocorrem em intervalos de tempo e n o em um nico instante o delimitador de tempo usado para estas fun es sempre Between Exemplo LIGHTS DEFINITION luzes ldef Between 0 3 FADE IN L1 Between 20 23 FADE OUT L1 END Um Sistema Interativo de Anima o no Contexto ProSlm 59 Os fades n o s o restritos s fontes de luz a cor de fundo tamb m pode sofr los Para isso existem as fun es FADE IN BACK e FADE OUT BACK sem par metros Tamb m poss vel fazer fades generalizados englobando todas
144. raios luminosos a partir do observador at os objetos da cena levando em considera o a reflex o e difra o dos mesmos nas superf cies Whitted 79 e Kay 79 Era o in cio da t cnica de ray tracing na verdade como citado em Foley 92 desde a d cada de 60 j havia trabalhos que simulavam o trajeto de raios para a determina o de sombras por exemplo entretanto foram esses dois trabalhos de 1979 que estenderam o ray tracing que passou ent o a lidar com reflex es especulares e refra o Entre 1974 e 1979 v rias iniciativas foram tomadas na Europa para formar um grupo de especialistas em computa o gr fica As primeiras confer ncias do grupo foram realizadas em Bolonha na It lia Essas iniciativas se concretizaram em 1980 quando a Eurographics Association European Association for Computer Graphics foi institu da Essa associa o realiza anualmente a mais importante confer ncia europ ia sobre computa o gr fica Em 1981 foi desenvolvido o primeiro renderer da Lucasfilm o REYES Renders Everything You Ever Saw Cook 87 que mais tarde se tornaria o Renderman Upstill 90 Nesse mesmo ano a IBM lan ou o primeiro computador pessoal o IBM PC No ano seguinte Jim Clark um dos pioneiros em Utah na d cada de 60 fundou a Silicon Graphics Inc que passou a construir os melhores computadores gr ficos existentes Nesse mesmo ano foi fundada a Autodesk Inc cujo primeiro produto foi o AutoCAD 1 0 o mais
145. rdo com o tipo de textura a ser criado Na Figura B 1 textura do tipo m rmore aparecem os par metros especular C3 e escala O par metro especular indica a porcentagem da luz incidente refletida especularmente C3 um par metro relacionado ao brilho da superf cie O significa superf cie muito brilhante e 1000 significa superf cie sem brilho A escala indica qu o compacto o padr o do m rmore ou do granito ou da madeira Valores mais altos deste par metro indicam padr es mais compactos Se a textura escolhida for do tipo pl stico ainda aparecer o os par metros difuse indicando a porcentagem de reflex o difusa e Phong associado ao brilho Texturas met licas t m tamb m o par metro smoothness cujo valor 1000 significa superf cie lisa e brilhante e o par metro metalness cujo valor O significa superf cie n o met lica e o valor 1000 significa completamente met lica Para ajudar a compreens o do significado de cada um desses par metros na parte inferior da janela do editor de texturas h um campo de mensagens Cada vez que qualquer par metro desta janela alterado aparece uma mensagem indicando seu significado Na Figura B 1 por exemplo aparece a mensagem que mostrada por ocasi o da escolha da textura do tipo m rmore Um Sistema Interativo de Anima o no Contexto ProSlm 95 ProSim Texture Editor Type BASIC PLASTIC METAL MARBL
146. rmato PPM ou TGA para posterior grava o em v deo A implementa o desta ltima funcionalidade Anima o foi resultado direto deste trabalho 3 MOTIVA O A necessidade de integrar as ferramentas de anima o existentes no ProSIm e ao mesmo tempo torn las mais f ceis de usar se evidenciou por ocasi o dos primeiros trabalhos pr ticos desenvolvidos com elas As primeiras anima es realizadas pela equipe de animadores do LCA Laborat rio do Departamento de Engenharia de Computa o e Automa o Industrial FEEC UNICAMP exigiam v rios meses de trabalho e os resultados embora razo veis ficavam aqu m daquilo que o potencial do sistema permitia Isso se devia principalmente dificuldade da linguagem de composi o dos roteiros de anima o que era uma extens o da linguagem C Quando o sistema passou a ser usado por artistas alunos do Instituto de Artes da UNICAMP essa necessidade tornou se ainda mais urgente pois eles n o conheciam linguagens de programa o e por isso ficavam bastante limitados no uso do sistema A produ o de uma anima o sem a presen a de um especialista em programa o requer um sistema por computador que apresente facilidades tanto na cria o da mesma quanto na comunica o animador computador Assim surgiu a proposta deste trabalho visando a integra o de ferramentas de anima o do ProSIm e a implementa o de uma interface gr fica A interface tem como objeti
147. s da anima o GE 40240 Cede 2 After 3 free_rotate_actor 1 1 1 O pods l 20 TOTAL Gl COMPONENTS AO A1 Um Sistema Interativo de Anima o no Contexto ProSlm 65 GC AO At 3 6 scale actor z RELATIVE 5 Este grupo ter o centro de gravidade no centro de AQ e se reduzir 5 na dire o z no instante 3 6 segundos Aten o porque o scale sera relativo ao centro de AO podendo causar efeito inesperado em Al END CAMERA DEFINITION def caml cdef After 7 go_flying 1 1 1 EACH FRAME A partir de 7 segundos sera executado o go_flying a cada quadro Between 1 0 10 aim_down 0 5 EACH FRAME O coi se deslocar 0 5 unidades para baixo a partir do frame 15 t 1s END LIGHTS DEFINITION def light1 ldef Between 6 6 9 FADE OUT BACK O fundo sofre fade out At 0 TURN_OFF L1 At 5 TURN _ON L1 Fonte 1 definida em def light1 Idef s se acender em t 5 s At 6 POSITION LO 5 6 3 6 Em 6 s a posi o da fonte 0 alterada After 4 5 COLOR L0 trackc r trackc g trackc b A cor de LO passa a mudar de acordo com os valores da trilha T1 trilha de cores END OUTPUT OUTPUT_PATH tmp teste QUALITY SIPPTGA Sa da ser o os quadros TGA SIPP_SHADE GOUR_SIPP SIPP_SHADOW FALSE SIPP SAMPLE 1 VIEWPORT 320 200 de dimens es 320 x 200 END A B Raposo 66 TRACKS TO T1 END TYPE CUBIC
148. s es da imagem gerada Os par metros s o inteiros dados em coordenadas de tela do dispositivo DC device coordinates e set window u min u max v min v max altera a window A dimens o destes par metros deve ser compat vel com o valor da dist ncia focal para garantir um cone de proje o perspectiva coerente A B Raposo 56 Al m disso u_min e v_min devem ser iguais a u max e v max respectivamente set aperture alfa u alfa v redefine os ngulos de abertura da pir mide de visualiza o Assim se pode definir a janela window sem a preocupa o com o valor da dist ncia focal Existem ainda fun es com nomes dos movimentos de c mera usados em cinema Estas fun es s o na maioria id nticas a fun es j apresentadas e t m como objetivo uma abstra o no sentido de torn las mais pr ximas do animador zoom in n zoom out n efetuam aumento e diminui o dos detalhes da imagem respectivamente O tamanho da janela modificado na porcentagem desejada par metro n spin clock n spin Cclock n rodam a dire o de vup de n graus sobre o eixo vpn A rota o feita no sentido hor rio e anti hor rio respectivamente visto pelo observador que olha na dire o vpn tilt_up n tilt down n o mesmo que aim north n e aim south n respectivamente pan right n pan left n o mesmo que aim east n e aim west n respectivamente traveling x y Zz Omesm
149. s rotinas gr ficas e de controle de movimento O sistema ASAS Actor Scriptor Animation System Reynolds 82 um exemplo cl ssico de sistema de anima o procedimental O ASAS um sistema orientado a objetos implementado em Lisp Os objetos b sicos de um script em ASAS s o os atores que s o fun es especiais dotadas de recursos para a troca de mensagens Cada ator pode controlar um ou mais aspectos da anima o Enquanto ativo cada ator ser executado uma vez a cada quadro da anima o Um ator pode ser ativado e desativado pelo roteiro que pode ser visto como a fun o main de um programa ou por um outro ator O ator tamb m pode desativar a si mesmo A linguagem do ASAS prov grande flexibilidade ao animador O conceito de ator pode levar inclusive ao desenvolvimento de anima es comportamentais pois os atores podem ser definidos para saberem responder a determinados est mulos O pre o dessa flexibilidade uma sintaxe muito complexa um forte obst culo ao programador inexperiente Outro sistema de anima o procedimental o CORY McLachlan 85 criado com o objetivo de permitir ao animador mudar qualquer par metro da cena como uma fun o do tempo Foi desenvolvido em linguagem C utilizando o conceito de objetos Nesse sistema os principais objetos do roteiro s o as cues que controlam as a es da anima o determinando quando elas come am e terminam No CORY o roteiro indica uma sequ ncia de cenas
150. s de controle apresentada na se o II 2 Figura III 6 pode se dizer que os MCMs geom tricos e f sicos se encontram no n vel concreto de controle enquanto os MCMs comportamentais se encontram no n vel de inten o como observado na Figura II 7 Um Sistema Interativo de Anima o no Contexto ProSlm 29 Ator Animador MCMs Comporta mentais MCMs F sicos MCMs Geom tricos Inten o Concreto Figura III 7 Os MCMs e os n veis de controle de movimento em anima o Em Thalmann 91 os MCMs n o s o estudados unicamente nos casos em que ocorrem intera es Eles tamb m s o vistos para atores isolados em uma anima o caso visto na se o anterior Assim segundo esta classifica o as t cnicas cinem ticas direta e inversa e a anima o por keyframes s o MCMs geom tricos enquanto as t cnicas din micas direta e inversa s o MCMs f sicos Na categoria de MCMs comportamentais para atores individuais s o enquadrados todos os m todos que possuem diretivas para a determina o do comportamento de um ator sem levar em considera o nenhum tipo de est mulo Exemplos de MCMs comportamentais para atores isolados s o sistemas para simula o de emo es faciais desde que as emo es n o sejam geradas em fun o de algum est mulo externo como o mostrado em Daldegan 95 As intera es ser o vistas mais detalhadamente nas subse es que se seguem 1 4 1 In
151. seguinte maneira BACK 65000 55000 10000 Pela conven o do ProSIm os valores de cada componente das cores variam de O a 65535 Al m disso o arquivo de defini es deve listar as fontes de luz da anima o com suas caracter sticas O exemplo a seguir mostra um arquivo de defini o de ilumina o com tr s fontes de luz uma l mpada POINT um sol SUN e um spot Cada tipo de fonte exige a defini o de par metros diferentes BACK 65000 65000 65500 LO TYPE POINT POSITION 25 4 1 COLOR 60000 60000 60000 Li TYPE SUN DIRECTION 0 1 1 COLOR 0 63000 63000 L2 TYPE SPOT POSITION 3 3 1 5 DIRECTION 3 4 2 COLOR 65535 0 O SOLID ANGLE 35 SPOT TYPE SOFT A B Raposo 58 O arquivo de defini o de ilumina o referenciado no roteiro da mesma maneira que o dos atores e o de c mera atrav s de DEFINITION LIGHTS DEFINITION def luzesl ldef END Por default todas as fontes definidas est o acesas Para apag las deve se usar a fun o TURN OFF que tem como par metro o nome da fonte a ser apagada Para reacend las deve se usar TURN ON Veja o exemplo a seguir onde a fonte LO ser apagada no in cio da anima o e acesa apenas no quadro 150 LIGHTS DEFINITION def luzesl ldef At FRME 0 TURN OFF LO At FRAME 150 TURN ON LO END Tamb m poss vel mudar a posi o a dire o e ou a cor de qualque
152. spectives on Human Computer Interaction Hillsdale NJ Lawrence Erlbaum and Associates Publishers 1986 Open 89 Open Software Foundation OSF Motif Style Guide Prentice Hall 1989 Palamidese 94 Palamidese P and Crise A Animations to Represent Multivariate Data Computer Graphics Forum v 13 n 4 pp 243 248 1994 Payne 86 Payne S J and Green T R G Task Action Grammars A Model of the Mental Representation of Task Languages Human Computer Interaction v 2 pp 93 133 1986 Perez 79 Lozano Perez T and Wesley M A An Algorithm for Planning Collision Free Paths Among Polyhedral Obstacles Communications of the ACM v 22 n 10 pp 560 570 1979 Phong 74 Phong Bui Toung Illumination for Computer Generated Images Doctoral thesis University of Utah 1973 Pressman 92 Pressman R S Software Engineering A Practitioner s Approach 3 Edition McGraw Hill Inc 1992 Preston 94 Preston M and Hewitt W T Animation using NURBS Computer Graphics Forum v 13 n 4 pp 229 241 1994 Preto 92 Preto T M Scanline um sistema para visualiza o de imagens foto realistas Disserta o de Mestrado DCA FEE UNICAMP 1992 Pueyo 88 Pueyo X and Tost D A Survey of Computer Animation Computer Graphics Forum v 7 pp 281 300 1988 Queiroz 91 Queiroz M S e Magalh es L P O m todo radiosidade em um ambiente de s
153. ssociates Inc 1990 Hix 93 Hix D and Hartson H R Developing User Interfaces Ensuring Usability Through Product amp Process John Wiley amp Sons Inc 1993 Horta 95 Horta A A e Wu Shin Ting Deforma o de superf cies n o r gidas baseada em princ pios f sicos SIBGRAPI 95 VIII Simp sio Brasileiro de Computa o Gr fica e Processamento de Imagens pp 175 182 1995 Um Sistema Interativo de Anima o no Contexto ProSlm 101 Hounsell 92a Hounsell M S TOOKIMA uma ferramenta para anima o modelada por computador Disserta o de Mestrado DCA FEE UNICAMP 1992 Hounsell 92b Hounsell M S e Magalh es L P TOOKIMA anima o cinem tica SIBGRAPI 92 V Simp sio Brasileiro de Computa o Gr fica e Processamento de Imagens pp 269 273 1992 Ierusalimschy 95 Ierusalimschy R Figueiredo L H e Celes Filho W Lua an extensible extension language MCC 12 95 Departamento de Inform tica PUC Rio Encontrado em http www inf puc rio br projetos roberto lua html Jacob 86 Jacob R J K A Specification Language for Direct Manipulation User Interfaces ACM Transactions on Graphics v 5 n 4 pp 283 317 1986 John 89 John N W and Willis P J The Controller Animation System Computer Graphics Forum v 8 n 2 pp 133 138 1989 Kalra 92 Kalra D and Barr A H Modeling with Time and Events in Computer Animation
154. strou que uma m dia de 45 do tempo total de projeto 50 do tempo de implementa o e 37 do tempo de manuten o gasto com a interface de um programa Al m disso uma m dia de 48 do c digo de um programa dedicado sua interface Nessa pesquisa tamb m foram citadas as principais dificuldades encontradas para o projeto de interface obter a informa o sobre o que os usu rios desejam na interface acomodar tanto os usu rios inexperientes quanto os experientes escrever o help e a documenta o e conseguir consist ncia principalmente quando h v rios desenvolvedores Para superar estas dificuldades muitos trabalhos t m surgido mostrando novas t cnicas e propondo novos paradigmas de UIs Em Myers 93 discutido o uso de heur sticas em UIs Interfaces que usam heur sticas podem realizar a es diferentes em dados diferentes com o mesmo comando Nesse caso se diz que o sistema adivinha o que o usu rio deseja que se fa a Um exemplo citado o Macintosh que move um arquivo quando ele arrastado at um outro folder Entretanto se o novo folder se encontra em outro driver o ato de arrastar um arquivo o copia neste novo folder A utiliza o de heur sticas simplificaria a a o do usu rio e tornaria a interface mais f cil de ser usada j que o sistema realizaria parte do trabalho para o usu rio Entretanto haveria o risco da a o do usu rio ser interpretada incorretamente e levar ao sentimento por
155. t lt t mov 2 gt lt a movs gt lt e t gt lt a movs gt lt parts gt lt translates gt lt rotates gt lt scales gt gt lt repaint gt lt parts gt part unpart lt translates gt translate actor lt a r gt lt v_real gt lt real gt translate actor lt xyz gt lt a r gt lt v real gt lt xXyZz gt X y z lt rotates gt rotate_actor lt a_r gt lt v_real gt lt v_real gt rotate actor lt xyz gt lt a r gt lt v_real gt free rotate actor lt v real gt lt v real gt lt scales gt scale actor lt a r gt lt v real gt lt v real gt lt v real gt gt scale actor lt xyz gt lt a r gt lt v real gt gt growth lt a r gt lt real gt shrink lt a_r gt lt v_real gt free scale actor f lt v real gt lt v_real gt lt repaint gt repaint lt shade type gt lt path gt onde lt path gt indica um arquivo de cor OBS Formato do arquivo de defini o de atores lt arg def atores gt lt brp def gt lt shade_def gt lt color def gt I lt p0 def gt M dulo GROUPS lt mod_groups gt GROUPS lt group name gt lt group def gt gt lt gc_def gt lt group_movs END n grupos n e t quaisquer lt group_name gt G lt inteiro gt os grupos de atores devem ser numerados em ordem crescente a partir do 0 lt group def gt COMPONENTS lt a
156. t lt v real neg gt lt real neg gt lt string gt lt real gt lt real pos gt lt real neg gt lt v real gt lt real gt lt string gt sletras gado Sel coke Ws ho ZA sas Z qualquer letra min scula ou mai scula lt c_especial gt qualquer caracter n o alfa num rico que possa fazer parte do nome de um arquivo com as restri es do sistema isto n mero de caracteres etc lt barra gt faz parte do path lt string gt lt letra gt lt string gt lt letra gt lt string gt lt inteiro gt gt lt string gt lt c especial gt qualquer combina o de caracteres come ada com letra lt path gt lt barra gt lt string gt lt c_especial gt lt path gt lt barra gt lt path gt lt string gt gt lt path gt lt c_especial gt o path de um arquivo com as restri es do sistema isto os tipos de caracteres permitidos etc lt a r gt ABSOLUTE RELATIVE lt t_f gt TRUE FALSE lt e t gt EACH FRAME TOTAL lt tempo gt lt real pos gt FRAME lt inteiro gt indica tempo em segundos ou frames lt tempo gt END At lt tempo 2 gt nao precisa lt e t gt Before lt tempo 2 gt After lt tempo gt lt tempo 2 gt lt t mov 1 gt lt t mov 2 gt gt Between lt tempo gt lt tempo 2 gt exigem lt e t gt Um Sistema I
157. t lt v real pos gt UULU lt v_real_neg gt lt v_real_pos gt outra depend ncia do contexto preciso que cada par lt v_real_neg gt e lt v_real_pos gt tenha o mesmo valor absoluto lt standards gt zoom_in lt v_real gt zoom out lt v real gt spin clock lt v real gt gt spin Cclock lt v real gt A B Raposo 90 gt tilt up lt v real gt tilt down lt v real gt gt pan right lt v real gt pan left lt v real gt gt traveling lt v real gt lt v_real gt lt v real gt OBS Formato do arquivo de defini o de c mera lt arg def camera gt lt apert win def gt M dulo LIGHTS lt mod_lights gt lt lights def gt lt lights param gt lt env def gt lt back def gt lt source def gt lt source name gt ENVIRONMENT lt obs_def gt lt coi_def gt lt vup_def gt gt lt d_def gt lt viewport_def gt gt lt apert_win_def gt lt aperture def gt lt window_def gt LIGHTS lt lights_def gt lt lights param gt gt lt lights_mov gt END s e t quaisquer DEFINITION lt paths lt path gt deve indicar um arquivo com o formato de defini o de ilumina o lt arg def lights gt ver OBS no final deste m dulo lt env def gt lt back def gt lt source def gt lt real pos gt lt real pos gt lt real pos gt lt real pos gt
158. te os arquivos referentes ao editor de c mera e de ilumina o Ambos possuem um subdiret rio src com os arquivos fonte e um subdiret rio bin com os execut veis O diret rio textures armazena os arquivos referentes ao editor de texturas Possui um subdiret rio src com os arquivos fonte um subdiret rio bin com os execut veis e um subdiret rio scripts com arquivos necess rios pr visualiza o das texturas O diret rio interpret possui arquivos utilizados em vers es anteriores do programa atualmente fora de uso v lido relembrar que al m destes arquivos a vers o 2 0 do TOOKIMA tamb m necessita das bilbiotecas X do XV do codificador e do visualizador de MPEGs Um Sistema Interativo de Anima o no Contexto ProSlm 97 BIBLIO G RAFIA Alegre 94 Alegre I A V Texturas em S ntese de Imagens Disserta o de Mestrado DCA FEE UNICAMP 1994 Alegre 95 Alegre P V Intera es 3D atrav s de uma Classe de Dispositivos 2D Disserta o de Mestrado DCA FEE UNICAMP 1995 Autodesk 89 Autodesk Animator Autodesk Inc Sausalito CA 1989 Autodesk 90 Autodesk 3D Studio Autodesk Inc Sausalito CA 1990 Badler 95 Badler N I Computer Animation Techniques In Introduction to Computer Graphics Bailey M et alli Course Notes for SIGGRAPH 95 Bernardes 95 Bernardes M C e Wu Shin Ting Fuzzy sets on drawing fair
159. tera o AtorAmbiente Este tipo de intera o ocorre no caso em que os atores est o se movendo em um ambiente do qual eles t m conhecimento Isto faz com que o movimento dos atores dependa em parte do ambiente Exemplos t picos de MCMs geom tricos para a intera o ator ambiente s o m todos para evitar colis o com obst culos que utilizam a interse o do ator com o obst culo Perez 79 Lengyel 90 Estes m todos fazem com que o ator se mova para pontos do espa o que sejam externos aos obst culos isto o ator n o pode ter nenhum ponto de interse o com os obst culos MCMs f sicos para este tipo de intera o tamb m s o usados para evitar colis es Entretanto eles usam m todos anal ticos ou par metros f sicos tais como for as repulsivas campos potenciais etc para evitar as colis es Modelos de objetos A B Raposo 30 deform veis que sofram a a o de for as do ambiente como os de Horta 95 tamb m se enquadram nesta categoria MCMs comportamentais para intera es ator ambiente s o meios de controle autom tico nos quais os atores s o capazes de sensorear o ambiente e determinar seus movimentos Em Wilhelms 90 por exemplo s o usadas redes de est mulo resposta para especificar a rela o entre est mulos do ambiente e resposta do ator Em Costa 95 e Costa 96 os atores s o agentes reativos isto objetos ativos com centros sensoriais capazes de detectar eventos n
160. terno interface do TOOKIMA para esse fim O objetivo a cria o interativa de texturas arquivos cor que podem ser associadas aos atores de uma anima o como visto no cap tulo VI A interface deste programa bastante simples e est intimamente relacionada ao renderer SIPP Yngvesson 94 pois na cria o de texturas s o usados os par metros exigidos por ele A Figura B 1 mostra a janela principal do editor de texturas Na primeira linha da janela escolhido o tipo de textura que se deseja criar dentre os seis tipos permitidos pelo SIPP s o os tipos definidos pelo par metro SHADE TYPE no roteiro Os outros par metros s o definidos em fun o desta escolha Logo abaixo do tipo de textura pode se escolher a primeira cor da textura manipulando suas componentes rgb Se a textura escolhida for do tipo m rmore granito ou madeira ainda poss vel definir uma segunda cor que ser a cor das estrias Ap s a defini o da s cor es vem a defini o da opacidade associada a cada uma das componentes rgb da luz Opacidade 1000 na verdade 1 pois o valor dado est multiplicado por mil significa completamente opaco enquanto opacidade O significa uma textura completamente transparente componente Logo abaixo vem a defini o do par metro ambiente que indica o quanto da cor da superf cie ser vis vel quando ela n o est diretamente iluminada Os par metros que v m em seguida podem variar de aco
161. to ProSlm 21 1 Um modelador geom trico para a defini o e modelagem das caracter sticas geom tricas das entidades que compor o a anima o 2 Um mecanismo de controle da anima o para a defini o e execu o do controle dos movimentos e das intera es entre atores e entre estes e o animador 3 Um mecanismo de rendering e visualiza o para a defini o dos atributos de cor e textura dos objetos ilumina o etc e tamb m para a visualiza o dos quadros gerados durante o processo de anima o Algumas t cnicas utilizadas em cada uma dessas ferramentas s o mostradas na Figura II 1 Modelagem de superficies Modelagem de s lidos Generative processes N o existem algoritmos gen ricos Malhas de pol gonos Modelagem Geom trica Sist de part culas Controle do Movimento e das Intera es Scanline Rendering e Visualiza o pcs dim Radiosidade Figura II 1 Ferramentas e t cnicas envolvidas na anima o por computador As t cnicas de modelagem geom trica podem ser divididas em tr s categorias b sicas modelagem de superf cies modelagem de s lidos e processos geradores generative processes Wyvill 90 A modelagem de superf cies feita atrav s de pol gonos malhas de pol gonos polygon meshes ou atrav s de fun es que podem ser expl citas impl citas ou param tricas Foley 92 Na modelagem de s lidos os
162. transla o do observador e do coi s o dados pelos par metros da fun o e aim in n aim out n aproxima e afasta o coi do observador em n unidades respectivamente e aim up n aim down n aim right n aim left n deslocam o centro de interesse em n unidades nas respectivas dire es e aim north n aim south n aim east n aim west n deslocam o centro de interesse em n graus nas respectivas dire es e aim actor nome especifica um ator cujo centro de gravidade ser o centro de interesse O par metro o nome deste ator e aim scene determina que o centro de interesse vai ser o centro de gravidade geral da cena que calculado como sendo a m dia dos centros de gravidade dos atores e set obs x y zZz muda a posi o do observador Esta fun o ainda verifica se o observador coincide com o centro de interesse do objeto coi se isto acontecer aparece uma mensagem de erro e set coi x y zZ altera a posi o do centro de interesse Tamb m verifica se o centro de interesse coincide com o observador e set vup x y zZ altera a posi o de vup Os tr s par metros s o as coordenadas do novo vetor vup A fun o retornar mensagens de erro se os tr s par metros forem nulos ou se vup for colinear a vpn e set d n altera a dist ncia focal O valor do par metro n o pode ser Zero e set viewport xcorner xlength ycorner ylength redefine a viewport ou seja as dimen
163. uanto na comunica o animador computador O objetivo deste trabalho a reformula o do TOOKIMA TOOL Kit for scripting computer Modeled Animation um conjunto de ferramentas cinem ticas para a descri o algor tmica de anima es modeladas por computador de modo a torn lo um sistema interativo para a cria o de anima es O trabalho pode ser dividido em duas etapas distintas Na primeira etapa desenvolvida uma nova linguagem para o roteiro de anima o Essa nova linguagem tem como objetivo permitir a cria o de roteiros com um n vel mais alto de comandos que se aproximem mais daqueles desenvolvidos pelos animadores profissionais Isso elimina a necessidade do conhecimento por parte do animador de comandos de baixo n vel da linguagem do TOOKIMA que uma extens o da linguagem C A segunda etapa do trabalho a implementa o de uma interface gr fica que permite a constru o interativa de um roteiro de anima o utilizando a linguagem desenvolvida Dessa maneira o sistema pretende atingir tr s tipos de usu rios o usu rio leigo em programa o que utilizar a interface o usu rio experiente que utilizar a interface mas ter conhecimento da linguagem de roteiros e o usu rio especialista que conhecer a linguagem do TOOKIMA e a linguagem C podendo dispor da maior flexibilidade que uma linguagem de mais baixo n vel permite vi ABSIRACT The production of a computer animation witho
164. ulados Esses extremos servir o como pontos de controle para a defini o de uma B spline que definir a trajet ria do ator Numa segunda etapa s o dadas as informa es sobre a acelera o com a qual a trajet ria ser percorrida O animador pode optar por qualquer combina o entre o movimento acelerado desacelerado e com velocidade constante O sistema tamb m permite que sejam feitas considera es sobre o peso do objeto m vel de modo que um objeto pesado leve mais tempo para acelerar e desacelerar do que um objeto leve Na terceira etapa do controle do movimento o animador pode estabelecer outros par metros do ator que ser o alterados din micamente na anima o Os valores desses par metros s o calculados por interpola o a partir valores chave em determinados quadros Um exemplo de par metro que pode ser alterado a altura em que o ator se encontra caracterizando a anima o tridimensional pois a curva da primeira etapa era desenhada no plano Um Sistema Interativo de Anima o no Contexto ProSlm 33 Mais recentemente em Snibbe 95 foi apresentado um sistema gr fico que caracteriza bem a separa o entre controle de posi o e de velocidade Esse sistema apresenta ferramentas de manipula o direta para atender os seguintes objetivos do animador transla o temporal atinja determinado ponto em determinado instante afeta a velocidade com que o objeto percorre uma trajet ria transla o espacia
165. un es podem ser transforma es dos atores movimentos de c mera efeitos de ilumina o etc SCRIPT Defini o dos par metros da c mera e de ilumina o Defini o de TotalTime e Rate Defini o dos atores e decora es Determina o das cores dos atores e decora es Especifica o das cues Listagem das cenas com suas cues associadas Figura IV 2 Estrutura de um roteiro utilizando a linguagem do TOOKIMA Uma descri o mais detalhada desta linguagem foge do escopo desta disserta o uma vez que ela j foi apresentada em Hounsell 92a e Raposo 95a A Figura IV 2 j cumpre o objetivo desta se o que mostrar o grau de dificuldade de constru o de um roteiro com esta linguagem uma vez que est o envolvidos conceitos nem sempre bvios e um complexo sistema de inter relacionamento entre as estruturas Um Sistema Interativo de Anima o no Contexto ProSlm 41 V 2 LINGUAGEM PARA COMPOSI O DE ROTEIROS A experi ncia com a utiliza o de sistemas de desenvolvimento de anima o levou conclus o de que mais natural para o animador imaginar os movimentos de cada elemento da cena seja ator c mera ou ilumina o no decorrer do tempo do que imaginar todos os movimentos que est o ocorrendo num determinado instante de tempo Ou seja melhor tratar cada elemento independentemente A Figura IV 3 ilustra uma situa o exemplo Nela o ator A se movimenta num interv
166. ura III 6 Os n veis de controle do movimento em anima o por computador Na se o seguinte o problema do movimento em anima o por computador ser visto mais detalhadamente e ser o mostradas diversas t cnicas para seu controle no n vel concreto Na se o III 4 ser tratado o problema das intera es envolvendo atores A B Raposo 26 I 3 T CNICAS PARA CONTROLE DE MOVIMENTOS O controle de uma anima o no n vel concreto baseado na manipula o de par metros dos objetos da cena ou da imagem ilumina o c mera etc A principal tarefa do animador selecionar e controlar os par metros apropriados para a obten o do efeito desejado Badler 95 Os par metros a serem controlados e as t cnicas utilizadas para este controle servem como m todo para a classifica o dos tipos de anima o a serem vistos nesta se o 1 3 1 Anima o porInterpola o Na anima o tradicional o animador desenha o ator em uma posi o e depois faz outro desenho com o ator em uma segunda posi o Estes dois desenhos s o normalmente passados para outro desenhista que ent o desenhar os quadros intermedi rios chamados inbetweens A anima o por interpola o de keyframes a transposi o desta t cnica para os computadores A interpola o pode ser linear trazendo resultados nem sempre satisfat rios ou seguir alguma curva de interpola o Em Reeves 81 apresentado um m todo que permite
167. ut the presence of a programmer requires a system that facilitates that production and the communication between the animator and the computer The objective of this work is to improve the TOOKIMA TOOI Kit for scripting computer Modeled Animation a kinematic toolkit for the algorithmic description of computer modeled animations in order to transform it in an interactive system for the production of animations This work can be divided in two phases In the first phase a new scripting language for the animations is developed This new language allows the creation of scripts with high level commands closer to that used by professional animators This avoids the necessity of the animator to know the down level commands of the language of the TOOKIMA which is an extension of C The second phase of the work is the implementation of a graphical interface that allows the interactive construction of the scripts written in the developed language In this way the system can be used by three kinds of users the nonprogrammer user who will use the interface the experienced user who will also use the interface but will know the scripting language and the expert who will know the language of the TOOKIMA and C INDICE INTRODU O 1 A HIST RIA DA COMPUTA O GR FICA 12 PRO SI O a vac Na ZINCO Acusctstteatachsitrdsbucttsateatsadagitaantuntn DS 1 2 2 Est gio Atual saivesinascedsscecisadececuassaelareteennarisio
168. utiliza o dos ltimos em muitos casos Entre estas desvantagens podem ser citadas Linton 89 limita o na cria o de interfaces devido alta abstra o inefici ncia A B Raposo 16 na cria o de UIs que exigem resposta em tempo real e depend ncia de linguagens especiais normalmente desconhecidas para os programadores e sem ferramentas eficientes de debugging Myers 96 cita ainda um outro n vel poss vel para os softwares de interface que o n vel do sistema de janelas windowing system um n vel mais baixo que o toolkit Apesar de quase todos os sistemas de janelas possu rem toolkits constru dos sobre eles o programador pode precisar usar o sistema de janelas diretamente quando quiser desenhar partes espec ficas da interface Isso porque os toolkits de uma maneira geral s permitem o desenho de widgets pr definidos tais como bot es menus etc O mais conhecido sistema de janelas o X Scheifler 86 A Figura II 1 mostra os tr s n veis poss veis para a programa o de uma UI Aplica o User Interface Management System UIMS Sistema de Janelas Sistema Operacional Figura IL Os n veis para a programa o de UIs Myers 96 Um Sistema Interativo de Anima o no Contexto ProSlm 17 11 4 PERSPECTIVAS Embora haja um grande n mero de ferramentas e facilidades dispon veis a programa o de UIs ainda uma tarefa bastante complexa Uma pesquisa Myers 92b mo
169. uting Machinery s SIGGRAPH Special Interest Group on Computer Graphics ainda hoje o maior evento na rea Nesse mesmo ano a computa o gr fica tamb m foi usada pela primeira vez no cinema no filme Westworld Em 1974 o mapeamento de texturas em superf cies permitiu dar um novo n vel de realismo s imagens geradas por computador Catmull 74 No mesmo ano Phong apresentou seu m todo de shading Phong 74 que superou algumas falhas que existiam no m todo de Gouraud O m todo de Phong interpola os vetores normais aos pol gonos da superf cie ao inv s das cores e aplica o modelo de ilumina o a cada ponto O problema o alto custo computacional do algoritmo Newman 79 Por esta raz o ainda hoje a maioria dos renderers permite a escolha do m todo de shading entre Gouraud e Phong s vezes tamb m flat shading No ano seguinte foi dado outro grande passo em dire o a um maior realismo das imagens geradas atrav s da publica o dos primeiros estudos do matem tico franc s Benoit Mandelbrot sobre a teoria dos conjuntos fractais As teorias de mais de 20 anos de pesquisa resultaram no famoso livro The fractal geometry of nature Mandelbrot 82 Nesse livro Mandelbrot mostra como os seus princ pios poderiam ser aplicados computa o de imagens para criar simula es real sticas da natureza montanhas madeiras etc Tamb m no ano de 1975 Steve Wozniak ajudado pelo amigo Steve Jobs montou o prim
170. utivo e indutivo Em outro n vel os fatores humanos englobam o conhecimento do usu rio e do seu comportamento Finalmente englobam tamb m o conhecimento das tarefas que o sistema executar e as que o usu rio executar como parte da intera o homem m quina A B Raposo 12 entanto saberem projet las com alta usabilidade Isso tem levado ao surgimento de muitas interfaces com problemas de usabilidade Segundo Nielsen 90 as modernas t cnicas de intera o homem m quina aumentam o grau de liberdade no projeto de UIs tornando ainda mais essenciais os princ pios tradicionais de um bom projeto de di logo no citado artigo s o definidas 9 diretrizes que devem ser levadas em considera o ao se projetar uma interface e tamb m s o mostradas as falhas de interfaces que n o seguiram tais diretrizes Existem v rios outros trabalhos dedicados ao estudo de problemas em interfaces um dos mais conhecidos Nielsen 92 1 2 O PROCESSO DE DESENVOLVIMENTO O projeto de uma UI deve ir al m do conceito de interface amig vel Para um projeto de UI bem sucedido deve haver o conhecimento completo da diversa comunidade de usu rios e das tarefas a serem realizadas Shneiderman 92 A interface tem o compromisso de servir ao usu rio e quando bem projetada deve desaparecer permitindo que o usu rio se concentre no seu trabalho Segundo Hix 93 o processo de desenvolvimento de uma UI consiste de duas
171. vo simplificar a tarefa de cria o de anima es e se integrar a uma interface mais completa que englobar todo o sistema ProSIm Um Sistema Interativo de Anima o no Contexto ProSlm 9 1 4 O SISTEMA INTERATIVO DE ANIMA O dentro do contexto de integra o de ferramentas existentes no ProSIm e desenvolvimento de interface que este trabalho se insere O objetivo foi a reformula o do TOOKIMA anima o cinem tica de modo a torn lo um sistema interativo para a cria o de anima es inclusive com a implementa o de uma interface gr fica O intuito tornar o processo de desenvolvimento de uma anima o com o ProSIm acess vel a usu rios n o especialistas em anima o artistas principalmente A interface desenvolvida na verdade um m dulo da interface ProSIm descrita anteriormente A primeira etapa do desenvolvimento de uma anima o a modelagem dos objetos que compor o as cenas e para isso o animador deve usar o m dulo de modelagem geom trica da interface Por essa raz o a consist ncia entre os m dulos teve de ser mantida e para isso foi seguido o layout definido e foram utilizadas as mesmas ferramentas de desenvolvimento Xview padr o OpenLook para a implementa o do m dulo de anima o O presente trabalho pode ser dividido em duas etapas distintas Num primeiro momento foi desenvolvida uma nova linguagem para o roteiro de anima o Essa nova linguagem teve como objetivo permitir
172. wport def gt A B Raposo 92 M dulo TRACKS lt mod_tracks gt TRACKS lt tr name gt lt tr def gt END lt tr_name gt T lt inteiro gt as trilhas devem ser numeradas em ordem crescente a partir do 0 lt tr def gt lt tr_1 gt lt tr 2 gt lt tr_1 gt trilha lida em arquivo e lt tr 2 gt trilha conhecida lt br i gt TYPE Mepath gt lt value def 1 gt TYPE lt path gt lt value_def_ 2 gt onde lt path gt indica o arquivo de pontos de controle da trilha lt value_def_1 gt VALUE lt value_type_1 gt lt value def 2 gt VALUE lt value_type_2 gt lt value type 1 gt POINT VECTOR COLOR lt value type 2 gt DOUBLE tr 2 gt TYPE lt tr typ gt lt resto 1 gt gt TYPE lt tr_type gt lt resto 2 gt LINEAR QUADR CUBIC EXP lt value def 1 gt lt tr type gt lt resto 1 gt gt START lt real gt lt real gt lt real gt gt STOP lt real gt lt real gt lt real gt lt resto 2 gt lt value def 2 gt gt START lt real gt gt STOP lt real gt Um roteiro de anima o composto dos m dulos anteriormente definidos lt ROTEIRO DE ANIMACAO gt lt mod general gt mod actors gt lt mod_groups gt lt mod_camera gt lt mod_lights gt lt mod_render gt lt mod_output gt lt mod_tracks gt o roteiro ser v lido se cont

Download Pdf Manuals

image

Related Search

Related Contents

AER BassCube : 1200 € - Bruno Brette  User Guide - Clarity Products  Graco SnugRide Series and Infant Safeseat User's Manual  5804BDV User`s Manual  TrueLok - Orthofix  Installation and Operating Instructions  取扱説明書  Épreuve E2 - BAC PRO SEN Electronique Industrielle Embarquée  イワキ定量ポンプ(PDFカタログ)  Philips LED Lustre  

Copyright © All rights reserved.
Failed to retrieve file