47
1 UNIVERSIDADE FEDERAL DE PERNAMBUCO GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO CENTRO DE INFORMÁTICA Framework para geração de personagens humanóides 3D para jogos computacionais ______________________________________________________________ TRABALHO DE GRADUAÇÃO Novembro de 2009

Framework para geração de personagens humanóides 3D para ...cin.ufpe.br/~tg/2009-2/jrpn.pdf · parcial para obtenção do Grau de Bacharel em Ciência da Computação. ... Um agradecimento

Embed Size (px)

Citation preview

Page 1: Framework para geração de personagens humanóides 3D para ...cin.ufpe.br/~tg/2009-2/jrpn.pdf · parcial para obtenção do Grau de Bacharel em Ciência da Computação. ... Um agradecimento

1

UNIVERSIDADEFEDERALDEPERNAMBUCOGRADUAÇÃOEMCIÊNCIADACOMPUTAÇÃO

CENTRODEINFORMÁTICA

Frameworkparageraçãodepersonagens

humanóides3Dparajogoscomputacionais

______________________________________________________________

TRABALHODEGRADUAÇÃO

Novembrode2009

Page 2: Framework para geração de personagens humanóides 3D para ...cin.ufpe.br/~tg/2009-2/jrpn.pdf · parcial para obtenção do Grau de Bacharel em Ciência da Computação. ... Um agradecimento

2

Frameworkparageraçãodepersonagenshumanóides3Dparajogos

computacionais

por

JoãodaRochaPascoalNetoMonografiaapresentadaaoCentrodeInformática daUniversidadeFederaldePernambucocomo requisitoparcialparaobtençãodoGraude BacharelemCiênciadaComputação. Orientador:SílviodeBarrosMelo

Novembrode2009

Page 3: Framework para geração de personagens humanóides 3D para ...cin.ufpe.br/~tg/2009-2/jrpn.pdf · parcial para obtenção do Grau de Bacharel em Ciência da Computação. ... Um agradecimento

3

“Avingançanuncaéplena,mataaalmaeaenvenena.“(RamónValdez)

Page 4: Framework para geração de personagens humanóides 3D para ...cin.ufpe.br/~tg/2009-2/jrpn.pdf · parcial para obtenção do Grau de Bacharel em Ciência da Computação. ... Um agradecimento

4

Agradecimentos

Emprimeirolugaragradeçoaosmeuspais,RicardoeRoberta,porchegaraté

aqui.Peloapoioincondicional,peloincentivojamaiscontestadoeportodoocarinho

demonstradoapesardasnoitesmaldormidasedosdesgastesgeradospelavida

acadêmica.

AgradeçoaosmeustiosHermeseMônica,pelachancequemederam,pela

totalconfiançadepositadanumapessoaquemalconheciameportodoacarinho

dado.Semelesdificilmenteeuestariaaqui.AElayne,minhanamorada,quemeacompanhoudurantetodaessareta

final,meajudouemeincentivouacontinuarmesmonosmomentosmais

complicados.Foigraçasaoconvitedelaparaparticipardeumaequipedejogosque

comeceiminhatrajetóriaechegueiatéaqui.

ARicardoLessa,quemedeuminhaprimeiraoportunidadenavida

profissionaleapostounomeupotencial.Graçasaele,deiomeuprimeiropassona

carreiradeprogramadornaEducandus,ondecultiveigrandesamizadesládentro.

AÁlvaro,LuisHenrique,Valeska,PriscillaeCynthia,minhagratidãoportodo

otempodeconvivêncianaEducandusepelaamizadequeseiquelevareicomigo

paraorestodavida.

AMaurícioCarvalhoeaPauloSouzadaPlaylore,pelagrandeoportunidade

dada.Semelesnãoestariadesenvolvendoesteprojeto.Juntamentecomeles,meus

agradecimentosaAntônio,NetoeLeozitopelapaciênciaepelaajudaprestadaem

todootempoquetrabalhamosjuntoseparaBruce,Leanndro,Rael,Makako,

Gustavo,Totonho,Juliano,Dalton,Shushuentreoutrosquetestaram,sugeriram,

opinaramoucolaboraramdealgumamaneiraparaqueoprojetosedesenvolvesse

maisecommaiorqualidade.Alémdegrandesprofissionais,sãoexcelentespessoas

eótimosamigos.

UmagradecimentomaisdoqueespecialaopessoaldoChina48:Mário,

Formiga,Apebão,Peter,JP,LhamaeRiffa.Amigosdecoraçãoepessoasdegrande

qualidadequevivenciaramcomigováriosmomentosdavidaacadêmicaena

amizadequetodosnóscompartilhamos.

Efinalmente,aSílvioMeloportodaaajudaedisposiçãodadanessetrabalho.

Page 5: Framework para geração de personagens humanóides 3D para ...cin.ufpe.br/~tg/2009-2/jrpn.pdf · parcial para obtenção do Grau de Bacharel em Ciência da Computação. ... Um agradecimento

5

Resumo

Omercadodejogoscomputacionaisestácadavezmaisexigenteemrelação

àqualidade.Cenáriosrealistasepersonagenscomcaracterísticascomportamentais

diferenciadasestãoemalta,oqueaumentadrasticamenteaquantidadedetrabalho

paraoartista3D.Emjogosquepossuemdezenasdepersonagensdistintos,a

construçãodosmesmospelosartistaslevamuitotempopeloaltonívelde

complexidadeoque,paraasempresasdoramo,acarretaemumprazomaiorou

mesmoumadiamentoparaaentregadoprodutofinal.Essetrabalhotemcomo

objetivoaconstruçãodeumframeworkparacriaçãoeexportaçãodepersonagens

emarquivoColladaparaqueosmesmossejamimportadosparagames

computacionais.

Palavras‐chave:Jogos,Modelos3D,PersonagensHumanóides,Criaçãode

Personagens,ExportaçãodePersonagens,Modelagem,Texturização,Interpolação

Parametrizada.

Page 6: Framework para geração de personagens humanóides 3D para ...cin.ufpe.br/~tg/2009-2/jrpn.pdf · parcial para obtenção do Grau de Bacharel em Ciência da Computação. ... Um agradecimento

6

Sumário

1.INTRODUÇÃO ..................................................................................................................................81.1MERCADODEJOGOS .................................................................................................................................... 81.2MOTIVAÇÃO................................................................................................................................................101.3OBJETIVOEESTRUTURAGERAL ..................................................................................................................10

2.CRIAÇÃODEPERSONAGENS3D ................................................................................................ 122.1MODELAGEM ..............................................................................................................................................12

2.1.1ConstruçãoporGeometriaSólida ............................................................................................. 132.1.2NURBS .................................................................................................................................................. 142.1.3ModelagemPoligonal .................................................................................................................... 15

2.2ANIMAÇÃO ..................................................................................................................................................162.2.1Keyframing ......................................................................................................................................... 162.2.2Rotoscopia .......................................................................................................................................... 172.2.3MotionCapture ................................................................................................................................ 18

2.3TEXTURIZAÇÃO............................................................................................................................................192.3.1ColorMapping .................................................................................................................................. 202.3.2BumpMapping ................................................................................................................................. 212.3.3NormalMapping.............................................................................................................................. 222.3.4DisplacementMapping ................................................................................................................. 232.3.5Lightmapping .................................................................................................................................... 24

3.GERAÇÃOAUTOMÁTICADEPERSONAGENS3D..................................................................... 253.1GERAÇÃOPORPRESETS ..............................................................................................................................253.2EXTRAÇÃOAUTOMÁTICAPORFOTOGRAFIA..............................................................................................263.3MANIPULAÇÃODEBONES ..........................................................................................................................283.4INTERPOLAÇÃOPORPARAMETRIZAÇÃO ....................................................................................................30

4.GCM–GAMECHARACTERMAKER ........................................................................................... 324.1FACEMAKER................................................................................................................................................32

4.1.1Ediçãodegeometria....................................................................................................................... 334.1.2Encaixedetextura ........................................................................................................................... 344.1.3Filtragemdatextura....................................................................................................................... 36

4.2BODYMAKER...............................................................................................................................................394.3TORQUEGAMEENGINE .............................................................................................................................39

5.AVALIAÇÃOERESULTADOS ....................................................................................................... 415.1AVALIAÇÃODEDESEMPENHO ....................................................................................................................415.2CONSIDERAÇÕESSOBREOENCAIXEDETEXTURAPORPONTOSDECONTROLE .......................................415.3JUSTIFICATIVAPARATRATAMENTODEIMAGEMNOFRAMEWORK..........................................................425.4INSERÇÃODOMODELOGERADOEMUMJOGOEXEMPLO ........................................................................42

6.CONSIDERAÇÕESFINAIS ............................................................................................................. 447.REFERÊNCIAS ................................................................................................................................ 46

Page 7: Framework para geração de personagens humanóides 3D para ...cin.ufpe.br/~tg/2009-2/jrpn.pdf · parcial para obtenção do Grau de Bacharel em Ciência da Computação. ... Um agradecimento

7

ListadeFiguras

Figura1.Crescimentodefaturamentoevendasnomercadodegames ......................... 8

Figura2.Distribuiçãodejogadoresdeconsole/PC ................................................................ 9

