Anda di halaman 1dari 23

Arquitectura de Suporte Gerao de Cenas Animadas com Agentes Inteligentes

Miguel Silvestre Maria Pinto-Albuquerque Maria Beatriz Carmo Ana Paula Cludio Joo Duarte Cunha Helder Coelho DI-FCUL TR047

July 2004

Departamento de Informtica Faculdade de Cincias da Universidade de Lisboa Campo Grande, 1749-016 Lisboa Portugal

Technical reports are available at http://www.di.fc.ul.pt/tech-reports. The files are stored in PDF, with the report number as filename. Alternatively, reports are available by post from the above address.

Arquitectura de Suporte Gerao de Cenas Animadas com Agentes Inteligentes


Miguel Silvestre1 Maria Pinto-Albuquerque2 Maria Beatriz Carmo1 Ana Paula Cludio1 Joo Duarte Cunha1 Helder Coelho1
Departamento de Informtica Faculdade de Cincias da Universidade de Lisboa 1749-016 LISBOA, Portugal i25293@alunos.di.fc.ul.pt, {bc, apc, jdc, hcoelho}@di.fc.ul.pt
1 2

Departamento de Cincias e Tecnologias da Informao ISCTE 1649-026 LISBOA, Portugal maria.albuquerque@iscte.pt

Resumo Este relatrio apresenta uma proposta de arquitectura que permite a criao de ambientes virtuais onde se movimentam agentes inteligentes. Esta arquitectura faz a articulao de vrias aplicaes software de modelao tridimensional, motor grfico e motor fsico e a sua definio uma importante etapa no progresso da tarefa 7 do projecto MAGO 21, Modelao de Agentes em Organizaes, que tem vindo a ser concretizada desde Fevereiro de 2004 por uma equipa de trabalho do LabMAG2.

Introduo

O projecto MAGO2, Modelao de Agentes em Organizaes, inclui no total sete tarefas, todas no domnio da Inteligncia Artificial (IA); contudo, apenas a tarefa 7 incorpora uma vertente de representao grfica. O objectivo desta tarefa a concretizao de uma biblioteca de representaes grficas para agentes inteligentes com a forma de humanides com expresses faciais capazes de transmitir emoes e estados de esprito. A existncia desta biblioteca tornar possvel a realizao de experincias que permitam simular o comportamento de agentes individualmente ou integrados em sociedade. Este documento um relatrio de progresso da tarefa referida e nele se descreve uma proposta de arquitectura que faz a articulao entre diferentes aplicaes para criar cenas
1 2

Projecto financiado pela FCT sob a designao de Projecto POSI/39351/SRI/2001 MAGO2 http://labmag.di.fc.ul.pt/

tridimensionais nas quais se movimentam agentes inteligentes que reagem a estmulos. Com o objectivo de definir esta arquitectura comeou por se fazer uma pesquisa sobre as aplicaes que a poderiam integrar. Esta pesquisa permitiu reunir um conjunto de informao que tambm aqui se descreve com o intuito de a disponibilizar comunidade interessada. O documento encontra-se organizado do modo que a seguir se descreve. Na seco 2 apresenta-se a arquitectura adoptada. A pesquisa realizada sobre aplicaes de modelao tridimensional, motores grficos e motores fsicos descrita nas seces 3, 4 e 5, respectivamente. Finalmente, na seco 6, explica-se o trabalho em curso.

Arquitectura

Uma das componentes fundamentais da arquitectura a desenvolver a ferramenta de modelao que permite criar cenas tridimensionais. Estas cenas incluem elementos estticos e elementos dinmicos. Consideraram-se duas abordagens alternativas para a concretizao da arquitectura. A primeira consiste em usar unicamente um programa de modelao. Ou seja, modelam-se os elementos estticos e dinmicos da cena; depois, atravs de scripts dentro do prprio programa de modelao, programam-se os acessos aos elementos dinmicos, bem como os controlos de animao; de seguida, atravs da API, constri-se o programa de IA que acede aos scripts e controla as representaes grficas dos agentes. Todo o processo de rendering ser feito dentro do software de modelao (Fig. 2-1). A grande vantagem desta abordagem o facto de as imagens serem geradas no prprio software de modelao, no havendo constrangimentos no que respeita ferramenta de rendering a utilizar, permitindo assim a obteno de imagens muito realistas. Software de Modelao A
Programa de IA

P I

Scripts

Cena

Fig. 2-1 Arquitectura baseada no programa de modelao Contudo, esta abordagem apresenta desvantagens considerveis: a concretizao da arquitectura fica totalmente ligada ao software de modelao, no havendo hiptese de se construir algo verdadeiramente independente; perde-se a capacidade de se poder fazer a animao em tempo real porque, normalmente, as imagens demoram demasiado tempo a ser geradas e o resultado s pode ser obtido mediante um ficheiro de vdeo. A segunda abordagem considerada a utilizao de um motor grfico, um tipo de software tipicamente usado em jogos de computador, para se poder gerar as imagens e as animaes em tempo real. Esta abordagem tem uma componente mais forte de 2

