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.
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.
modelos, animaes
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.
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.
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.
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
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
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.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
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
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
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
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
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
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
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