Figura3.ExemplodemodelagemcomCSG..............................................................................13

Figura4.SuperfícieconstruídacomNURBS..............................................................................14

Figura5.Malhadacabeçaumpersonagem3D.......................................................................15

Figura6.Animaçãodeummodeloatravésderotoscopia...................................................18

Figura7.AnimaçãodeummodeloatravésdeMotionCapture ........................................19

Figura8.CubosofrendoaplicaçãodeColorMapping ...........................................................20

Figura9.Umalaranja,seurespectivoBumpMapeoresultadofinal .............................21

Figura10.BumpMap(àesquerda)eNormalMap ................................................................22

Figura11.Amalhaoriginal(cima),oDisplacementMap(meio)eoresultadofinal ..23

Figura12.Lightmaputilizadonailuminaçãodeumasala....................................................24

Figura13.GeradordepersonagemdeLineageIIcomaplicaçãodepresets ................26

Figura14.DemonstraçãodoAvMarker.Foto(esquerda)eacabeçagerada. ..............28

Figura15.GeradordepersonagemdeTopSpin3commanipulaçãodebones ...........29

Figura16.GeradordepersonagemdeOblivioncominterpolaçãoparamétrica.........31

Figura17.MododeEdiçãodeGeometria .................................................................................34

Figura18.MododeEncaixedeTextura .....................................................................................36

Figura19.MododeFiltragem–ReduçãodeBrilhoeSombreamentoExcessivo ........37

Figura20.MododeFiltragem–ImagemNormal ...................................................................38

Figura21.MododeFiltragem–RostoRecortadoeEsticadoparaEncaixe ...................38

Page 8: Framework para geração de personagens humanóides 3D para ...cin.ufpe.br/~tg/2009-2/jrpn.pdf · parcial para obtenção do Grau de Bacharel em Ciência da Computação. ... Um agradecimento

8

1.Introdução

1.1Mercadodejogos

Osjogoscomputacionaisestãoemaltanocenárionacionalemundial.Apesar

decrise,omercadodegamescontinuasólidoe,comoadventodenovastecnologias

para hardware e software, a expectativa é que os futuros lançamentos levemaos

consumidores inovações tanto na jogabilidade quanto na qualidade gráfica dos

cenáriosedospersonagens.

A ESA, Entertainement Software Association, divulga anualmente uma

pesquisa voltada ao crescimento e ao desenvolvimento de softwares de

entretenimento chamada ESA Facts. Segundo a ESA Facts 2009, o mercado

americano,umdosmaisafetadospelacrisemundial,obteveumcrescimentode22%

nasvendascomumtotaldemaisde11bilhõesdedólaresfaturadosemaisde200

milhõesdeunidadesvendidasparaconsolesouPC’s[ESA09].

Figura1.Crescimentodefaturamentoevendasnomercadodegames

Page 9: Framework para geração de personagens humanóides 3D para ...cin.ufpe.br/~tg/2009-2/jrpn.pdf · parcial para obtenção do Grau de Bacharel em Ciência da Computação. ... Um agradecimento

9

TambémsegundoaESAFacts,osgamespossuemadeptosentrequasetodas

as faixas etárias e os dois gêneros. 25%dos jogadores estão acimados 50 anos e

43%dosjogadoresonlinesãomulheres.Outracaracterísticamarcanteapresentada

équeamédiatempodevidadeumjogadoréde12anos[ESA09].

Figura2.Distribuiçãodejogadoresdeconsole/PC

Page 10: Framework para geração de personagens humanóides 3D para ...cin.ufpe.br/~tg/2009-2/jrpn.pdf · parcial para obtenção do Grau de Bacharel em Ciência da Computação. ... Um agradecimento

10

1.2Motivação

Comoadventodosjogos3Dnocotidianodosgamersháalgunsanosatrás,a

cobrançapornovidadestambémcresceu.Paraogameplaysurgiramnovossistemas

decombatedinâmicos,gerenciamentocomplexodegrupos,sistemasdecooperação

em tempo real, novas interações musicais, maior interferência do ambiente na

jogabilidade,entreoutras.

Ovisualdos jogos,coma rápidaevoluçãodasplacasgráficas, foielevadaa

uma nova dimensão. Iluminação e sombreamento em tempo real, aplicação de

shaderspararenderizaçãodeefeitosmaiscomplexos,personagenscomaltograude

realismosãoapenasumapequenaparceladoquãocomplexoseelaboradosestãoos

games.

1.3Objetivoeestruturageral

Ofocodessetrabalhoestávoltadoparaacriaçãodepersonagenshumanos

realistas para jogos computacionais. Esse tipo de personagem está presente em

muitos títulos conhecidos atualmente de grandes empresas e aplicado nos mais

diversostiposcomoaventura,acão,esportes,FPS,RPGeetc.

Acriaçãodeumpersonagemvariadeacordocomoníveldevisualproposto

pelojogocomotambémpelopapelqueelerepresenta,ouseja,quantomaiorfora

suaimportâncianoenredodojogo,pode‐selevarmaistemponaconstrução.Emum

jogocomgráficosmaismodestosépossívelcriarumpersonagememumasemana

de trabalhoporémesse tempopode ficarentre3a5vezesmaiordependendoda

complexidade das texturas e próprio personagem em si. Quando os produtos são

baseadosemfilmesoufamososdomundoreal,osdetalhessãoaindamaisexigidos

e qualquer falta percebida pode torná‐lo suscetível a críticas, acarratendo mais

tempo na construção. Como um jogo completo, com um tempo razoável de

desenvolvimento,contémdezenasdepersonagens,otempogastoparaaprodução

detodoopipelinepodelevarmeses.

Page 11: Framework para geração de personagens humanóides 3D para ...cin.ufpe.br/~tg/2009-2/jrpn.pdf · parcial para obtenção do Grau de Bacharel em Ciência da Computação. ... Um agradecimento

11

Com estas orientações em mente, este estudo oferece uma abordagem

construída para agilizar a criação de personagens humanos através de barras de

controle que gerenciam os vários parâmetros que constituem um corpo humano

como altura, largura, formato da cabeça entre outros. A partir dos parâmetros

modificadospelousuário,éexportadoummodelonoformatoCollada,quepodeser

utilizado e posteriormente modificado nos mais conhecidos softwares de

modelagem do mercado como Maya e 3DStudio e importado para qualquer

ambiente de jogo. Esse trabalho ainda provê uma ferramenta chamada GCM que

implementaastécnicaspropostasnestapesquisa.

Nocapítulo2édescritooprocessotradicionaldecriaçãodeummodelo3D

parajogoseseusprincipaispassos.Nocapítulo3sãodescritasastécnicasutilizadas

pelos games para a geração automática de personagens a partir do usuário. No

capítulo 4, é descrito o produto gerado pela pesquisa e as técnicas utilizadas. No

capítulo5sãodescritasasconclusõesdapesquisabemcomofuturasmelhoriaspara

oframework.

Page 12: Framework para geração de personagens humanóides 3D para ...cin.ufpe.br/~tg/2009-2/jrpn.pdf · parcial para obtenção do Grau de Bacharel em Ciência da Computação. ... Um agradecimento

12

2.CriaçãodePersonagens3D

Oprocessodecriaçãodeumpersonagempara jogosexigeconhecimentoe

tempo. É necessário conhecimentos em modelagem, animação, iluminação e

animaçãoalémdenoçõesemanatomia,perspectivaepintura[Rosa].Aindasegundo

Rosa, para executar a criação também é necessário domínio em software’s

especializadosnesse tipodeatividadecomo3DMax,MayaouBlender,que sãoos

maisconhecidosnomercado[Rosa].

Existemváriasetapasparaacriaçãodeumpersonagemtridimensionalassim

como diferentes técnicas para cada tarefa. Nesta pesquisa, são citadas as três

principaisetapasdecriação,deformaresumida,esuastécnicasmaisconhecidas.As

descriçõesdosmétodosdemodelagemedossoftwarestemcomoidéiadesenvolver

comparações de tempo de construção e qualidade dos modelos com o produto

geradoporestapesquisa.Essacomparaçõesserãodescritaseinformadascommais

detalhesnocapítulo4.

2.1Modelagem

A modelagem é a etapa da construção do objeto real no mundo virtual

[Cal06]. Um modelo 3D é uma representação de um objeto tridimensional, do

mundo realounão,geralmenteutilizandoumacoleçãodepontos,ouvertices,no

espaço 3D. Esses pontos são conectados através de polígonos onde osmais tipos

maisutilizadossãoostriânguloseosretângulos.

Paradarformaaumobjetodesejado,éprecisocomeçardeumaformainicial

e, de preferência, simples, para, em seguida, estendê‐la com mais polígonos,

modelando‐anadefiniçãodesejada.

Existem vários tipos de classificação de modelagem 3D tanto no meio

acadêmicoquanto foradele.A seguir, sãodescritasasprincipais técnicas segundo

Calife,CoimbraeToscano[Cal06]

Page 13: Framework para geração de personagens humanóides 3D para ...cin.ufpe.br/~tg/2009-2/jrpn.pdf · parcial para obtenção do Grau de Bacharel em Ciência da Computação. ... Um agradecimento

13

