Framework para geração de personagens humanóides 3D para ...cin.ufpe.br/~tg/2009-2/jrpn.pdf ·...
Transcript of Framework para geração de personagens humanóides 3D para ...cin.ufpe.br/~tg/2009-2/jrpn.pdf ·...
1
UNIVERSIDADEFEDERALDEPERNAMBUCOGRADUAÇÃOEMCIÊNCIADACOMPUTAÇÃO
CENTRODEINFORMÁTICA
Frameworkparageraçãodepersonagens
humanóides3Dparajogoscomputacionais
______________________________________________________________
TRABALHODEGRADUAÇÃO
Novembrode2009
2
Frameworkparageraçãodepersonagenshumanóides3Dparajogos
computacionais
por
JoãodaRochaPascoalNetoMonografiaapresentadaaoCentrodeInformática daUniversidadeFederaldePernambucocomo requisitoparcialparaobtençãodoGraude BacharelemCiênciadaComputação. Orientador:SílviodeBarrosMelo
Novembrode2009
3
“Avingançanuncaéplena,mataaalmaeaenvenena.“(RamónValdez)
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.
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.
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
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
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
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
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.
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.
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]
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
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
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é
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
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.
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
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.
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
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
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
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
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
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.
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
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.
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
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
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.
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
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.
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
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
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
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
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.
38
Figura20.MododeFiltragem–ImagemNormal
Figura21.MododeFiltragem–RostoRecortadoeEsticadoparaEncaixe
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á
40
presentesnaengine,aT3Dsemostrouumaótimaferramentaparao
desenvolvimentodoprojeto.
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.
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
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.
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
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.
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.
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.