programao: primeiro modelam-se os elementos da cena e as animaes pretendidas usando para tal um programa de modelao; de seguida, esta modelao exportada para um motor grfico, onde se liga a componente de IA atravs da API, semelhana do que se passa no desenvolvimento de um jogo de computador. Com esta abordagem o problema da animao no correr em tempo real j no existe - tudo corre em tempo real - e a plataforma a desenvolver independente do software de modelao, uma vez que os modelos e animaes so exportados deste para o motor grfico. Para a concretizao da tarefa em curso optou-se pela segunda abordagem. Como o motor grfico no resolve alguns dos problemas da modelao fsica dos objectos, como seja, por exemplo, as colises, necessrio incluir um motor fsico. A Fig. 2-2 ilustra o modelo base da arquitectura a usar. Alm do programa de modelao, do motor grfico e do motor fsico, esta arquitectura fica aberta incluso de outras ferramentas.

Software de Modelao 3D BDCG


(Base de Dados de Computao Grfica)

modelos, animaes

Processamento grfico Motor Grfico

Motor Fsico

API

Programa de IA

Fig. 2-2 Arquitectura usando software de modelao, motor grfico e motor fsico 3

De acordo com a arquitectura escolhida, necessrio concretizar as seguintes subtarefas: a modelao da cena com software de modelao tridimensional, a exportao dos modelos e da animao do software de modelao para os motores grfico e fsico, a integrao destes dois motores, o desenvolvimento da API e do programa de IA. Tanto a aprendizagem de utilizao de um software de modelao 3D como o processo de desenvolvimento de cenas com este tipo de ferramentas so processos consideravelmente lentos3. O processo de desenvolvimento pode tornar-se mais clere reaproveitando alguns modelos disponveis gratuitamente na internet, permitindo que as restantes subtarefas avancem em paralelo com esta aprendizagem.

Ferramentas de modelao geomtrica e animao

Descrevem-se nesta seco os resultados da pesquisa efectuada sobre softwares de modelao geomtrica e de animao. Na subseco 3.1 apresenta-se um pequeno resumo de todas as ferramentas analisadas. Relativamente aos produtos comerciais que uma anlise sumria indiciava como candidatos potenciais, foram efectuadas diligncias para obteno de preos que tambm se indicam nesta seco. Na subseco 3.2 analisa-se com maior detalhe o subconjunto das ferramentas consideradas mais adequadas para o trabalho a desenvolver.

3.1 Pesquisa de ferramentas de modelao


Para cada ferramenta apresentam-se breves concluses que so o resultado da anlise efectuada. Blender http://www.blender3d.org/About/?sub=Features Desenvolvido no mbito de um projecto pertencente Blender Foundation. um produto gratuito e ainda em desenvolvimento. Por enquanto ainda se encontra um pouco limitado no que respeita a animaes e gerao de imagens e a sua interface pouco intuitiva. descrito com mais detalhe na seco 3.2. Cinema 4d http://maxon.net/index_e.html ; http://www.techlimits.com Software com grande capacidade de animao e modelao grfica. Parece ter como pblico alvo preferencial a indstria cinematogrfica. O seu preo (entre 890 e 3213 euros) torna-o pouco atractivo para o projecto em causa. DepthQ http://www.lightspeeddesign.com/3d/dq-software.html Software para a realizao de filmes de cinema com cenas tridimensionais que so normalmente visualizadas com culos especiais.

Parece ser consensual a necessidade de um perodo mnimo de 6 meses necessrio para a aprendizagem das tcnicas de modelao grfica. Informao sobre este assunto pode ser obtida em: http://en.wikipedia.org/wiki/3D_computer_graphics http://www.insidecg.com/ http://www.insidecg.com/feature.php?id=136

Discreet 3D Studio Max http://www.discreet.com/3dsmax/ Software muito usado para a modelao e animao grfica em jogos de computador. Existem bastantes fruns e pginas de ajuda incluindo o prprio site. A interface simples e intuitiva. descrito com mais detalhe na seco 3.2. FaceGen http://www.facegen.com/modeller.htm Software que permite criar rostos humanos e modelar os mesmos segundo alguns parmetros como a idade, a raa, a expresso facial, entre outros. Como apenas permite a modelao de faces humanas, ficou automaticamente excludo. Houdini http://www.sidefx.com/products/houdini/escape/index.html A interface com o utilizador deste software no user-frinedly, no entanto, existem alguns fruns e pginas dedicadas ao Houdini. Nos tutoriais que se encontraram no h qualquer referncia existncia de uma API. Life Forms http://www.credo-interactive.com/products/index.html Programa para criao de animaes de personagens. O site no d muita informao sobre as capacidades do programa e existem muito poucas ajudas na internet sobre este programa. Lifemi http://www.lifemi.com/ Software muito interessante para a criao de rostos e animaes, nomeadamente sincronizao de lbios. Possibilidade de integrao com o 3D Studio Max ou com o Maya (este software analisado mais adiante). No entanto apenas permite modelar faces humanas, pelo que ficou automaticamente excludo. LightWave http://www.lifemi.com/ Software muito usado. Contudo, no foi possvel obter em tempo oportuno uma verso de demonstrao o que impossibilitou uma anlise mais detalhada. Massive http://www.massivesoftware.com Software desenvolvido para ser utilizado no filme Lord of the Rings. Este produto permite criar milhares de agentes guerreiros autnomos e com comportamento de multides muito realista. A pouca informao e o preo elevado (US$ 18 000) tornaram desinteressante qualquer esforo adicional de avaliao. Maya http://www.alias.com Software muito usado tanto para a animaes grficas como para modelaes geomtricas. Tem sido largamente utilizado na produo de filmes (Lord of the Rings, The Mummy, Ice Age, etc) e existem muitas ajudas e fruns na internet dedicados ao Maya. descrito com mais detalhe na seco 3.2.