2.1.1ConstruçãoporGeometriaSólida

ConhecidacomoCSG(ConstrutiveSolidGeometry,eminglês),essatécnicaé

baseada na utilização de poliedros básicos tais como cubos, esferas e pirâmides

para, em seguida, serem aplicadas operações sobre eles como união, interseção,

adiçãoousubtração.

A vantagem dessa técnica é a preservação dos modelos originais que

compõemaestruturafinaletodasasoperaçõesrealizadassobreospoliedrosiniciais

livrando a estrutura final de qualquer ambiguidade [Fog07]. Em contrapartida é

difícilseureuso,poisageometriafinalnãoéarmazenada,tornandodifícilseuacesso

pelossoftwaresdemodelagemmaiscomuns.[Miya08]

Figura3.ExemplodemodelagemcomCSG

Page 14: Framework para geração de personagens humanóides 3D para ...cin.ufpe.br/~tg/2009-2/jrpn.pdf · parcial para obtenção do Grau de Bacharel em Ciência da Computação. ... Um agradecimento

14

2.1.2NURBS

Doinglês,NonuniformrationalB‐Spline,amodelagemNURBStemcomobase

a descrição matemática de superficies através de pontos de controle. Segundo

Minetto, NURBS possui a liberdade de representar tanto formas analíticas quanto

formaslivrescomocarros,armáriosentreoutros[Min03].

Avantagemdessatécnicaéafacilidadederepresentaçãodesuperficiescom

grandequalidade.Ograudequalidadeatingidoporessatécnicaémuitoelevadoe,

por conseqûencia, utilizado em vários segmentos da indústria de produtos e no

cinema[Min03].Comodesvantagem,époucoutilizadonosgames,pelosimplesfato

dequeosalgoritmosderenderizaçãoparajogostridimensionaisimplementadosnas

placas de video usem como base a geometria dosmodelos, que não é explorada

pelosNURBS.

Figura4.SuperfícieconstruídacomNURBS

Page 15: Framework para geração de personagens humanóides 3D para ...cin.ufpe.br/~tg/2009-2/jrpn.pdf · parcial para obtenção do Grau de Bacharel em Ciência da Computação. ... Um agradecimento

15

2.1.3ModelagemPoligonal

Amodelagempoligonalrepresentaumaoumaissuperficiesatravésdeuma

malhadepolígonos[Cal06]normalmentequadriláterosoutriângulos.Umobjeto3D

possuiumaoumaismalhas (mesh,em inglês)ecadamalha representaumaparte

desseobjeto.Emalgunscasos,amalhapodesertodooobjeto.

Figura5.Malhadacabeçaumpersonagem3D

As informações contidas em um modelo com baseado em modelagem

poligonalsão:osvérticesquecompõemtodooespaçotridimensionaldomodeloe

asn‐tuplasquerepresentamospolígonosdenlados,ondecadaelementodatuplaé

Page 16: Framework para geração de personagens humanóides 3D para ...cin.ufpe.br/~tg/2009-2/jrpn.pdf · parcial para obtenção do Grau de Bacharel em Ciência da Computação. ... Um agradecimento

16

oíndicedeumvérticedoespaço3D.Normalmenteastuplaspossuemtamanho3ou

4, indicando a constante frequência de triângulos ou quadrados na formação das

malhas.

Com essa técnica é possível ter ummaior controle sobre a qualidade dos

modelos gerados através da quantidade de polígonos usada na construção. Com

maispolígonos,épossívelrepresentarsuperficiesmaiselaboradas,commaiscurvas

e detalhes, gerando ummodelo de ótima qualidade [Sgarbi]. Em compensação, o

custocomputacionalémaior,acarretandomaistemponarenderizaçãodomodeloe

nacargaemtempodeexecuçãodeumjogo.

Essa técnica é amais utilizada na geração de cenários e personagens para

jogose,porisso,osmodelosdevemterumcuidadoespecialnasuaconstrução,pois

devem ter uma boa qualidade sem gerar um alto custo computacional para o

usuário [Bat00][Clua05]. Para isso são utilizadas várias técnicas de otimização e

texturizaçãoparaaparentarumamaiorqualidade.Maisdetalhessobretexturização

naseção2.3.

2.2Animação

Aanimaçãoconsisteemaplicarmovimentosaumobjetotridimensional.Ao

términodeumamodelagem,dequalquerumdostiposcitadosacima,ousuárioterá

ummodeloestático,semqualquermovimentoeastécnicasdeanimaçãosão

utilizadasparadarasensaçãodemovimentoedemaiorinteraçãodomodelo.As

técnicasdescritasabaixoestãodeacordocomBattaiola[Bat00].

2.2.1Keyframing

A primeira técnica de animação utilizada na história dos games foi o

keyframing,ouanimaçãoporquadros‐chave.Essa técnica surgiu comosdesenhos

Page 17: Framework para geração de personagens humanóides 3D para ...cin.ufpe.br/~tg/2009-2/jrpn.pdf · parcial para obtenção do Grau de Bacharel em Ciência da Computação. ... Um agradecimento

17

animados,sendoadaptadaparajogosem2Deatualmenteéutilizadatambémnos

jogostridimensionais.

O keyframing consiste em uma animação feita a partir de keyframes

(quadros‐chaveeminglês),ondecadaquadrocontémumaposição‐chavenecessária

para a execução da animação[Louro]. Uma vez determinadas todas as poses do

personagem para animação, é feita uma interpolação entre os quadros para o

modelo transmitir a sensação demovimento. É possívelmanipular cada keyframe

em separado, modificando iluminação, posicionamento e rotação, entre outros

fatores, e cada mudança feita em qualquer um dos quadros modificará toda a

execuçãodaanimação.

Apesar da simplicidade e do potencial dessa técnica, segundo Silva e

Cavalcanti [Silva96], o keyframing torna‐se um problema quando se deseja

representar com perfeiçao movimentos complexos do corpo humano. Segundo

Battaiolaetal,oanimadornecessitariadeumconhecimentomuitograndesobrea

movimentaçãoetodaaanatomiadoprocessoe,aindaassim,oresultadopodenão

saircomoodesejado[Bat00].

2.2.2Rotoscopia

A rotoscopiaéumatécnicadeanimaçãoondeusamosumasituaçãocriada

nomundo real como referência.Ao invés de aplicar diretamente em cadaquadro

cadaposedomovimento,arotoscopiausacomoreferênciaumvideocontendouma

filmagemrealdaanimaçãodesejada.Dessevideosãoextraídosváriosquadrosem

intervalos regularesondeoanimadorpodeusá‐losde referênciaparadesenvolver

suaanimaçãoeaplicaroutrastécnicascomookeyframing[Bat00].

Essa técnica é melhor aplicada em animações de personagens humanos

quando se deseja representar movimentos mais elaborados, difíceis de prever

utilizandoapenasokeyframing.

Page 18: Framework para geração de personagens humanóides 3D para ...cin.ufpe.br/~tg/2009-2/jrpn.pdf · parcial para obtenção do Grau de Bacharel em Ciência da Computação. ... Um agradecimento

18

Figura6.Animaçãodeummodeloatravésderotoscopia

2.2.3MotionCapture

MotionCaptureéumatécnicaque tevesuaorigemrelacionadaaocinema,

segundoSilvaeCavalcanti[Silva96].Essatécnicamodernacapturamovimentoscom

alto grau de realismo, através do uso de vários aparelhos eletrônicos e

eletromagnéticos.

OMoCap(abreviaçãodeMotionCapture)utilizaumsistemadecâmeraspara

filmarumapessoaexecutandoomovimentodesejadoparaanimaropersonagem.A

pessoa filmada por esse sistema utiliza uma roupa especial, contendo vários

sensores eletromagnéticos que são acoplados em várias partes do seu corpo. A

função desses sensores é mapear, de maneira automática, toda a movimentação

capturadapelas câmerasemummodelo3Dpreviamenteproduzido [Bat00].Além

de câmeras e sensores, segundo Battaiola et al, outros equipamentos podem ser

Page 19: Framework para geração de personagens humanóides 3D para ...cin.ufpe.br/~tg/2009-2/jrpn.pdf · parcial para obtenção do Grau de Bacharel em Ciência da Computação. ... Um agradecimento

19

utilizados na execução dessa técnica como aparelhos em infravermelho e

sincronizadores[Bat00].

A vantagem dessa técnica é a alta qualidade da animação produzida,

podendo reproduzir com fidelidade, movimentos mais suaves e naturais, que

dificilmente seriam produzidos com rotoscopia e keyframing. Em contrapartida, o

custo pra produzir animações com MoCap é muito alto em comparação com as

demaistécnicasemfunçãodaaquisiçãodosdispositivosnecessárioscomocâmeras

esensores.

Figura7.AnimaçãodeummodeloatravésdeMotionCapture

2.3Texturização

Atexturizaçãoéumatécnicadesenvolvidaparadaraomodelo3Dumanova

visualização, fazendo‐oparecermaispróximodorealparaousuário [Pozzer07]. A

unidade básica do processo de texturização é a textura que é uma imagem

bidimensional aplicada sobre um polígono pertencente a um objeto 3D [Evan07].

Emboraamaioriadastexturasutilizadassejam2D,existemtambémastexturasem

1Deem3D.

Atextura,quandoaplicadasobreomodelo,emconjuntocoma iluminação

tornaomodelotridimensionalmaisrealistaecommaioraceitaçãoparaousuário.

Page 20: Framework para geração de personagens humanóides 3D para ...cin.ufpe.br/~tg/2009-2/jrpn.pdf · parcial para obtenção do Grau de Bacharel em Ciência da Computação. ... Um agradecimento

20

Todos os jogos fazem uso de texturas para caracterizar não apenas seus

personagens,comotambémoscenários,itenseetc.

Nos jogosmais atuais, a texturas não são aplicadas isoladamente sobre os

modelos3Dparareplicara informaçãobináriasobreasfaces.Outrastexturascom

diferentes aplicações também podem ser utilizadas sobre o mesmo modelo,

agregando novas características à visualização final para torná‐lo mais realista. A

seguir são descritas algumas das aplicações mais difundidas para as texturas no

processodecriaçãodepersonagens.

2.3.1ColorMapping

OColorMappingutilizaatexturaparamodificarapropriedadedosmateriais,

modificandoacordecadapolígonodomodelo3D [Camozz07].Éaaplicaçãomais

básicadatexturização,ondeaimageméreplicadadiretamentesobreasuperfíciedo

objeto, dando aomesmo, a aparência da imagem contida na textura. Também é

conhecidacomoMaterialMappingouDiffuseMapping.

Figura8.CubosofrendoaplicaçãodeColorMapping

Page 21: Framework para geração de personagens humanóides 3D para ...cin.ufpe.br/~tg/2009-2/jrpn.pdf · parcial para obtenção do Grau de Bacharel em Ciência da Computação. ... Um agradecimento

21

2.3.2BumpMapping

Para um usuário normal que não está relacionado com a área, o bump

mappingpodeperfeitamentepassarinvisívelporseusolhos.Essatécnicanãoaltera

diretamenteacordopontodasuperfíciemas,emconjuntocomoColorMappinge

outras técnicasde texturizaçãoe iluminação,oBumpMappingadicionaummaior

realismoaoobjetosemnecessitardemodificaçõesemsuageometria.

O BumpMapping modifica a direção dos vetores normais dos vértices do

objeto [Pozzer07]. Como os vetores normais são utilizados na iluminação dos

objetos,entãopode‐seafirmarqueoBumpMappingmodificaareflexãodosraios

deluznasuperfíciedoobjeto3D.

Essatécnicaéaplicadagraçasaobumpmap(mapadeperturbação,ininglês),

umatexturaempretoebrancoquetambémémapeadasobreoobjeto.Porémas

cores dos pixels da textura determinam a perturbação que cada vetor normal do

vértice da superfície irá sofrer na renderização [Pozzer07]. Quanto mais escuro,

maioréaperturbaçãosofrida.

Agrandevantagemdessatécnicaéafácilcriaçãoderugosidadesnoobjeto

sem precisar incrementar a quantidade de polígonos no próprio objeto havendo,

assim,umganhodeperformanceapesardamaiorqualidadeaparente.

Figura9.Umalaranja,seurespectivoBumpMapeoresultadofinal

Page 22: Framework para geração de personagens humanóides 3D para ...cin.ufpe.br/~tg/2009-2/jrpn.pdf · parcial para obtenção do Grau de Bacharel em Ciência da Computação. ... Um agradecimento

22

2.3.3NormalMapping

O normal mapping também é uma técnica que cria irregularidades na

superfície do objeto. Porém, ao contrario do bump map, a textura utilizada no

processo,conhecidocomonormalmap,nãoéemtonsdecinzamasemummapade

RGB[Camozz07].

A vantagem do normal map em relação ao bump map é a eficiência na

aquisiçãodas informações.Enquantoobumpmappingcalculaanormalatravésde

uma curva de nível baseada no tom de cinza do pixel, o normal map adquire a

informaçãodiretamentenatexturasemnenhumcálculoadicional,poisocanalRGB

émapeadodiretamentenoespaçoXYZ[Evan07].

O normal mapping é capaz de gerar as saliências com mais suavidade e

qualidadepois,enquantoexistem256variaçõesdetonsdecinza,aotodosãomais

de16milhõesdevariaçõesdeRGB.

Figura10.BumpMap(àesquerda)eNormalMap

Page 23: Framework para geração de personagens humanóides 3D para ...cin.ufpe.br/~tg/2009-2/jrpn.pdf · parcial para obtenção do Grau de Bacharel em Ciência da Computação. ... Um agradecimento

23

2.3.4DisplacementMapping

Comoastécnicascitadasacima,oDisplacementMappingtambémtemcomo

finalidade gerar imperfeições e saliências na superfície dos objetos 3D, porem ao

contrarios dos demais, essa técnica modifica diretamente a geometria do objeto

[Camozz07].

A textura, como no Bump Mapping, é em tons de cinza e cada pixel

determinaoquãodistanteéopontoemrelaçãoaoestadooriginal[Dogg00].Nesse

caso,quantomaisclaroforopixel,maisdistanteopontoseráe,portanto,maioréa

modificaçãonaquelelocal.

Avantagemdessatécnicaéarealidadeapresentada.AocontrariodeNormal

Mapping e BumpMapping que constroem uma visao diferente do objeto para o

usuário, o Displacement Mapping utiliza a textura para modificar a estrutura da

geometriae,porconsequência,paradarumaaparênciadiferenciadasemnenhum

artifício. Em compensação, o custo computacional no geral é um pouco maior

devidoàgeraçãodenovospolígonosparaseremrenderizados.

Figura11.Amalhaoriginal(cima),oDisplacementMap(meio)eoresultadofinal

Page 24: Framework para geração de personagens humanóides 3D para ...cin.ufpe.br/~tg/2009-2/jrpn.pdf · parcial para obtenção do Grau de Bacharel em Ciência da Computação. ... Um agradecimento

24

2.3.5Lightmapping

A iluminação de um objeto é um parâmetro bastante considerado no

momento em que o usuário visualiza um cenário tridimensional. Os efeitos da

iluminaçãopermitemcomqueousuáriovisualizecomclarezaosobjetosqueestão

na cena bem como suas respectivas posições [Hey02]. Uma cena bem iluminada

podepassarumamaiorsensaçãoderealismo.

Paracriarosefeitosde iluminação,pode‐seutilizardiversosalgoritmosque

causam grande impacto, porém possuem um alto custo computacional. Para

aplicações em tempo real, como os jogos, o cálculo de iluminação pode trazer

consequências no tempo de resposta do programa [Hey02]. Uma alternativa de

baixocustoéousodeumatécnicadetexturizaçãochamadaLightmapping.

A técnica utiliza uma textura conhecida como lightmap que mostra a

distribuiçãoda iluminaçãoemumacenaouemumobjeto. Emcompensaçãoessa

técnicanãoécapazdegerarsombradinâmicaemtemporealcomona iluminação

original,obrigandoousuárioautilizarumaoutratécnicaparataltarefa.

Figura12.Lightmaputilizadonailuminaçãodeumasala

Page 25: Framework para geração de personagens humanóides 3D para ...cin.ufpe.br/~tg/2009-2/jrpn.pdf · parcial para obtenção do Grau de Bacharel em Ciência da Computação. ... Um agradecimento

25

3.Geraçãoautomáticadepersonagens3D

Nessecapítulo,serãomostradasasdiferentestécnicasutilizadasnageração

automática de personagens 3D para jogos, sem necessidade de conhecimento de

modelagem, exemplificando a criação de cabeças. Além disso, será detalhada a

técnica proposta nessa pesquisa, podendo ser comparada com as demais. Para

descrever a classificação abaixo, foram estudados vários jogos 3D que contem

geradores de personagens com diferentes características. Algumas das técnicas

abaixo são conhecidas na literatura e outras foram incluídas neste trabalho. As

plataformasutilizadasnesseestudo,alémdoPC,foramoPlaystation3eoXbox360,

consolesdeúltimageraçãocomumagrandegamade jogosegrande impactonas

vendas.

3.1Geraçãoporpresets

Omodomaisfácildecriaçãodepersonagens,tantoacabeçaquantoocorpo,

éatravésdegeraçãopormodelospré‐fabricados,conhecidostambémcomopresets.

Éummétodomuitodifundido,principalmenteno iníciodaexplosãodos jogos3D,

queéutilizadoatéhojepelapraticidadenaexecução.

Essa técnica utiliza ummodelo base, onde a partir dele émontado todo o

personagem. Em cima dessemodelo base, o usuário pode escolher cada umadas

características de seu personagem como olhos, nariz, boca, cabelo, roupa entre

outros,atravésdeumconjuntolimitado,fabricadoduranteaproduçãodojogo,de

modelos,geradospormodelagempoligonal,representandoessacaracterísticas.

Avantagemdessatécnicaéafacilidadeparaimplementaraabordagem.Com

umconjuntofechadodemodelosparamoldarumpersonagem,oprogramadortem

poucadificuldadeparadesenvolveroprocessodecriação,apenasprecisandodara

liberdade suficiente ao usuário para escolher os presets desejados e aplicá‐los no

modelobase.Adesvantageméapoucavariedadedepersonagenspossíveisnojogo.