MotionBuilder http://www.kaydara.com Software para a modelao de personagens. As suas facilidades de modelao limitam um bocado a criao de outras funcionalidades/animaes. Indicado para a indstria cinematogrfica ou para ser usado em conjunto com outras ferramentas. Okino http://www.okino.com/products.htm Este produto limitado no que respeita s animaes suportadas, bem como qualidade das imagens geradas. Rhino3d http://www.rhino3d.com Software mais indicado para modelao de objectos estticos j que dispe de poucas capacidades de animao. Softimage|XSI http://www.softimage.com/products/ Programa muito usado em filmes como, por exemplo, Princesa Chihiro e Harry Potter, bem como em jogos como Half-Life2 e Fifa2003, entre outros. Tem boas capacidades de animao e de modelao, dispe de APIs e verses de demonstrao para se testar o programa. descrito com mais detalhe na seco 3.2. SOLIDS ++ http://www.integrityware.com Software de modelao grfica, no entanto sem capacidades de animao e com pouca informao. Strata http://www.strata.com Software de modelao e animao grfica. Existem alguns fruns e pginas de ajuda para este software. No entanto, a interface testada, a da verso de demonstrao, no muito amigvel e existe pouca informao disponvel sobre os contextos em que tem sido usado. O programa no muito aberto no que respeita aos formatos suportados nem no que diz respeito a facilidades de exportao de ficheiros.

3.2 Anlise mais detalhada das ferramentas consideradas relevantes


Tendo em conta a grande diversidade de ferramentas encontradas, resolveu-se analisar com mais cuidado um subconjunto destas. A escolha baseou-se nas caractersticas seguintes: capacidades de modelao e de animao disponibilizadas, facilidades de exportao de ficheiros, quantidade de ajudas/tutoriais que se encontram na internet e, por ltimo, nmero de aplicaes efectivas do software em contextos como filmes e jogos. A anlise destas caractersticas em cada ferramenta levou escolha das seguintes ferramentas: Maya, 3D Studio Max, Softimage e Blender. Na subseco 3.2.1 apresentamos uma tabela que compara estes quatro produtos fazendo uso de um conjunto de dez itens e, na subseco 3.2.2, faz-se uma descrio mais pormenorizada das caractersticas de cada um.

Nome do software Companhia Site Facilidade de utilizao Linguagens de programao admitidas Formatos de entrada

Maya Alias http://www.alias.com/eng/productsservices/maya/index.shtml No se encontraram tutoriais sobre como montar o motor grfico. MEL (Maya Embedded Language), C++ Todos os formatos de imagem e mayaAscii, mayaBinary, mel, DWG, DXF, OBJ (.mtl), IGES, aliasWire (StudioTools), aiff, image, RIB, mov (ascii motion), VRML2, aliasWire(StudioTools), IGES, DWG, DXF, OBJ, VRML2, mayaASCII, myaBinary, mel, mov, GE2, RTG, OpenFlight, Macromedia Flash, Adobe Illustrator, Scalable Vector Graphics, Maya IFF, AVI/QuickTime, GIF, Softimage, Wavefront RLA,bmp, TIFF, SGI RGB, Alias PIX, JPEG, EPS, Cineon, Quantel, Targa http://www.medialab.chalmers.se/tutorials/ http://www.mtmckinley.net http://www.rhonda.com/Maya_TopTen_intro.html http://www.alias.com http://www.learning-maya.com http://www.therenderfarm.com http://www.animationstudios.com.au/

XSI Softimage http://www.softimage.com/Products/Xsi/v3/ Complicado montar um motor grfico. No entanto h tutoriais sobre o tema. API programada em C++ Scripts podem programar-se em C++, C, VBScript, Jscript, Perl, Python Todos os formatos de imagem e Maya,3dsMax,Kaydara Todos os formatos de imagem e Maya, 3dsMax, Kaydara, .DXF, .WRL, .FBX

3D Studio Max Discreet http://www.discreet.com/3dsmax/ No se encontraram tutoriais sobre como montar o motor grfico C++ Todos os formatos de imagem e DWG,DXF, mesh, Shockwave 3D

Blender Blender Foundation http://www.blender.org/About/?sub=Features A sua interface no muito intuiva, no entanto h alguns tutorias na internet. Python, C TGA, JPG, PNG, Iris, SGI Movie, IFF, AVI and Quicktime GIF, TIFF, PSD, MOV (Windows and Mac OS X) TGA, JPG, PNG, Iris, SGI Movie, IFF, AVI and Quicktime GIF, TIFF, PSD, MOV (Windows and Mac OS X), .blend

Avi, bmp, jpg, mov, cin, hdr, png, cin, tif, rpf, Shockwave 3D, vector graphics

Formatos de sada

http://www.softimage.com http://www.xsibase.com/ http://unitas.lunarpages.com/~edharr2/ http://www.xsifiles.com/

http://tonyg.3dup.net/tutorials/MAX/ http://www.3dlinks.com/oldsite/tutorials_max.cfm http://www3.sk.sympatico.ca/kelbeau/max2ued/html/contents.html http://www.discreet.com/3dsmax/ http://www.max3dstuff.com/ http://www.max-realms.com/ http://sparks.discreet.com/