Page 26: Framework para geração de personagens humanóides 3D para ...cin.ufpe.br/~tg/2009-2/jrpn.pdf · parcial para obtenção do Grau de Bacharel em Ciência da Computação. ... Um agradecimento

26

Emjogosmultiplayermassivos(conhecidoscomoMMO’s)nãoéincomumencontrar

doisoumaispersonagenscomasmesmascaracterísticas.Nessecasoasempresas

procuram investir em conjuntos cada vez maiores de presets ou adotar novas

abordagensdeconstruçãodepersonagem.LineageII,daempresaNCSoft,éumjogo

deRPGonlinemultiplayercujogeradordepersonagensébaseadoemaplicaçãode

presets. Cada raça disponível tem uma quantidade fixa de cabelos, olhos, cor de

cabelo e boca de no máximo cinco variações, ou seja, o jogo permite apenas

seiscentosevinteecincovariaçõesdepersonagem.

Figura13.GeradordepersonagemdeLineageIIcomaplicaçãodepresets

3.2Extraçãoautomáticaporfotografia

Um dos grandes desafios para a indústria de jogos e outras áreas de

entretenimentodigital,segundoShanet.al[Shan00],éacapacidadedeproverum

Page 27: Framework para geração de personagens humanóides 3D para ...cin.ufpe.br/~tg/2009-2/jrpn.pdf · parcial para obtenção do Grau de Bacharel em Ciência da Computação. ... Um agradecimento

27

rostodeumpersonagem3Dcomcaracterísticashumanascomgrandeaceitação.Se

o personagem em questão é, de alguma forma, conhecido pelo público, essa

aceitaçãoéaindamaispassíveldecríticas.

Umasoluçãorápidaadotadaparaesseproblemaéacriaçãodecabeçasde

personagensbaseadasemfotografias.Duasfotos,umadefrenteeaoutradeperfil,

sãoutilizadasparaextraçãodecaracterísticas fundamentaisnacomposiçãodeum

rostohumano,comoolhos,nariz,orelhas,bocaesobrancelhas,atravésdetécnicas

de processamento de imagens [Shan00]. Para gerar um personagem completo,

gera‐sea cabeçapara, em seguida, ser encaixadaemmodelo3Dpré‐fabricadode

umcorpointeiro.Outraaplicaçãoéousodafotoutilizadanageraçãocomotextura

porColorMapping.

Comospontoschavesextraídosdafototantofrontalquantolateralmente,é

possíveldeterminartodaasuperfície3Ddacabeça,alémdascaracterísticasfaciaisjá

citadas, e gerar, como resultado final, uma cabeça tridimensional com a malha

triangularizada,obtidademaneirasemelhanteàmodelagempoligonal,descritana

seção2.1.3.Avantagemdessatécnicaéapossibilidadequeojogadorpossuidecriar

umpersonagemcomacabeçaeorostoiguaisaele.Alémdisso,paraproduçãoem

série,criarpersonagensbaseadosemfotospodeacarretarumganhonotempode

desenvolvimento. Em contrapartida, a qualidade dos modelos gerados não é

garantidaeédiretamenteproporcionalàqualidadedafotoutilizadanaextraçãodas

características. Fotos commuita iluminação ou com baixa qualidade podem gerar

ruídonomodelofinal.

Um software que utiliza essa técnica, emparte, é o AvMarker da empresa

CyberExtruder.OCyberExtruderutilizaapenasumaúnicafoto,naposiçãofrontal,

paraaextraçãodascaracterísticasfaciais.Épossívelmanipularospontosdetectados

e as linhas entre esses pontos, dando uma maior liberdade ao usuário. Em

compensaçãoaausênciadafotolateralimplicaemumtamanhopadrãoparatodas

ascabeçasgeradas.Apartetraseiradacabeçaéummodelopré‐fabricado(preset)

queéencaixadocomapartefrontal,geradapelosoftware.

Page 28: Framework para geração de personagens humanóides 3D para ...cin.ufpe.br/~tg/2009-2/jrpn.pdf · parcial para obtenção do Grau de Bacharel em Ciência da Computação. ... Um agradecimento

28

Jogosqueutilizamessaferramentacomoumasoluçãodiretaparaacriação

depersonagensnãopossuemumaltoimpactonovisual,porémoresultadopodeser

satisfatóriodeacordocomapropostadomesmo.

OSecondLife,criadopelaLindenLabs,éumjogoqueutilizaoAvMarkerpara

criação de seus personagens. O foco deste game são as interações sociais dos

diversosjogadoresespalhadospelainternet,emummundovirtual,emumasériede

atividades como esportes, shows, baladas, negócios, relacionamentos e muitos

outros.ComooSecondLifeexigeumademandamaiornapartederedeeseufocoé

voltado para a interatividade, o uso de personagens criados por extração de

fotografias é uma solução prática, com menor custo computacional e abre a

possibilidadeparaojogadorcriarpersonagenscomoprópriorosto,semnecessitar

deconhecimentoemmodelagem.

Figura14.DemonstraçãodoAvMarker.Foto(esquerda)eacabeçagerada.

3.3Manipulaçãodebones

Ummodelo 3D não é constituído apenas de vertices e polígonos. Existem,

internas à suamalha, estruturas não‐renderizáveis chamadasbones.Osbones são

Page 29: Framework para geração de personagens humanóides 3D para ...cin.ufpe.br/~tg/2009-2/jrpn.pdf · parcial para obtenção do Grau de Bacharel em Ciência da Computação. ... Um agradecimento

29

responsáveispelasarticulaçõesdosmodelos,exercendoinfluêncianosvérticesmais

próximos [Oga03], ou seja, se a posição de um bone é alterada, os vértices

influenciadostambémsãodeslocados.

Graças a essa propriedade, os bones podem ser utilizados para realizar

alteraçõesnaestruturadeummodelo3D.Épossívelaplicaroperaçõesderotação,

translação e escala em um bone e, consequentemente, rotacionar, transladar e

escalonarpartesespecíficasdeummodelo.Avantagemdessa técnicaéummaior

controle sobre as alterações exercidas, principalmente pequenos detalhes, porém,

paraalteraçõesmaisgerais,essatécnicatendeasermaistrabalhosa.

O TopSpin 3, da empresa PAM Development, é um jogo de tênis para o

console Xbox 360, que implementa um gerador de personagens baseado em

manipulação de bones. Na parte facial, o usuário pode manipular as diversas

articulaçõesexistentesnacabeça,esculpindooudeformandoorostoconformesua

vontade. Na parte corporal, é possível deixar o personagemmais alto ou baixo e

maislargooumaismagro,atravésdaoperaçãodeescalasobreosbonesdotóraxe

daspernas.

Figura15.GeradordepersonagemdeTopSpin3commanipulaçãodebones

Page 30: Framework para geração de personagens humanóides 3D para ...cin.ufpe.br/~tg/2009-2/jrpn.pdf · parcial para obtenção do Grau de Bacharel em Ciência da Computação. ... Um agradecimento

30

3.4Interpolaçãoporparametrização

Seo e Magnetat‐Thalmann descrevem uma maneira de geração de

personagensatravésdocontroledeparâmetrospassadospelousuário[Seo03].Essa

abordagemenvolveautilizaçãodeummodelobasequeseráomodelopadrãodo

processoemaisumasériedemodelosadicionais,todospré‐fabricados,quesofrerão

operaçõesdeinterpolaçãocomomodelobase.

Ainda segundo o método de Seo e Magnetat‐Thalmann, os modelos

adicionais são criados de forma semelhante ao modelo base, porém com uma

característica diferente. Essa característica pode ser controlada pelo usuário,

determinandooquãoessacaracterísticaemparticularirásemanisfestarnomodelo

base que é o centro dessa abordagem [Seo03]. Esse fator de interpolação está

contidoemumintervalodezeroacemporcento.

A interpolação é feita pela soma dos vértices do modelo base com a

diferençaentreospontoscorrespodentesdomodelobaseedomodeloadicionale

essa diferença é multiplica pelo fator de interpolação. Quanto maior for o fator,

maioréodeslocamentodosvérticesdomodelobaseparaaposiçãodosvérticesdo

modeloadicional.

Assim, com diferentes modelos adicionais e, consequentemente, com

diferentescaracterísticasmanipuláveis,aestruturafinaldomodeloérepresentada

pela soma das características, multiplicadas pelos seus respectivos fatores de

interpolação.

A vantagem desa abordagem é a visualização que o usuário possui das

alterações realizadas sobre o modelo base e pela facilidade em fazer grandes

alteraçõesnomodeloempoucotempo.Outrafacilidadeexpostaporestatécnica,é

a possibilidade de aplicar efeitos de envelhecimento no modelo onde o único

requisitoéqueosistemapossuaummodeloadicionalquerepresentaumapessoa

idosa.

Page 31: Framework para geração de personagens humanóides 3D para ...cin.ufpe.br/~tg/2009-2/jrpn.pdf · parcial para obtenção do Grau de Bacharel em Ciência da Computação. ... Um agradecimento

31

A empresa Inverse Solutions, desenvolveu um framework que implementa

essaabordagemparaacriaçãodecabeças3DchamadaFaceGen.OFaceGenpossui

umasériedecontroles,ondecadacontrolemanipulaumacaracterísticadiferentedo

rostocomonarizequeixo,atravésdesliders.Apósmodificaromodeloconformesua

vontade, o usuário pode exportar o resultado final em um arquivo com formato

padrãopara softwaresdeanimaçãoemodelagemcomooMayaeoBlender.Este

framework é utilizado em alguns jogos conhecidos do público como The Elder

Scrolls:Oblivion,daempresaBethesdaSoftworks.

Figura16.GeradordepersonagemdeOblivioncominterpolaçãoparamétrica

Page 32: Framework para geração de personagens humanóides 3D para ...cin.ufpe.br/~tg/2009-2/jrpn.pdf · parcial para obtenção do Grau de Bacharel em Ciência da Computação. ... Um agradecimento

32

4.GCM–GameCharacterMaker

Oestudodosprocessosdecriaçãodepersonagens3Dparajogoseasatuais

técnicasutilizadaspelosgeradoresdepersonagensnos jogosmodernos temcomo

objetivo a criação de um framework que atenda aos requisitos domercado para

geraçãodepersonagenshumanóideseque sejade fácil usoparapessoas comou

sem conhecimentos emmodelagem e animação. Para os usuários que conhecem

técnicasdemodelagemépossívelmodificarinternamenteaestruturadosoftwaree

aumentaracapacidadedegeraçãodomesmo.

O resultado final da pesquisa foi a elaboração de um projeto de software

apelidado de GCM (sigla de Game Character Maker). O GCM é dividido é dois

modulos:oFaceMaker,moduloresponsávelpelageraçãoetexturizaçãodecabeças,

eoBodyMaker,moduloresponsávelpelageraçãodocorpodopersonagem.Nafase

de implementação, o FaceMaker foi concluído e será descrito no decorrer do

capítulo e no capítulo seguinte com a amostra dos resultados e conclusões. O

BodyMaker também será descrito porém sem a análise de resultados devido ao

estadoatualdaimplementação.

4.1FaceMaker

OFaceMaker,moduloresponsávelpelageraçãodefacesecabeças,foi

desenvolvidoeimplementadoduranteotempodecorrentedestapesquisa.Este

módulofoiquebradoemtrêsdiferentessub‐módulos,devidoàsfuncionalidades

bemdefinidasediferenciadasdecadaumadelas.AstrêsdivisõesdoFaceMaker

serãodetalhadosabaixo.

Page 33: Framework para geração de personagens humanóides 3D para ...cin.ufpe.br/~tg/2009-2/jrpn.pdf · parcial para obtenção do Grau de Bacharel em Ciência da Computação. ... Um agradecimento

33

4.1.1Ediçãodegeometria

O primeiro sub‐módulo do FaceMaker é o responsável pela edição da

geometria do personagem. Nesta etapa, o usuário poderá definir o formato da

cabeça e as feições do rosto do personagem. O editor de geometria possui duas

janelas visíveis para o usuário: o visualizador principal e a janela de controle de

parâmetros.

Ajaneladeparâmetroscontémumasériedecontroles,quedeterminamos

diversosparâmetrospresentesnacabeçadopersonagem.Cadacontrolepossuium

slider, por onde o usuário através do mouse determina o valor do parâmetro

associadoaocontrole,umcampodetextoestáticomostrandoonomedocontrole

emquestãoeumcampodetextodinâmicoondeousuáriopoderápassaratravésdo

tecladoovalordoparâmetroentre0e100,semanecessidadedousodoslider.O

slidereocampodetextosãosincronizadosentresiecadamudançafeitaemumdos

componentesserárefletidanooutro.

A abordagem utilizada neste sub‐módulo é a interpolação por

parametrização,descritonaseção3.4.Nosgeradoresmaistradicionaisqueutilizam

essa técnica, cada slider é associado a um par de modelos adicionais cujas

características são completamente opostas como “modelo de nariz largo“(P1) e

“modelodenarizfino“(P2),porexemplo.Quantomaiorovalordoslider,maioréa

interpolaçãoparaomodeloadicionalcomacaracterísticamaisproeminentecomoo

P2,citadonoexemploanterior,emaioréainterpolaçãoparaomodeloadicionalde

menor expressão quando o valor do slider é baixo como P1. No FaceMaker, cada

slider é associado a apenas um único modelo adicional, ou seja, P1 e P2 estão

representados em controles diferentes e são independentes um do outro. Essa

abordagem foi utilizada para dar maior liberdade na edição damalha da cabeça.

Também na janela de controles, existe um botão para o usuário zerar todos os

parâmetrossemnecessidademanipularcadacontroleparaatingiroestadoinicial.

Ovisualizadorprincipalmostraaousuárioo resultado finalda cabeçaapós

seraplicadaainterpolaçãocomosparâmetrosdefinidospelousuário.Asmudanças

Page 34: Framework para geração de personagens humanóides 3D para ...cin.ufpe.br/~tg/2009-2/jrpn.pdf · parcial para obtenção do Grau de Bacharel em Ciência da Computação. ... Um agradecimento

34

de parâmetros feitas pelo mesmo são aplicadas diretamente no visualizador em

temporeal,sendopossívelverageometriatransitarentreosestadosantesedepois

da execução das mudanças dando ao usuário a sensação de transformação do

modelo.Casotodososparâmetrosestejamzerados,oresultadodovisualizadoréo

modelobasejácontidonopipelinedoframework.

Omodelobaseeosmodelosadicionaisforamcriadosapartirdemodelagem

poligonalconformedescritonaseção2.1.3.

Figura17.MododeEdiçãodeGeometria

4.1.2Encaixedetextura

O segundo sub‐módulo do FaceMaker é a parte de encaixe de textura.No

FaceMaker é possível o usuário aplicar uma foto qualquer como textura para a

cabeça.Comoasfotosemquestãopodemsertiradasdeváriosânguloseposições

diferentes,énecessárioqueousuáriotenhapoderparaencaixaratexturanacabeça

moldadadopersonagemapartirdealgunscontroles.

Essadivisãopossui4janelasvisíveiscommaisumaopcionalparaousuário:o

visualizadorprincipal,visualizadordeimagem,visualizadordeUVejaneladepontos

Page 35: Framework para geração de personagens humanóides 3D para ...cin.ufpe.br/~tg/2009-2/jrpn.pdf · parcial para obtenção do Grau de Bacharel em Ciência da Computação. ... Um agradecimento

35

de controle. O visualizador de deformação de textura é opcional e pode ser

ocultado.

Ovisualizadorprincipaléomesmocitadonaseçãoanterior.Afinalidadede

tê‐lo nesse sub‐módulo e poder ver em tempo real as modificações de textura

aplicadasdiretamentesobreacabeça.

Ovisualizadorde imagemeovisualizadordeUVestãointerligados.Osdois

sãoresponsáveispeladeformaçãoeencaixedatexturanomodelofinaldacabeça.O

visualizador de imagem mostra a textura que será aplicada na cabeça e o

visualizadordeUVmostraaUVdomodelofinalnomodowireframe.Emambosos

visualizadoresépossívelainserçãodepontosdecontroleparaoencaixedatextura

ecadapontodecontrolepossuicoordenadasemambososvisualizadoresouseja,

cada vezqueumpontode controle é inseridoemumdosdois visualizadores, ele

também é visível no outro. Cada ponto de controle possui seis parâmetros:

coordenadasxeyparatextura,coordenadasxeyparaUV,pesoeraiodeinfluência.

Aomanipularopontodecontrolenovisualizadordeimagem,ousuáriodeterminará

aposiçãodafotoqueirárepresentareaomanipularomesmopontonovisualizador

deUV, o usuário determinará emque região da cabeça será aplicada a região da

imagemdeterminadanovisualizadordeimagem.Assim,ousuáriotemtotalcontrole

deondee comoa textura sera aplicadanomodelo final da cabeça.O raiodeum

pontodecontroledeterminaaáreadaimagemqueopontodecontroleinfluenciaa

partirdaposiçãodoprópriopontoeopesodeterminaquantoaregiãodeinfluência

do ponto de controle é atingida por outros pontos de controle. Quanto maior o

peso,menoréainterferênciaexercidaporoutrospontos.

Os pontos de controle são vermelhos e, quando selecionados pelo mouse

simplesmente passando por cima deles, ficam de cor verde em ambos os

visualizadores, destacando assim em que ponto correspondente o usuário está

manipulando.

Aquartajanelaéorepositóriodepontosdecontrole.Estajanelapermiteao

usuárioterasinformaçõesdetodosospontosvisíveisnosvisualizadoresdeimagem

edeUV.Cadapontopossuiumrótulocomtodasasinformaçõesdecoordenadasde

Page 36: Framework para geração de personagens humanóides 3D para ...cin.ufpe.br/~tg/2009-2/jrpn.pdf · parcial para obtenção do Grau de Bacharel em Ciência da Computação. ... Um agradecimento

36

texturaedeUV,oraioeopesodoponto.Nessesrótulosépossívelmanipularessas

váriaveis através de botões de incremento e decremento. Outra possibilidade é a

remoçãodopróprioatravésdeumbotãoemformatodelixeiracontidonoprórpio

rótulo.