Fontes de ajuda http://www.3dlinks.com/ ; http://www.cgchannel.com/ http://www.turbosquid.com/ ; http://www.highend3d.com/ http://www.3dluvr.com/content/; http://www.web3dservice.com/ http://3dtotal.com/; http://www.3dcafe.com http://www.raph.com/3dartists/; http://www.3donline.com.br/ http://www.antropus.com/; http://www.insidecg.com/ http://www.3d4all.org; http://www.cgchannel.com/ http://www.deathfall.com/; http://www.turbosquid.com/; http://www.secondreality.ch/ http://www.amperel.pt/ Caixa D' Imagens http://www.caixadimagens.pt/ Amadora Sttei, Lda Dec.Imagem, S.A. http://www.decimagem.pt/ Muito usado em jogos e em alguns filmes. Muito usado em desenvolvimento de jogos (HL2) e filmes (T3, Matrix). FTK e XSI Viewer

http://www.elysiun.com/ http://www.blender3d.org http://www-users.cs.umn.edu/~mein/blender/converters.html http://www.blenderwars.com http://members.yourlink.net/gruff/ http://blenderchar.weirdhat.com/ http://www.geocities.com/pollythesheep/matlib_index.html http://www-users.cs.umn.edu/~mein/blender/plugins/ http://www.blenderman.org/

Vendedor em Portugal Contextos efectivos de utilizao

VANTeC www.vantec.pt Muito usado em filmes, jogos e trabalhos de investigao

Producto gratuito Software grtis muito usado.

Tabela 3-1 Estudo comparativo de quatro ferramentas de modelao geomtrica e animao.

3.2.1 Tabela comparativa


Para a construo da Tabela 3-1 usou-se um conjunto de dez itens: pgina oficial do produto, facilidade de utilizao, linguagens de programao utilizadas no desenvolvimento de programas que usam a ferramenta, formatos de entrada aceites pela ferramenta, formatos de sada gerados pela ferramenta, vendedor do produto em Portugal e contextos efectivos de utilizao. Alm dos formatos de entrada e sada referidos na tabela, estes softwares suportam a incluso de scripts que permitem que a aplicao importe e exporte ficheiros com outros formatos, por exemplo, o formato .3DS. Acrescente-se ainda que todos os produtos escolhidos dispem de API.

3.2.2 Descrio detalhada das ferramentas mais relevantes


Segue-se uma anlise mais detalhada dos produtos includos na Tabela 3-1: Softimage, Maya, 3D Studio Max e Blender.

3.2.2.1 Softimage
Existem 3 produtos principais da Softimage: Softimage|XSI; Softimage|Behavior e Softimage|3D. O Softimage|XSI e o Softimage|3D so bastante semelhantes, pretendendo o primeiro substituir o segundo. No entanto, o Softimage|3D contm algumas facilidades e optimizaes na modelao e na criao de texturas orientadas para o desenvolvimento de jogos. O Softimage|Behavior permite muito facilmente simular comportamentos, nomeadamente de multides; contudo, esta soluo no apresenta grandes capacidades de modelao, pois apenas permite simular comportamentos, estando toda a capacidade de modelao e gerao de imagens a cargo do Softimage|XSI. A nossa pesquisa centrou-se apenas no Softimage|XSI pois a soluo potencialmente mais interessante para o projecto. O programa em si parece ser bastante acessvel e com uma interface muito intuitiva mas, aps algum trabalho realizado e algumas buscas efectuadas, constactmos que cada plug-in ou funcionalidade nova (API, scripts, etc.) tem um custo adicional. Em relao ao material de apoio disponibilizado, quer pela prpria Softimage, quer por outros, conclumos que mais escasso que o oferecido por outras solues como o Maya ou o 3D Studio Max. Por estas razes o Softimage|XSI foi eliminado como possvel escolha final.

3.2.2.2 Maya
Existem trs verses do Maya: Maya Personal Learning Edition, Maya Complete e Maya Unlimited. O Maya Personal Learning Edition uma verso gratuita e por tempo ilimitado do Maya que no oferece todas as funcionalidades da Complete Edition. Uma marca de gua aparece em todas as imagens geradas/criadas com a Learning Edition e o Maya Personal Learning Edition est limitado a um CPU enquanto as verses comerciais podem ser usadas em mltiplos CPUs. Na Learning Edition no se pode gravar nos formatos Standard do Maya (.ma, .mb); apenas se pode gravar no formato especfico desta verso, no entanto, possvel importar ficheiros normalizados do Maya. 8