A janela opcional é o visualizador de deformação de textura. Quando o

usuário insere pontos de controle e controla seus parâmetros para encaixar a

imagemcorretamentenomodelo,essaimagemsofreváriasdeformaçõesdeacordo

com o estado inicial da imagem e esse visualizador permite ao usuário ver a

deformaçãoaplicadanaimagem.Aimagemdeformadaéatexturafinaldacabeça.

Figura18.MododeEncaixedeTextura

4.1.3Filtragemdatextura

O terceiro sub‐módulo do FaceMaker é a aplicaçãode filtros na textual da

face.Ousuáriopodecarregarumafotoparaqueelasejaaplicadacomotexturapara

acabeça,porémafotopodeestarcombaixaqualidadedevidoàforteiluminação,o

Page 37: Framework para geração de personagens humanóides 3D para ...cin.ufpe.br/~tg/2009-2/jrpn.pdf · parcial para obtenção do Grau de Bacharel em Ciência da Computação. ... Um agradecimento

37

que gera muito brilhona foto emuitas regiões de sombra. Essa parte tem como

função,aplicarfiltrosdecorreçãonaimagemqueremovemoexcessodebrilho.

Figura19.MododeFiltragem–ReduçãodeBrilhoeSombreamentoExcessivo

Dificilmenteuma imagemcarregadapelousuárionoframeworkestáaptaa

setornarumatexturaeficienteparaacabeça.Arazãodistoéapresençadevários

componentesquenão sãonecessáriosparaa composiçãoda textura final comoo

planode fundoda imagemeo cabeloda foto.Nos jogos3D, a texturada cabeça

correspondea imagemdafaceesticadaemumplanosemocabelo,queétratado

como um objeto separado e encaixado posteriormente sobre a cabeça. Este sub‐

módulotambémpossuicomofuncionalidaderecortarafacena imagemeesticá‐la

sobreatextura.Tantoorecortedafacequantoaescolhadetomdapeleesticada

sãofeitospelousuário.

Page 38: Framework para geração de personagens humanóides 3D para ...cin.ufpe.br/~tg/2009-2/jrpn.pdf · parcial para obtenção do Grau de Bacharel em Ciência da Computação. ... Um agradecimento

38

Figura20.MododeFiltragem–ImagemNormal

Figura21.MododeFiltragem–RostoRecortadoeEsticadoparaEncaixe

Page 39: Framework para geração de personagens humanóides 3D para ...cin.ufpe.br/~tg/2009-2/jrpn.pdf · parcial para obtenção do Grau de Bacharel em Ciência da Computação. ... Um agradecimento

39

4.2BodyMaker

O BodyMaker é o segundo módulo elaborado para o GCM. Este modulo,

ainda não implementado, tem como objetivo definir a estrutura do corpo do

personagemhumanóide.

Nesta parte, o usuário poderá definir a altura e o peso do personagem

através da técnica de manipulação de bones, descrita na seção 3.3. Duas janelas

serao utilizadas nessa fase: um visualizador principal e uma janela de controle de

parâmetros.

Ovisualizadorprincipaltemcomofunção,exibiropersonagemcompletoao

usuário, incluindo a cabeça definida no FaceMaker. A janela de controle possui

sliders como descritos na seção 4.1.1, um para a altura e outro para o peso do

personagem. Porém, ao contrário do FaceMaker que trabalha diretamente com a

manipulaçãodosvérticesdamalha,oBodyMakerutilizadaaalteraçãodaescalados

bones que compoemo corpo. Aomodificar a altura, o usuário estará alterando a

escala dos bones que estão nas pernas e ao modificar o peso, o usuário estará

alterandoaescaladosbonesqueestãonotroncodopersonagem.

4.3TorqueGameEngine

OFaceMakerfoiconstruídonaTorqueGameEngine(TGE),umaenginede

jogos3DdeclasseAAAdesenvolvidapelaGarageGamesparadesenvolvedores

independentes[Torque]eatualmenteaTGEéconhecidacomoTorque3D,ouT3D,

porcausademodificaçõesenovasfuncionalidadesatribuídasàengineaolongodos

anos.

AT3DfoidesenvolvidaemC++,possuicódigo‐fonteabertoeumalinguagem

descriptprópriaparadesenvolvimentochamadaTorqueScript.Graçasabaixacurva

deaprendizadoparaoscript,apossibilidadededesenvolvernovasfuncionalidadese

componentesàengineeàsfuncionalidadesdemanipulaçãodeobjetos3Djá

Page 40: Framework para geração de personagens humanóides 3D para ...cin.ufpe.br/~tg/2009-2/jrpn.pdf · parcial para obtenção do Grau de Bacharel em Ciência da Computação. ... Um agradecimento

40

presentesnaengine,aT3Dsemostrouumaótimaferramentaparao

desenvolvimentodoprojeto.

Page 41: Framework para geração de personagens humanóides 3D para ...cin.ufpe.br/~tg/2009-2/jrpn.pdf · parcial para obtenção do Grau de Bacharel em Ciência da Computação. ... Um agradecimento

41

5.AvaliaçãoeResultados

5.1Avaliaçãodedesempenho

Um dos objetivos desse trabalho é permitir ao usuário que ele crie

personagenshumanóidesatravésdocontroledeparâmetrosemtempohábil,como

mínimo de atraso possível. No GCM é possível um usuário com experiência em

modelagem ampliar a capacidade do sistema com a inserção de novos modelos

adicionais. Para isso basta abrir o arquivo “base2.dae“, modificar a característica

facialdesejadaeadicionarnapastaquecontémosmodelosadicionais jáprontos.

Quantomaiorforaquantidadedemodelosadicionaisparaainterpolação,maioréo

processamentodaaplicação.

O FaceMaker, modulo do GCM, foi desenvolvido e testado em um

computador [configuração do computador] e foram utilizados, além do modelo

base, 90modelos adicionais. O resultado do teste de desempenho é satisfatório,

poisousuáriotemasensaçãodequeomodelobaseestásetransformandocoma

mudança do parâmetro. Porém, ainda é perceptível um atraso mínimo

principalmente se o usuário arrasta bruscamente com o mouse o slider de

parâmetro. Como a operação de interpolação é composta basicamente de soma,

subtração e multiplicação em largae scala, a solução encontrada para eliminar o

atrasoéautilizaçãodalinguagemASMx86pararealizaressasoperaçõesdevidoao

fatoqueoASMacessadiretamenteosregistradoresdaCPUe,consequentemente,

asoperaçõesseriamexecutadasmuitomaisrapidamente.

5.2Consideraçõessobreoencaixedetexturaporpontosdecontrole

O encaixe da imagem na cabeça é essencial na geração da cabeça do

personagem.NoFaceMaker,algunsusuáriostestaramosub‐módulodeencaixede

textura,aodelimitareencaixarosolhos,onariz,assobrancelhaseaboca.

Page 42: Framework para geração de personagens humanóides 3D para ...cin.ufpe.br/~tg/2009-2/jrpn.pdf · parcial para obtenção do Grau de Bacharel em Ciência da Computação. ... Um agradecimento

42

Odesempenhodosub‐módulofoibemaceitopelosusuários,principalmente

aquelescomexperiênciaemmodelagemetexturização.Utilizandoumamalha32x

32paradistorcereencaixara imagem,odesempenho foi consideradoótimo,não

havendonenhumaobservação sobre atrasosnoprocessamento,mesmo comuma

grandequantidadedepontospararealizaratarefa(cercade20pontos).

Emrelaçãoaoresultadofinalda imagem, foiconstatadoquecertasregiões

da cabeça, já texturizada, podem apresentar algumas falhas na visualização ao

utilizardoispontosdecontrolepróximosequenãocoincidamoriginalmentecomo

estado inicialda imagem. Issoéresolvidoao inserirmaisumpontodecontroleno

localafetadoeencaixá‐loapropriadamentecomocitadonaseção4.1.2.Nogeral,o

resultadofinalfoiconsideradoótimoeútilparaagilizaraproduçãodepersonagens.

5.3Justificativaparatratamentodeimagemnoframework

Como já mencionado na seção 4.1.3, o FaceMaker tem como proposta

reduzirobrilhoeasareassombreadasda imagemqueserautilizadacomotextura

para a cabeça gerada.A razãodessa funcionalidade foi oproblemadetectadopor

algunsusuáriosque testaramaaplicaçãoeverificaramqueamaioriadas imagens

utilizadaspoderiamconterbrilhoexcessivoouseremmuitoescuras.Issosedeveao

fatoqueváriasimagensutilizadasforamtiradassemqualquerpreparoespecialpara

aaplicação,ouseja,sãofotoscomuns.

5.4Inserçãodomodelogeradoemumjogoexemplo

FinalmentefoianalisadoocomportamentodomodelogeradopeloGCMem

umambientedejogofornecidopelaTorqueEngine.Nocaso,foigeradoumacabeça

com diferentes parâmetros através do FaceMaker em conjunto com uma textura

geradaatravésdoencaixedeuma imagemselecionadapelousuárionacabeça3D

Page 43: Framework para geração de personagens humanóides 3D para ...cin.ufpe.br/~tg/2009-2/jrpn.pdf · parcial para obtenção do Grau de Bacharel em Ciência da Computação. ... Um agradecimento

43

em questão. Em seguir, a cabeça texturizada com material foi inserida em um

ambiente3Dpróprioparaumjogocomputacional,atravésdeTorqueScript.

O resultado final foi considerado satisfatório. Todas as características

visualizadas pelo usuário durante a geração da cabeça no FaceMaker foram

confirmadas comsucessonoambientede jogo. Todasas característicaspeculiares

determinadas pelo usuário e os detalhes da pele da cabeça feitos durante o

tratamento da imagem, também no FaceMaker, foram comprovados em sua

totalidadesemnenhumaausênciaoufalhaduranteoprocesso.

Page 44: Framework para geração de personagens humanóides 3D para ...cin.ufpe.br/~tg/2009-2/jrpn.pdf · parcial para obtenção do Grau de Bacharel em Ciência da Computação. ... Um agradecimento

44

6.ConsideraçõesFinais

Osobjetivostraçadosparaestetrabalhofoiatingidosparcialmente,emcerca

de 75%. Foi proposta e elaborada uma abordagem para gerar um personagem

humanóide3Datravésdeumframeworkquecontivessecontrolesdebaixacurvade

aprendizadoparaqueumusuário,acostumadoajogos3Decriaçãodepersonagens,

pudesse criar personagens personalizados com uma enorme variedade tanto na

geometriaquantonatexturafinal.Paraumusuáriocomexperiênciaemmodelagem

e animação, também seria possível adicionar novos modelos de interpolação e

aumentaraindamaisacapacidadedegeração.OGCM,produtofinaldesetrabalho,

podeserincorporadodiretamenteemumjogoouutilizadoparagerarconteúdo3D

em grande escala e, posteriormente, inserir o conteúdo gerado em um jogo

tridimensional.

No entanto foi concluído apenas o FaceMaker, modulo responsável pela

geração de cabeças para o personagem. Isso se deve ao fato de o tempo total

necessárioparaaconclusãodoprojetoserestimadoem6meses,dosquais4meses

focados apenas no FaceMaker, devido a umamaior complexidade pelos detalhes

envolvidos tanto na geometria do objeto quanto no tratamento de imagens com

aplicaçãodediversosfiltrosparaatexturizaçãodacabeça.Nessaetapa,osobjetivos

foramalcançadoscomsucesso.

Porém existemuito espaço paramelhorias no FaceMaker. Como citado na

seção 5.1, o algoritmo de interpolação deve ser substituído para oferecer maior

eficiênciaduranteoprocessoeeliminarosatrasos.Noencaixedetextura,novase

diversasfunçõesmatemáticasparadeformaçõesnatexturadeverãoserutilizadase

poderão,no futuro, seremaplicadas independenteparacadaponto.Atualmenteé

aplicada uma função exponencial para tal tarefa,mas foi cogitado a utilização de

funçãoesquadráticas,bilinearesegaussianasedeverãosertestadas.

Outro ponto que deve ser considerado com atenção é o tratamento de

imagem para texturização. A textura base de pele utilizada na edição deve ser

melhorada e modificada para dar maior realismo à cabeça e os algoritmos de

Page 45: Framework para geração de personagens humanóides 3D para ...cin.ufpe.br/~tg/2009-2/jrpn.pdf · parcial para obtenção do Grau de Bacharel em Ciência da Computação. ... Um agradecimento

45

reduçãodebrilhoeseleçãoderostonaimagempodemserescritosemshaderspara

reduzir o processamento e possibilitar ao usuário aplicá‐los em tempo real sem a

necessidadeesperarofimdoeventodemouseparaativarosalgoritmos.

Uma característica que deve ser testada é a geração de modelos com

animações faciais. Atualmente, os modelos base e adicionais são estáticos e as

cabeçassãotambémsão.Issosedeveaofatodenãohavernenhumprofissionalem

animaçãoestardisponívelnomomentododesenvolvimentodoprojetoporém,isso

serasolucionadoempoucassemanas.

Já o BodyMaker,modulo responsável pela edição da estrutura corporal do

personagem, serádesenvolvidoe integradoaoFaceMakerpara finalizaroGCM.O

tempoestimadoparaaexecuçãodessemódulofoide2meses.

Page 46: Framework para geração de personagens humanóides 3D para ...cin.ufpe.br/~tg/2009-2/jrpn.pdf · parcial para obtenção do Grau de Bacharel em Ciência da Computação. ... Um agradecimento

46

7.Referências

[Torque]Maurina,E.F.,III.TheGameProgrammer’sGuideToTorque:UnderThe

HoodoftheTorqueGameEngine.GGPress,2006.

[Rosa] Rosa, D. R.A Representação da Figura Humana emMeio Digital.UDESC –

CEART,n/d

[ESA09] Essencial Facts about Computer and Video Game Industry.Pesquisa

publicadapela Entertainment SoftwareAssociation, 2009,Acessado emOutubro /

2009,Disponívelem:http://www.theesa.com.

[Cal06] Calife, D.; Coimbra, W. A. P.; Toscano, W. Engines Gráficos 3D.Escola

Politécnica–UniversidadedeSãoPaulo(USP),2006.

[Bat00]Battaiola,A.L.JogosporComputador–Histórico,RelevânciaTecnológicae

Mercadológica,TendênciaseTécnicasdeImplementação.JAI/2000SBC,2000.

[Fog07] Foggiato, J. A.; Volpato, N.; Bontorin, A. C. B. Recomendações para

Modelagem em Sistemas CAD‐3D.4º Congresso Brasileiro de Engenharia de

Fabricação,2007.

[Miya08] Miyamoto, R. T.; Medeiros Filho, D. A.; Sartori, A. R. Modelagem

TridimensionalcomGeometriaConstrutivadeSólidosparaProjetosdeEngenharia

eArquiteturaemSistemasCADvisandoaPortabilidadeeEstabilidadedeObjetos

3D.XIVConvenciónCientíficadeIngeniaríayArquitectura,2008.

[Min03]Minetto,C.F.UmEstudosobreCurvasNURBS.Dissertaçãosubmetidacomo

requisitoparcialparaaobtençãodograudeMestreemMatemáticaAplicada,2003.

[Sgarbi]Sgarbi,R.;Fernandes,A.M.R.UmTutorialparaEnsinodeModelagemde

ModasbaseadoemAmbiente3D.UniversidadedoValedoItajaí(UNIVALE),n/d.

[Clua05]Clua,E.W.G.;Bittencourt,J.R.DesenvolvimentodeJogos3D:Concepção,

DesigneProgramação.XXVCongressodaSociedadeBrasileiradeComputação,2005.

Page 47: Framework para geração de personagens humanóides 3D para ...cin.ufpe.br/~tg/2009-2/jrpn.pdf · parcial para obtenção do Grau de Bacharel em Ciência da Computação. ... Um agradecimento

47

[Louro] Louro, S.; Reis, L. P.; Oliveira, E. Virtual 3D: Sistema Multi‐Agente de

Visualização com Controlo Inteligente de Câmara.Laboratório de Inteligência

ArtificialeCiênciadeComputadores,UniversidadedoPorto,Portugal,n/d.

[Silva96]Silva,F.W.S.V.;Cavalcanti,P.R.AnimaçõesComplexasemTempoReal

Utilizando Movimentos Capturados.LCG – Laboratório de Computação Gráfica,

COPPE–Sistemas/UFRJ,1996.

[Pozzer07] Pozzer, C. T. Síntese de Imagens e Realismo.Universidade Federal de

SantaMaria,2007.

[Evan07]Evangelista,B.; Silva,A.CriandoEfeitosFotorealistaseNão‐fotorealistas

paraJogos.UniversidadeFederaldeMinasGerais,2007.

[Camozz07] Camozzato, D. Avaliação e Desenvolvimento de Técnicas para o

AumentodoEspaçodeValidadeemImpostores.PontifícaUniversidadeCatólicado

RioGrandedoSul,ProgramadePós‐Doutorado,2007.

[Dogg00] Doggett, M.; Hirche J. Adaptive View Dependent Tessellation Of

DisplacementMaps.WSI/GRIS,UniversityofTubingen,Germany,2000.

[Hey02]Hey,H.;PurgathoferW.Real‐TimeRenderingOfGloballyIlluminatedSoft

Glossy Scenes With Directional Light Maps.Institute of Computer Graphics and

Algorithms,ViennaUniversityOfTechnology,2002.

[Shan00]Shan,S.;GaoW.;Yan,J.;Zhang,H.;Chen,X.Individual3DFaceSynthesis

Based On Ortogonal Photos and Speech‐Driven Facial Animation.7th IEEE

International Conference Of Image Processing (ICIP 2000), Vancouver, British

Columbia,Canada,2000.

[Oga03] Ogawara, K.; Takamatsu J.; Hashimoto, K.; Ikeuchi, K.Grasp Recognition

usinga3DArticulatedModelandInfraredImages.IEE/RSJInternationalConference

onIntelligentRobotsandSystems,2003.

[Seo03]Seo,H.;Magnenat‐ThalmannN.AnAutomaticModelingOfHumanBodies

from Sizing Parameters.Miralab, University Of Genebra, Proceedings of the 2003

SymposiumonInteractive3DGraphics,2003.