A API no est includa nesta verso e tambm no possvel usar plug-ins das verses comerciais do Maya ou outros plug-ins autorizados; quanto interface com o utilizador a cor de fundo est limitada ao cinzento. Acabmos de referir apenas algumas diferenas entre as duas verses. Uma lista exaustiva encontra-se no anexo deste relatrio tcnico. Mais informao pode ser obtida no endereo http://www.alias.com/eng/productsservices/maya/maya_ple/faq.shtml#differences_ple_commercial O Maya Complete Edition a verso comercial mais bsica do Maya e tem um custo oficial de 2 099. Pode obter-se uma licena universitria por um valor entre 300 e 600 consoante o vendedor (New Media Research http://www.nmr.com, Majenta http://www.majentasolutions.com, VANTeC www.vantec.pt). A verso comercial mais completa do Maya a Unlimited Edition com um custo oficial de 7349. Os preos universitrios desta mesma verso so da ordem de 640 (New Media Research http://www.nmr.com , Majenta http://www.majentasolutions.com). Esta verso contm todas as funcionalidades da Complete Edition mais as um conjunto de funcionalidades que so vocacionadas especificamente para a criao de roupas, de fludos, plos/cabelos e para a captao de movimentos. Pode encontrar-se mais informao em: http://www.alias.com/eng/products-services/maya/maya_unlimited/index.shtml.

3.2.2.3 3D Studio Max


O 3D Studio Max um software bastante usado e referenciado em diversas reas da computao e animao grfica, sendo uma delas a indstria dos jogos. Existe uma verso de demonstrao gratuita vlida durante um ms com todas a funcionalidades do 3D Studio Max 6. O seu preo comercial de 2900 e o preo acadmico de 1190 (Decimagem http://www.decimagem.pt). As caractersticas mais relevantes deste software encontram-se enumeradas no anexo. O Character Studio uma ferramenta criada com o intuito de ser utilizada com o 3D Studio Max e que fornece um conjunto de funcionalidades de forma a melhorar e acelerar o processo de criao de personagens individuais, nomeadamente bpedes, e de multides. A modelao de bpedes facilitada por capacidades de mapeamento de pele. Uma lista de capacidades do 3D Studio Max encontra-se no anexo.

3.2.2.4 Blender
O Blender um software de modelao e de animao 3D gratuito. As principais vantagens de usar este software so o facto de ser gratuito, a existncia de uma grande comunidade de utilizadores, as suas fortes capacidades de modelao grfica e o facto de ser um projecto que est em contnuo desenvolvimento. As grandes diferenas entre esta ferramenta e as anteriores encontram-se sobretudo a nvel da interface com o utilizador e no tanto ao nvel das capacidades intrnsecas. Apesar de existirem modelos grtis na internet, estes no so to comuns como os que se encontram para outras ferramentas como o Maya ou o 3D Studio Max. Este aspecto de algum modo compensado pelo facto do Blender ter a capacidade de importar outros tipos de ficheiros. Entre esses formatos encontra-se o formato .3DS que amplamente utilizado por modeladores como forma de guardarem os seus trabalhos. Indicam-se no anexo as principais funcionalidades deste produto. 9

3.3 Software de modelao a adoptar


O Maya e o 3D Studio Max so ferramentas muito equiparadas. So muito usadas e referenciadas na rea de modelao e animao grfica e integram um vasto leque de funcionalidades, o que as torna ferramentas poderosas, capazes de gerar imagens com um enorme realismo. Tanto uma como outra serviriam bem as necessidades do projecto. Quer a nvel de tutoriais, quer de pginas de ajuda e fruns encontra-se muita informao sobre ambas. Mas de uma forma geral existe mais informao sobre o 3D Studio Max do que sobre o Maya. Tambm convm notar que a verso acadmica do 3D Studio Max traz o Character Studio 4 includo. Esta ferramenta possibilita uma melhor e mais fcil modelao de criaturas, nomeadamente ao nvel da pele, msculos, ossos e mos. O Character Studio 4 facilita tambm o processo de animao de criaturas. A pesquisa que efectumos leva-nos a considerar que o 3D Studio Max mais intuitivo do que o Maya, o que acelera a aprendizagem da ferramenta e, consequentemente, o seu uso. Porm, a arquitectura proposta na seco 2 prev que as imagens sejam produzidas em tempo real por um motor grfico e no no software de modelao 3D. Este ltimo ser usado unicamente para modelar o cenrio e os humanides. Isto leva-nos a concluir que a utilizao de um software de modelao profissional dispensvel. Assim, a nossa escolha recai sobre a ferramenta Blender cuja utilizao tem as vantagens que referimos atrs: gratuita, dispe de fortes capacidades de modelao grfica, est em constante desenvolvimento e conta com uma forte comunidade de utilizadores.

Motores Grficos

Uma vez que se optou pela utilizao de um motor grfico surge a necessidade de escolher um j existente ou desenvolver um novo motor grfico. Como existem diversos motores grficos disponveis no se considerou a hiptese de criar um novo motor. A nossa pesquisa incidiu maioritariamente sobre motores grficos gratuitos. Para cada um dos dez motores analisados, apresentam-se breves concluses que so o resultado da anlise efectuada. Axiom http://axiomengine.sourceforge.net/ Motor orientado para o desenvolvimento de jogos. O motor uma adaptao do Ogre feita em C# e foi usada a plataforma .NET para o seu desenvolvimento. A sua comunidade no das maiores, mas muito activa. CrystalSpace http://crystal.sourceforge.net Motor orientado para o desenvolvimento de jogos. A comunidade que suporta o desenvolvimento deste motor no parece ser muito activa. Fly3D http://www.fly3d.com.br/ Motor grfico orientado para jogos e desenvolvido em C++. Este motor tem uma grande comunidade a suport-lo. Embora o cdigo fonte no esteja disponvel a sua

10

licena bastante liberal. possvel fazer o download de uma verso gratuita e utilizar livremente. Irrlicht http://irrlicht.sourceforge.net Motor grfico escrito em C++. um projecto relativamente novo e a qualidade das imagens geradas por este motor inferior das imagens geradas no Ogre (descrito adiante). Existe uma grande comunidade a trabalhar para o desenvolvimento deste motor. Jet3D http://www.jet3d.com/ Motor grfico comercial desenvolvido em C++. Uma vez que existem bastantes motores grtis e de boa qualidade, no ser necessrio optar por um motor comercial. NeoEngine http://www.neoengine.org Motor grfico orientado para o desenvolvimento de jogos. A comunidade que suporta este motor muito pequena e pouco activa. OGRE http://www.ogre3d.org um motor grfico que no trata deteco de colises, simulao de fenmenos fsicos e tratamento de som. Este motor desenvolvido em C++. A qualidade das imagens geradas muito boa e o processo de rendering bastante rpido. O Ogre conta com uma extensa comunidade de utilizadores e est em constante desenvolvimento. Open Scene Graph http://openscenegraph.sourceforge.net/ Motor grfico desenvolvido em C++ e que usa apenas o OpenGL. A qualidade das imagens no m, no entanto existem motores com uma qualidade superior. PanardVision http://www.panardvision.com Projecto que se encontra parado e por isso sem interesse. TitanEngine http://talika.eii.us.es/~titan/titan/index.html Projecto que tinha como objectivo mostrar as potencialidades da biblioteca grfica OpenGL. um projecto antigo que estagnou em 2000. Nesta fase do projecto resolveu-se optar pelo Ogre. Consideramos que este motor adequado para a tarefa, pois apenas um motor grfico e no um motor grfico orientado para o desenvolvimento de jogos, como a maioria de motores que encontrmos. Tratando-se de um motor genrico, no incluindo funcionalidades como a deteco de colises, permite uma maior flexibilidade na escolha da concretizao destas funcionalidades. um motor bastante flexvel, modular, muito eficiente e existe uma grande comunidade de desenvolvimento e de utilizadores deste motor grfico. As imagens

11

geradas pelo OGRE so de qualidade superior de outros motores grficos que se encontram descritos acima. O desenvolvimento com o motor grfico feito atravs de bibliotecas previamente construdas e de rotinas em C++ que lanam os servios primrios (rendering pipeline, opes de display, etc.). Tipicamente uma personagem, por exemplo um humanide, ter associado um esqueleto, ambos sero carregados no motor e o humanide poder ser animado pelo motor grfico. Para se animar o humanide existem duas opes: uma delas atravs de manipulao directa, programada usando o motor grfico, das junctions e bones. A outra hiptese atravs da criao das animaes tambm no software de modelao. Estas animaes seriam igualmente carregadas no motor grfico.

Motores Fsicos

Uma vez que o Ogre no tem um sistema de simulao de fenmenos fsicos ou de colises implementado, este ter de ser concretizado ou ento usa-se alguma biblioteca j existente. Convm notar que a maior parte dos motores fisicos tem um sistema de colises. Foram analisados dois motores fsicos que a seguir se descrevem sumariamente. ODE http://ode.org/ Motor fsico capaz de simular a dinmica dos corpos rgidos, desenvolvido em C++, bastante usado e gratuito. O ODE tem uma vasta comunidade de ajuda e de desenvolvimento, estando por isso em constante desenvolvimento. Existem vrios exemplos sobre como usar o ODE em conjunto com o Ogre. Tokamak http://tokamakphysics.com/ Motor fsico semelhante ao ODE, tambm com uma grande comunidade de utilizadores e de desenvolvimento. Este projecto mais recente que o ODE, mas tambm se encontra em contnuo desenvolvimento Uma vez que o ODE um motor fsico muito usado, bastante referenciado, com uma comunidade enorme e com bons materiais de apoio, incluindo vrios exemplos sobre como usar o ODE em conjunto com o Ogre, foi o motor fsico escolhido para o desenvolvimento da tarefa.

Trabalho em curso

Neste momento estamos numa fase de aprendizagem e de adaptao s ferramentas escolhidas. Est a ser produzida uma pequena demonstrao que envolve a criao de uma cena (cenrio com vrios objectos e uma personagem) no Blender que, de seguida exportado para o Ogre que gera a imagem e a animao correspondente. A articulao com o ODE permitir tornar a animao mais realista, j que se simula a gravidade e se resolvem as colises da personagem com os objectos da cena. A figura 6-1 apresenta a arquitectura proposta na seco 2 explicitando os softwares a usar em cada mdulo. Na etapa seguinte, contando j com um domnio claro das ferramentas de modelao e de rendering, pretendemos desenvolver uma API que faa a ligao entre os motores grfico e fsico e o programa de IA. O objectivo da API encapsular o processamento grfico para o programa de Inteligncia Artificial de forma a que a visualizao grfica seja o mais transparente possvel para este programa. 12

Blender
(Software de Modelao 3D)

BDCG
(Base de Dados de Computao Grfica)

modelos, animaes

Processamento grfico OGRE


(Motor Grfico)

ODE
(Motor Fsico)

API

Programa de IA

Fig. 6-1 Arquitectura usando o Blender como software de modelao, o OGRE como motor grfico e o ODE como motor fsico.

Referncias

Indicam-se os sites mais relevantes onde foi consultada a informao sobre os softwares discutidos neste documento. Axiom Blender Blender http://axiomengine.sourceforge.net/ http://www.blender3d.org/About/?sub=Features The Official Blender 2.3 Guide, The Open 3D Creation Suite, Blender Foundation (eds) Amsterdam 13

Cinema 4d CrystalSpace DepthQ Discreet 3D Studio Max FaceGen Fly3D Houdini Irrlicht Jet3D Life Forms Lifemi LightWave Massive Maya MotionBuilder NeoEngine ODE OGRE Okino Open Scene Graph PanardVision Rhino3d Softimage|XSI SOLIDS ++ Strata

http://maxon.net/index_e.html ; http://www.techlimits.com http://crystal.sourceforge.net http://www.lightspeeddesign.com/3d/dq-software.html http://www.discreet.com/3dsmax/ http://www.facegen.com/modeller.htm http://www.fly3d.com.br/ http://www.sidefx.com/products/houdini/escape/index.html http://irrlicht.sourceforge.net http://www.jet3d.com/ http://www.credo-interactive.com/products/index.html http://www.lifemi.com/ http://www.newtek.com/ http://www.massivesoftware.com http://www.alias.com http://www.kaydara.com http://www.neoengine.org http://ode.org/ http://www.ogre3d.org http://www.okino.com/products.htm http://openscenegraph.sourceforge.net/ http://www.panardvision.com http://www.rhino3d.com http://www.softimage.com/products/ http://www.integrityware.com http://www.strata.com

14

Anexo
Neste anexo enumeram-se as capacidades de trs das ferramentas de modelao analisadas: o Maya, o 3D Studio Max e o Blender. Foram deixadas em ingls as expresses para as quais considermos no existir uma traduo reconhecida.

A1. Maya
Existem trs verses do Maya: Maya Personal Learning Edition, Maya Complete e Maya Unlimited. Maya Personal Learning Edition O Maya Personal Learning Edition uma verso gratuita e por tempo ilimitado do Maya. Esta verso tem as mesmas funcionalidades que a Complete Edition excepto as seguintes: Performance Maya Personal Learning Edition est limitada a um CPU. A verso comercial do Maya pode ser usada em mltiplos CPUs. Watermark Uma watermark aparece em todas as imagens geradas/criadas no Maya. Esta s no est presente quando se trabalha em modo de Wireframe. Rendering e Sada de Imagens O mental ray renderer no se encontra disponvel. No se pode usar o vector renderer. No se podem gravar imagens com 16-bit. O Camera's film fit offset e films offset esto limitados a 0. O modo de funcionamento das seguintes facilidades est limitado resoluo 1024x768: o Software rendering output in Render View and batch mode o Hardware rendering output in Render View and batch mode o Hardware render buffer o Paint Effects canvas mode and scene mode o UV snapshot in UV texture Editor o 3D Paint Tool Formato de Ficheiros e Entradas/Sadas No se pode gravar nos formatos Standard do Maya (.ma, .mb); apenas se pode gravar no formato especfico do Maya Personal Learning Edition, no entanto, possvel importar ficheiros normalizados do Maya. A cache do sistema de partculas no suportada. Text dump da janela Blind Data Editor no suportado A exportao de peles e mapas de pesos no suportada. API e Plug-ins A API no est includa nesta verso. No possvel usar plug-ins das verses comerciais do Maya ou outros plug-ins autorizados. MEL (Maya Embedded Language linguagem de script ) O historial de escrita do Script Editor no suportado. 15

Os seguintes comandos MEL no so suportados: system, fopen, popen, fwrite, fprint, cmdpipe. O editor de script est limitado a 75 linhas de cdigo A opo de menu Save Selected foi removida. Interface com o utilizador A cor de fundo est limitada ao cinzento.

Maya Complete Edition O Maya Complete Edition contm as seguintes funcionalidades: Modelao

NURBS Polygonal Modeling Sub-division surfaces Maya Artisan General Animation The Trax Non-Linear Motion Compositor Character Animation Forward and Inverse Kinematics (FK and IK) Skinning Integrated Sound Synchronization Deformers Weight Animation Controller Subsystem Dynamics Rigid-Body Dynamics Soft-Body Dynamics Particles Sculpting Paint Selection Painting Values Paint Directly onto 3D surfaces Maya PaintEffects Hardware Renderer Network rendering Mental ray Vector Rendering Maya Shockwave 3D Exporter Formatos de ficheiros admitidos: Macromedia Flash, DWG, Adobe

Animao

Efeitos Visuais

Tecnologias Brush-based

Rendering

Maya API/SDK e MEL 16

Illustrator, Encapsulated PostScript, Scalable Vector Graphics, DXF, IGES, OpenFlight, StudioTools and OBJ. Maya ShockWave 3D Exporter 3rd Party Conductor Plug-ins

Maya Unlimited Edition Esta verso contm todas as funcionalidades da Complete Edition mais as seguintes: Maya Fluid EffectsTM

Space Effects Open Water Pyrotechnics Space Effects Viscous Liquids and Molten Solids Create any Fashion in any Fabric Animate Any Fabric Object Unique Solver Total Integration with Maya Software Match 3D Elements with Live-action Shots Flexibility Fast Integrated 2D Tracker Interactive Root Frame Solver Reconstruct Live-action elements as 3D Geometry Data Export

Maya FurTM

Maya ClothTM

A2. 3D Studio Max


Enumeram-se a seguir as caractersticas mais relevantes do 3D Studio Max: Animao

General Animation Forward and Inverse Kinematics (FK and IK) Skinning Integrated Sound Synchronization Deformers Weight Animation Controller Subsystem Curve Editor Objects NURBS Polygonal Modeling Sub-division surfaces Spline/Patch 17

Modelao

Filtering of interior edges Meshsmooth Isoline Display Shell Modifier Relax Modifier Global illumination Photorealistic lighting Network rendering Command line rendering High Dynamic Range Imaging (HDRI) files support Mental ray rendering Photometric lighting support. 2D Lighting Data Exporter Surface level lighting MAXScript access to Radiosity Vertex Paint Modifier Dynamic Shader UI Edit Vertex Normals, Channel Info Editor Nmero ilimitado de cmaras Interactive clipping plane, dolly, FOV, grid overlay, orbit, roll, vertigo zoom, zoom and safe frame display Precise alignment Extensive Depth of Field Motion Blur Algoritmos de shading Material/Map WYSIWYG viewport environment Multiple coordinate Plug-in architecture 3rd Party Conductor Plug-ins Esto em desenvolvimento scripts que permitem exportar/importar outros formatos de ficheiros.

Mapeamento de Texturas

Rendering

Luzes

Jogos

Cmaras

Materiais

Interaco com o Viewport


MAXScript & API


18

Character Studio Enumeram-se a seguir as caractersticas mais relevantes do Character Studio, uma ferramenta criada com o intuito de ser utilizada com o 3D Studio Max. Animao por Keyframe

Quaternion Based Function Curves 3ds Max Bones Support: Biped Ik Track Operations Workbench Motion Property Analysis & Visualization Animation Mixer 3ds Max Controllers Animation Mixdown Reservoir Animation Layers Motion Flow Editor 3D Character Motion Mapping And Splicing Clip Features Footstep-Driven Animation Prop Retargeting Behavioral Crowd Animation Behavioral Animation Figure Creation / Editing Skinning/Deformations Skin Assignment Tendons Skin Sliding Weighted Blending Muscles Free-Floating Bones All Geometry Types Supported Biped Crowds Scripting Physique

Animao no linear

Footstep Animation

Captura de Movimentos

Simulao de multides

Mapeamento de pele

Software Development Kit (SDK)


19

A3. Blender
Indicam-se seguidamente as principais funcionalidades do Blender. Modelao

Permite a manipulao de: NURBS, curvas de Bezier e B-splines, metaballs, vector fonts (TrueType, PostScript, OpenType) 'Smooth proxy' style catmull-clark subdivision surfaces Funes Booleanas em malhas Funes de edio tais como: extrude, bevel, cut, spin, screw, warp, subdivide, noise, smooth Soft selection editing tools for organic modeling Criao de ferramentas de modelao atravs de scripts Python Armature (skeleton) deformation with forward/inverse kinematics, auto skinning and interactive 3D paint for vertex weighting Non-linear animation mixer with automated walkcycles along paths Constraint system Morphing com vertex key framing controlado por sliders Editor de character animation pose Animatable lattice deformation Sistema 'Ipo' integrando motion curve e traditional key-frame editing Facilidades de sincronizao de som Efeitos de animao produzidos atravs de scripts Python Editor grfico para definir o comportamento sem necessidade de programao. Deteco de colises Scripts Python para control de IA, lgica do jogo completamente definida Suporta todos os modos de iluminao do OpenGL, incluindo transparncias. Texturas Playback de jogos e contedo 3D sem compilao ou preprocessamento Audio, usando a ferramenta the fmod Multi-layering de cenas Raytracer incorporado Suporta o motor de rendering Yafray Oversampling, motion blur, post-production effects, fields, non-square pixels Environment maps, halos, lens flares, fog Concretiza vrios algoritmos de shading: Lambert, Phong, Oren-nayar, Blinn, Toon Edge rendering for Toon shading Procedural Textures Ambient Occlusion Radiosity solver Scripts para exportao renderers externos como Renderman (RIB), Povray, Virtualight UV texture editor

Animao

Criao de Jogos 3D em tempo Real


Rendering

20

Interface

Disposio de janelas configurvel pelo utilizador Sistema de dados orientado por objectos Janelas para: animao por curvas ou pontos, diagramas esquemticos de cenas, edio de sequncias de vdeo no lineares, editor para animao da aco dos personagens, misturador de animao no linear, edio de image/UV, seleco de imagens ou ficheiros e gestor de ficheiros Editor de texto para anotao e edio de scripts Python Interface coerente em diferentes plataformas Guarda todos os dados da cena num nico ficheiro .blend O formato .blend suporta compresso, assinaturas digitais, encriptao, compatibilidade forwards/backwards e pode ser usado como uma biblioteca para para ligar com outros ficheiros .blend. Suporta os formatos TGA, JPG, PNG, Iris, SGI Movie, IFF, AVI, Quicktime, GIF, TIFF, PSD, MOV (Windows and Mac OS X) Importa e exporta ficheiros DXF, Inventor e VRML com scripts Python tambm disponveis para outros formatos 3D. Criao de executveis stand-alone com contedo 3D interactivo.

Ficheiros

21

Anda mungkin juga menyukai