• Nenhum resultado encontrado

Posicionamento Automático de Câmera em Ambientes Virtuais Dinâmicos

N/A
N/A
Protected

Academic year: 2021

Share "Posicionamento Automático de Câmera em Ambientes Virtuais Dinâmicos"

Copied!
8
0
0

Texto

(1)

Posicionamento Autom´atico de Cˆamera

em Ambientes Virtuais Dinˆamicos

Rodrigo Hermann, Waldemar Celes

Tecgraf - Departamento de Inform´atica, PUC-Rio

{hermann,celes}@tecgraf.puc-rio.br

Abstract

Os jogos eletrˆonicos mais sofisticados tentam realizar tomadas de cenas baseadas em princ´ıpios da cinematografia, aumen-tando a imers˜ao experimentada pelos usu´arios (jogadores e espectadores). Existem dois grandes desafios na adaptac¸˜ao dos princ´ıpios da cinematografia em jogos: as linguagens cinematogr´aficas s˜ao subjetivas, n˜ao sendo diretamente mapea-das para um programa de computador; al´em disso, os ambientes virtuais s˜ao dinˆamicos e as ac¸˜oes s˜ao imprevis´ıveis, n˜ao sendo poss´ıvel definir a priori os posicionamentos de cˆamera adequados para cada cena. Sistemas de controle de cˆamera em ambientes virtuais podem ser estruturados em trˆes m´odulos: roteirista, respons´avel por identificar o que est´a ocor-rendo; diretor/editor, respons´avel por definir as melhores tomadas para a cena em quest˜ao; e cinegrafista, respons´avel por posicionar a cˆamera no ambiente virtual segundo as regras cinematogr´aficas estabelecidas. Neste trabalho, propomos a implementac¸˜ao de um m´odulo cinegrafista descrevendo a cˆamera por um modelo f´ısico submetido a restric¸˜oes. As restric¸˜oes s˜ao tratadas de forma independente e satisfeitas atrav´es do m´etodo de relaxac¸˜ao. Desta forma, podemos realizar tomadas de cena usualmente encontradas na cinematografia atrav´es da composic¸˜ao de restric¸˜oes simples. Resultados demonstram a eficiˆencia, robustez e estabilidade do sistema proposto para o posicionamento autom´atico de cˆamera em ambientes virtu-ais dinˆamicos. Propomos ainda um mecanismo de validac¸˜ao da configurac¸˜ao de cˆamera obtida, permitindo que o m´odulo externo (diretor/editor) possa validar e, se for o caso, optar por um corte e a especificac¸˜ao de uma nova tomada de cena.

1

Introduc¸˜ao

O cinema desenvolveu t´ecnicas espec´ıficas com o obje-tivo de melhorar nossa interpretac¸˜ao dos filmes. A cine-matografia procura explorar a dramaticidade das cenas, au-mentando a imers˜ao do espectador. Com o passar dos anos, aprendemos a interpretar os filmes segundo as linguagens cinematogr´aficas. Da mesma forma, os jogos eletrˆonicos mais sofisticados tˆem procurado explorar a cinematografia para obter melhores tomadas de cena. O principal objetivo ´e usar a cinematografia para melhor explorar as emoc¸˜oes das cenas, tornando os jogos mais atrativos. O uso da cinema-tografia em jogos torna-se ainda mais interessante quando consideramos o n´umero crescente de espectadores de jogos. Num futuro pr´oximo, provavelmente teremos sess˜oes de jo-gos eletrˆonicos sendo transmitidas para um grande n´umero de espectadores. Para que a transmiss˜ao destes eventos seja de interesse do p´ublico, ´e necess´ario apresentar o desenro-lar do jogo com posicionamentos de cˆamera que explorem a dramaticidade das cenas.

A adaptac¸˜ao das t´ecnicas cinematogr´aficas em jogos

(ambientes virtuais) n˜ao se d´a de forma direta. Podemos identificar duas dificuldades principais. A primeira diz res-peito `a subjetividade com que ´e tratada a cinematografia. N˜ao existe um conjunto de regras r´ıgidas que pode ser apli-cado diretamente por um programa de computador. A se-gunda dificuldade ´e o car´ater dinˆamico e imprevis´ıvel das cenas. No cinema, o diretor tem o conhecimento pr´evio do roteiro e a liberdade de experimentar diferentes tomadas de cena; no entanto, em um ambiente interativo, n˜ao sabe-mos a priori o que ir´a acontecer e o que deve ser capturado. Portanto, o sistema de controle da cˆamera deve ser capaz de coletar informac¸˜oes `a medida que os fatos acontecem e conseguir realizar a tomada da cena de forma adequada, num curto espac¸o de tempo para n˜ao comprometer o de-sempenho da aplicac¸˜ao. A dificuldade aumenta se tamb´em quisermos aplicar os princ´ıpios da cinematografia para fazer o posicionamento da cˆamera que ´e utilizada pelo jogador, pois a jogabilidade n˜ao pode ser prejudicada.

Para a adaptac¸˜ao da cinematografia em jogos, Hawkins [5] prop˜oe a estruturac¸˜ao do sistema em trˆes m´odulos: ro-teirista, diretor/editor e cinegrafista. O m´odulo roteirista ´e 1

(2)

respons´avel por identificar o que est´a ocorrendo no ambi-ente, definir o que deve ser mostrado e qual linguagem ci-nematogr´afica ´e mais adequada para a cena. O m´odulo dire-tor/editor ´e respons´avel por definir, a partir das informac¸˜oes recebidas do roteirista, quais s˜ao as melhores tomadas para capturar a cena. Por fim, o m´odulo cinegrafista ´e res-pons´avel por posicionar a cˆamera no ambiente dinˆamico para melhor atender `as demandas do m´odulo diretor/editor. Na pr´atica, o m´odulo diretor/editor traduz a tomada de cˆamera desejada num conjunto de regras (restric¸˜oes) que devem ser atendidas pelo m´odulo cinegrafista (Figura 1).

Figura 1. Estruturac¸ ˜ao do sistema para adaptac¸ ˜ao da cinematografia para ambientes virtuais

Este trabalho prop˜oe a implementac¸˜ao de um m´odulo cinegrafista capaz de posicionar uma cˆamera automatica-mente a partir de regras cinematogr´aficas especificadas por um m´odulo externo. As regras s˜ao expressas atrav´es de um conjunto de restric¸˜oes que devem ser atendidas pelo modelo de cˆamera. Cada restric¸˜ao atua sem se valer do conheci-mento da existˆencia de outras restric¸˜oes e possui um grau de prioridade de atendimento que a torna flex´ıvel quanto `a sua importˆancia na resoluc¸˜ao do sistema. O m´odulo pro-posto descreve a cˆamera atrav´es de um modelo f´ısico ba-seado em um sistema de part´ıculas e usando o m´etodo de integrac¸˜ao Verlet. O m´etodo de relaxac¸˜ao ´e utilizado para a convergˆencia do sistema a fim de atender `as restric¸˜oes impostas. Como estas podem ser conflitantes ou invi´aveis, propomos ainda uma m´etrica que retorna ao m´odulo externo uma resposta informando o quanto as restric¸˜oes impostas ao sistema est˜ao sendo satisfeitas. Com base nesta informac¸˜ao, o m´odulo externo (diretor/editor) pode optar por um corte e a especificac¸˜ao de uma nova tomada de cena. Experimen-tos computacionais demonstram a robustez e eficiˆencia do m´odulo proposto. Tomadas de cena usualmente utilizadas em linguagens cinematogr´aficas s˜ao conseguidas atrav´es da especificac¸˜ao de um conjunto de restric¸˜oes simples.

O restante deste artigo est´a organizado da seguinte forma. Na pr´oxima sec¸˜ao s˜ao apresentados os trabalhos re-lacionados. Na sec¸˜ao seguinte propomos o m´odulo cinegra-fista, detalhando o modelo f´ısico de cˆamera e as restric¸˜oes

desenvolvidas para a obtenc¸˜ao das tomadas de cena. A se-guir, descrevemos a interface externa do m´odulo proposto. Na sec¸˜ao 5 s˜ao apresentados os resultados obtidos com o m´odulo, exemplificando a obtenc¸˜ao de tomadas de cena ins-piradas na cinematografia com o uso do m´odulo proposto. Por fim, na sec¸˜ao 6, apresentamos nossas conclus˜oes.

2

Trabalhos Relacionados

Otten [9] e Druker et al. [2] analisaram a viabilidade de se explorar a transmiss˜ao de jogos eletrˆonicos da mesma forma que s˜ao transmitidos eventos esportivos, identifi-cando a existˆencia dos espectadores de jogos, definindo a infra-estrutura necess´aria e o apelo comercial destas trans-miss˜oes.

Para a adaptac¸˜ao da linguagem cinematogr´afica em am-bientes virtuais dinˆamicos, podemos identificar duas li-nhas de pesquisa distintas. Na primeira, utiliza-se um conjunto pr´e-definido de linguagens cinematogr´aficas que determinam o posicionamento das cˆameras, tais como as linguagens utilizadas em di´alogos entre dois personagens, aproximac¸˜ao de personagens, perseguic¸˜oes de carro, etc. Para cada uma destas linguagens, prevˆe-se a utilizac¸˜ao de um determinado n´umero de cˆameras com posicionamento pr´e-estabelecido. Em tempo real, o sistema identifica a lin-guagem cinematogr´afica a ser utilizada e tenta posicionar as cˆameras especificadas. He et al. [6] organizaram as linguagens cinematogr´aficas como n´os de uma ´arvore, em que cada linguagem funciona como uma m´aquina de estado. Amerson e Kime [1] desenvolveram a linguagem FILM que tamb´em se utiliza de uma ´arvore para descrever as lingua-gens cinematogr´aficas. Apesar de conseguir dar um melhor aspecto cinematogr´afico `a cena por utilizar uma linguagem com a qual o espectador j´a est´a acostumado, os modelos propostos se mostram muito r´ıgidos quanto ao posiciona-mento de cˆamera, muitas vezes n˜ao conseguindo encontrar um posicionamento satisfat´orio que atenda `as exigˆencias da linguagem cinematogr´afica em uso.

Na segunda linha de pesquisa, encontram-se os trabalhos que buscam utilizar apenas os conceitos b´asicos da cine-matografia, em vez de linguagens nas quais a seq¨uˆencia de tomadas j´a est´a pr´e-estabelecida. Drucker [3] define uma s´erie de restric¸˜oes ligadas a conceitos da cinematografia e tenta posicionar a cˆamera de forma que as restric¸˜oes im-postas sejam atendidas. Halper et al. [4] utilizam uma metodologia similar, procurando explorar a coerˆencia entre quadros consecutivos. Estas propostas tendem a ser mais flex´ıveis pois n˜ao se pr´e-estabelece o posicionamento de cˆamera. As restric¸˜oes guiam a cˆamera para uma tomada de acordo com a cinematografia respeitando o ambiente vir-tual da cena. No entanto, o sistema proposto por Halper et al. n˜ao ´e extens´ıvel, sendo dif´ıcil a inclus˜ao de novos tipos de restric¸˜oes, e o sistema proposto por Drucker apresenta

(3)

instabilidade no posicionamento da cˆamera.

Neste trabalho, optamos por seguir esta segunda linha de pesquisa e propomos o uso de um modelo f´ısico para representar a cˆamera. Todas as restric¸˜oes s˜ao tratadas de forma independente dentro do mesmo modelo f´ısico, sendo poss´ıvel a inserc¸˜ao de novos tipos de restric¸˜oes e a livre composic¸˜ao de restric¸˜oes para a realizac¸˜ao de uma tomada de cˆamera. A estabilidade do sistema ´e alcanc¸ada com o uso do m´etodo de relaxac¸˜ao para a atender `as restric¸˜oes im-postas ao modelo.

3

M´odulo cinegrafista

O m´odulo proposto neste trabalho parte do conceito apresentado por Drucker [3] sobre o uso de restric¸˜oes que, agrupadas, conseguem produzir o posicionamento e o mo-vimento de cˆamera esperado. Assim como Halper et al. [4], assumimos que a aplicac¸˜ao ter´a uma alta taxa de quadros por segundo e que a soluc¸˜ao para o sistema n˜ao precisa ser ´otima, mas apenas satisfat´oria. A cˆamera ´e modelada por um sistema de part´ıculas com restric¸˜oes. Inspirados pelo trabalho de Jakobsen [8], utilizamos o m´etodo de integrac¸˜ao Verlet [11] para evoluir o sistema e o m´etodo de relaxac¸˜ao [10] para satisfazer as restric¸˜oes. Uma vez encontrado o novo estado da cˆamera, as restric¸˜oes s˜ao avaliadas quanto a seu atendimento e os parˆametros da cˆamera s˜ao atualizados de acordo com o novo estado do modelo f´ısico. A Figura 2 ilustra o funcionamento do m´odulo cinegrafista proposto.

Figura 2. Funcionamento do m ´odulo cinegra-fista

3.1

Modelo de cˆamera

A cˆamera ´e descrita por um conjunto de part´ıculas co-nectadas por barras r´ıgidas. O sistema evolui submetido a um conjunto de restric¸˜oes, podendo-se aplicar forc¸as exter-nas. O uso de um modelo f´ısico para descrever a cˆamera n˜ao

significa simular o comportamento de uma cˆamera real, mas se valer dos princ´ıpios da f´ısica para ajudar na resoluc¸˜ao do sistema. O uso de um modelo f´ısico para a definic¸˜ao dos parˆametros da cˆamera torna o sistema mais vers´atil, por permitir a adic¸˜ao de forc¸as externas que alterem o com-portamento da cˆamera (por exemplo, forc¸as gravitacionais, forc¸as de amortecimento e forc¸as de atrito).

Uma cˆamera virtual possui sete parˆametros de configurac¸˜ao: posic¸˜ao, direc¸˜ao, up, fovy, aspect, znear e zfar. O modelo de cˆamera proposto ´e composto por cinco part´ıculas conectadas por barras r´ıgidas. Cinco dos parˆametros da cˆamera, excetuando-se os parˆametros znear e zfar, s˜ao extra´ıdos a partir do posicionamento das part´ıculas. Um valor dist ´e passado ao modelo de cˆamera como a distˆancia da part´ıcula p0 ao centro do plano formado pelas part´ıculas p1, p2, p3 e p4. A Figura 3 ilustra o modelo f´ısico proposto.

Figura 3. Vis ˜ao frontal, lateral e sob perspec-tiva do modelo de c ˆamera.

A traduc¸˜ao do posicionamento das part´ıculas para os parˆametros de uma cˆamera virtual se d´a de acordo com as equac¸˜oes abaixo: ~ pos = ~p0 (1) ~ up = ( ~ p4 + ~p3 2 ) − ( ~ p2 + ~p1 2 ), up =c ~ up k ~upk (2) ~ dx = (p2 + ~~ p4 2 ) − ( ~ p1 + ~p3 2 ), dx =c ~ dx k ~dxk c dir =up × cc dx (3) f ovy = arctan( k ~dxk 2 · znear) (4) aspect = k ~dxk k ~upk (5)

(4)

3.2

Restric¸˜oes

Cada restric¸˜ao inserida no sistema ´e satisfeita de forma independente, alterando apenas o posicionamento das part´ıculas diretamente relacionadas com a restric¸˜ao em quest˜ao. Isso significa que uma restric¸˜ao altera o modelo da cˆamera sem se preocupar com a qualidade do sistema como um todo, mas buscando apenas satisfazer a si pr´opria. O uso de restric¸˜oes que atuem de forma simples e inde-pendente se traduz num sistema eficiente e flex´ıvel, pois novas restric¸˜oes podem ser adicionadas livremente ao sis-tema. A convergˆencia do sistema se d´a atrav´es do m´etodo de relaxac¸˜ao: o conjunto de restric¸˜oes aplicadas ao modelo, incluindo suas restric¸˜oes de barras r´ıgidas impl´ıcitas, s˜ao satisfeitas por um processo iterativo. A alta taxa de quadros da aplicac¸˜ao assegura a convergˆencia do sistema como um todo.

Atrav´es da composic¸˜ao de restric¸˜oes simples, consegue-se a criac¸˜ao de uma grande variedade de movimentos de cˆamera. Algumas das restric¸˜oes j´a incorporadas ao sistema s˜ao descritas a seguir.

Barra R´ıgida A restric¸˜ao de barra r´ıgida define uma distˆancia m´ınima e m´axima entre duas part´ıculas. O pr´oprio modelo f´ısico da cˆamera utiliza esta restric¸˜ao para definir os espac¸amentos entre as part´ıculas (com valores m´ınimos e m´aximos iguais).

Uma barra r´ıgida conecta duas part´ıculas, cada uma possuindo uma massa. Se as part´ıculas estiverem fora da distˆancia exigida, elas s˜ao aproximadas ou afasta-das proporcionalmente `a sua massa a fim de atender a restric¸˜ao. A Figura 4 ilustra o procedimento de aten-dimento `a restric¸˜ao de uma barra formada por duas part´ıculas de massas iguais.

(a) (b) (c)

Figura 4. Restric¸ ˜ao de barra r´ıgida: (a) barra n ˜ao atendendo `a restric¸ ˜ao; (b) transformac¸ ˜ao do estado inv ´alido da barra para o estado v ´alido; (c) restric¸ ˜ao satisfeita

Posicionamento em um volume A restric¸˜ao de posiciona-mento em um volume fixa uma part´ıcula dentro de um volume. Quando aplicada `a part´ıcula p0 do modelo de cˆamera, forc¸a a cˆamera a atuar sempre posicionada dentro de um volume, ´area ou ponto espec´ıfico do am-biente.

O funcionamento da restric¸˜ao verifica se a part´ıcula p0 do modelo de cˆamera est´a dentro do volume especi-ficado e, se n˜ao estiver, a part´ıcula ´e arrastada para a borda mais pr´oxima do volume. A Figura 5 ilustra o modelo de cˆamera atendendo `a restric¸˜ao. Note que o posicionamento das demais part´ıculas ´e inalterado, devido `a independˆencia no tratamento das restric¸˜oes. As restric¸˜oes de barra r´ıgida contidas no modelo de cˆamera se responsabilizam por tornar v´alido o estado final do modelo.

(a) (b) (c)

Figura 5. Restric¸ ˜ao de posicionamento em vo-lume: (a) c ˆamera n ˜ao atendendo `a restric¸ ˜ao; (b) transformac¸ ˜ao do estado inv ´alido para o estado v ´alido; (c) c ˆamera com a restric¸ ˜ao sa-tisfeita.

Enquadramento A restric¸˜ao de enquadramento posiciona um objeto em uma ´area espec´ıfica da tela rotacionando o modelo de cˆamera em torno de um eixo escolhido. A escolha do eixo de rotac¸˜ao permite que dois objetos sejam enquadrados simultaneamente na tela.

Para enquadrar um primeiro objeto na ´area da tela, ro-tacionamos o modelo em torno da part´ıcula p0. Para conseguir o enquadramento de um segundo objeto sem perder o enquadramento do primeiro, o modelo ´e rota-cionado em relac¸˜ao `a posic¸˜ao do primeiro objeto. Direc¸˜ao de um objeto A restric¸˜ao de direc¸˜ao de um

ob-jeto posiciona a cˆamera em relac¸˜ao `a direc¸˜ao para a qual um objeto est´a voltado. Dessa forma ´e poss´ıvel, por exemplo, colocar a cˆamera atr´as de um objeto. A restric¸˜ao ´e atendida arrastando a part´ıcula p0 para uma ´area que satisfac¸a a restric¸˜ao.

Colis˜ao A restric¸˜ao de colis˜ao impede que a cˆamera co-lida com o cen´ario. A cˆamera possui um volume en-volvente definido por uma esfera centrada na posic¸˜ao

p0 + cdir · znear. O diˆametro da esfera ´e definido

a partir dos planos do frustum de vis˜ao (up, bottom,

lef t, right, znear e zf ar) e ´e formado pela diagonal

do quadril´atero extra´ıdo da intersec¸˜ao do plano znear com os planos up, bottom, lef t e right. A detecc¸˜ao de colis˜ao define o quanto e em que direc¸˜ao houve a colis˜ao, e a reac¸˜ao `a colis˜ao arrasta as part´ıculas do modelo de cˆamera na direc¸˜ao contr´aria `a direc¸˜ao de colis˜ao.

(5)

Visibilidade A restric¸˜ao de visibilidade impede que o vo-lume envolvente de um objeto fique encoberto pelo cen´ario, desviando a cˆamera quando o cen´ario impede a visualizac¸˜ao do objeto de interesse.

Para encontrar uma soluc¸˜ao que satisfac¸a a restric¸˜ao de visibilidade, s˜ao lanc¸ados raios em direc¸˜ao ao ob-jeto de interesse a partir da posic¸˜ao da part´ıcula p0 do modelo de cˆamera. Primeiro, lanc¸am-se raios conside-rando apenas o objeto de interesse. A seguir, os mesmo raios s˜ao lanc¸ados considerando o cen´ario sem o ob-jeto de interesse. Os raios retornam a distˆancia entre a part´ıcula e o objeto de interesse ou a cena. A partir des-sas duas distˆancias, ´e poss´ıvel determinar se o ponto do objeto de interesse atingido pelo raio est´a vis´ıvel pela cˆamera.

Considerando-se apenas os raios interceptados pelo cen´ario, calcula-se o centro geom´etrico dos pontos de intersec¸˜ao (raio contra cen´ario). A restric¸˜ao de visi-bilidade opta por mover a part´ıcula p0 do modelo de cˆamera na menor distˆancia poss´ıvel para tirar esse cen-tro geom´etrico da ´area visualizada do objeto de inte-resse. A restric¸˜ao tende a ser satisfeita repetindo este procedimento diversas vezes.

Al´em das restric¸˜oes citadas, foram incorporadas ao sis-tema proposto restric¸˜oes de posicionamento em segmento de reta, orientac¸˜ao, fov, velocidade de translac¸˜ao, veloci-dade de rotac¸˜ao, velociveloci-dade do fov, distˆancia de um objeto, tamanho na tela e respeito `a linha de ac¸˜ao. Detalhes quanto ao funcionamento das restric¸˜oes podem ser encontrados em [7].

4

Interface externa

A configurac¸˜ao de um comportamento de cˆamera ´e feita atrav´es do agrupamento de restric¸˜oes de acordo com a ne-cessidade do m´odulo diretor/editor. Dois parˆametros s˜ao comuns a todas as restric¸˜oes: prioridade, respons´avel por estabelecer uma relac¸˜ao de importˆancia entre as restric¸˜oes; e valor de referˆencia, respons´avel por definir uma margem de tolerˆancia quanto ao atendimento da restric¸˜ao, possibili-tando que o m´odulo cinegrafista analise o quanto a restric¸˜ao est´a sendo atendida.

4.1

Prioridade

Ao agrupar as restric¸˜oes em busca de uma determinada configurac¸˜ao de cˆamera, certas restric¸˜oes possuem um grau de importˆancia maior que outras. Por exemplo, as barras r´ıgidas que formam o modelo da cˆamera devem ter uma pri-oridade de atendimento maior do que restric¸˜oes como de enquadramento, uma vez que se n˜ao forem satisfeitas o mo-delo de cˆamera se tornar´a inv´alido.

O valor de prioridade cria uma relac¸˜ao entre as restric¸˜oes, e seu uso se d´a da seguinte forma: uma vez cal-culado o quanto a restric¸˜ao dever´a alterar o estado do mo-delo, esse valor ´e multiplicado pelo valor da prioridade da restric¸˜ao, que varia de 0 a 1. Dessa forma, restric¸˜oes de baixa prioridade levam um n´umero maior de iterac¸˜oes para serem satisfeitas, enquanto restric¸˜oes com altos valores de prioridade s˜ao atendidas em poucas iterac¸˜oes. Valores de prioridade mais baixos tamb´em suavizam o movimento da cˆamera, enquanto valores mais altos tornam os movimentos mais bruscos.

4.2

Valor de referˆencia

O m´odulo cinegrafista precisa ser capaz de analisar o atendimento `as restric¸˜oes impostas, repassando essa informac¸˜ao ao diretor/editor. Dessa forma, o m´odulo dire-tor/editor consegue avaliar se as restric¸˜oes definidas por ele devem permanecer como est˜ao ou se a configurac¸˜ao atual deve ser alterada.

A utilizac¸˜ao de um valor de referˆencia permite que o m´odulo cinegrafista dˆe uma resposta linear (0 a 1) quanto ao atendimento da restric¸˜ao. O valor 1 indica que a restric¸˜ao foi atendida; o valor 0 indica que a restric¸˜ao n˜ao foi aten-dida mesmo considerando a tolerˆancia definida pelo valor de referˆencia.

Al´em do valor de resposta de cada restric¸˜ao, ´e retornado ao m´odulo diretor/editor um valor de resposta global, base-ado nas respostas de todas as restric¸˜oes. Esse valor ´e cal-culado atrav´es de uma m´edia ponderada que se utiliza da prioridade de cada uma das restric¸˜oes impostas.

5

Resultados

Nesta sec¸˜ao, analisaremos o funcionamento do m´odulo cinegrafista proposto. Foram realizados dois tipos de testes para a avaliac¸˜ao do m´odulo cinegrafista. O primeiro corres-ponde a uma an´alise do custo computacional de cada uma das restric¸˜oes, assim como uma an´alise da variac¸˜ao do custo computacional total referente `a adic¸˜ao de restric¸˜oes no sis-tema. O segundo teste consiste em verificar se o m´odulo cinegrafista ´e capaz de posicionar a cˆamera de maneira sa-tisfat´oria e se as restric¸˜oes implementadas conseguem criar, atrav´es de seus agrupamentos, os movimentos de cˆamera es-perados. A seguir, ´e explicado como cada um desses testes foi desenvolvido.

5.1

An´alise de Desempenho

O c´alculo do custo computacional do m´odulo cinegra-fista n˜ao pode ser feito a partir de uma configurac¸˜ao es-pec´ıfica. Como o m´odulo ´e configurado a partir de uma

(6)

composic¸˜ao qualquer de restric¸˜oes, primeiramente propo-mos uma an´alise de desempenho do pior caso para cada restric¸˜ao em separado. O pior caso de uma restric¸˜ao ocorre quando a cˆamera n˜ao atende `as definic¸˜oes da restric¸˜ao, isto ´e, a restric¸˜ao forc¸a um reposicionamento da cˆamera.

A Figura 6 apresenta um gr´afico do custo computaci-onal m´edio em milissegundos de cada restric¸˜ao. Para a obtenc¸˜ao dos valores, foi utilizado um computador Pentium IV 2.4Ghz com 512Mb de mem´oria RAM e retirada a m´edia do tempo gasto para a restric¸˜ao atuar dez mil vezes em seu pior caso. Salientamos que o custo das restric¸˜oes de oclus˜ao e colis˜ao depende da complexidade do sistema. Neste ex-perimento computacional, o ambiente externo utilizado foi muito simples, definido apenas por duas esferas. O gr´afico demonstra o alto custo relativo destas restric¸˜oes em relac¸˜ao `as demais.

Figura 6. Custo individual de cada restric¸ ˜ao A partir do custo m´edio por iterac¸˜ao de cada restric¸˜ao, ´e poss´ıvel avaliar um custo aproximado do m´odulo como um todo. A func¸˜ao de custo se baseia no n´umero de iterac¸˜oes do sistema (nItr), no custo de cada uma das restric¸˜oes adi-cionadas (ri) e no custo das dez restric¸˜oes de barras r´ıgidas

que pertencem ao modelo f´ısico (stick) da cˆamera. Como os custos utilizados correspondem ao custo de pior caso, a func¸˜ao do custo do m´odulo tamb´em se refere ao seu pior caso. A equac¸˜ao 6 permite calcular um valor m´aximo do custo computacional total esperado do m´odulo com dife-rentes restric¸˜oes.

custo = nItr · (10 · stick +

k

X

i=1

ri) (6)

Com o objetivo de validar a f´ormula acima, foi realizado um experimento comparando o custo calculado com o custo

real. O custo real foi calculado posicionando a cˆamera em um estado no qual nenhuma restric¸˜ao estivesse sendo aten-dida, e a partir da´ı foi calculado o custo computacional da execuc¸˜ao das nItr iterac¸˜oes. A Figura 7 permite observar que o custo real acompanha o crescimento do custo cal-culado `a medida que novas restric¸˜oes s˜ao adicionadas ao m´odulo. Dessa forma, ´e poss´ıvel fazer uma aproximac¸˜ao do custo computacional real do m´odulo a partir do conheci-mento dos custos individuais das restric¸˜oes e do n´umero to-tal de iterac¸˜oes do sistema. Com isto, pode-se prever um li-mite m´aximo do tempo necess´ario para posicionar a cˆamera no ambiente virtual seguindo as regras impostas.

Figura 7. Comparac¸ ˜ao entre custo real e custo calculado

A partir dos desempenhos constatados, podemos con-cluir que, para a cena com baixa complexidade utilizada no experimento, o posicionamento da cˆamera pode ser feito de forma eficiente.

5.2

Exemplos de configurac¸˜oes de cˆamera

Para exemplificar o uso do m´odulo cinegrafista pro-posto, foram criados modelos de movimentac¸˜ao de cˆamera. O resultado alcanc¸ado demonstra que a composic¸˜ao de restric¸˜oes simples ´e capaz de realizar configurac¸˜oes de cˆamera usualmente encontradas na cinematografia e nos jo-gos eletrˆonicos.

Fixa Este experimento consiste em posicionar a cˆamera em um local fixo na cena e enquadrar um determinado ob-jeto no centro da tela.

Para criar esta configurac¸˜ao foi adicionada uma restric¸˜ao de Posicionamento em um volume com pri-oridade 1.0 que fixa a cˆamera em uma posic¸˜ao, uma restric¸˜ao de Enquadramento com prioridade 0.05 que forc¸a o objeto a aparecer sempre no meio da tela, e uma restric¸˜ao de Orientac¸˜ao com prioridade 0.9 que fixa o up da cˆamera. O uso de uma baixa prioridade para a

(7)

restric¸˜ao de enquadramento permitiu que a cˆamera as-sumisse um movimento mais suave, criando um atraso na rotac¸˜ao da cˆamera em relac¸˜ao `a movimentac¸˜ao do objeto.

Sobre trilhos Esta configurac¸˜ao posiciona a cˆamera sobre uma linha, procurando manter uma distˆancia m´ınima de um objeto que deve sempre ser enquadrado no centro da tela. Movimentos como este s˜ao utiliza-dos quando se procura seguir um determinado objeto, como em transmiss˜oes de determinados jogos esporti-vos, como o futebol (Figura 8).

Este movimento foi realizado adicionando uma restric¸˜ao de Posicionamento em segmento de reta(prioridade 0.5) al´em de restric¸˜oes quanto `a Velocidade de translac¸˜ao(0.9), Orientac¸˜ao(0.9), Velocidade de rotac¸˜ao(0.2), Enquadramento(0.1), Visibilidade(0.5) e Distˆancia de um objeto(0.2).

(a)

(b)

Figura 8. Posicionamento de c ˆamera sobre trilho: `a esquerda a vista da c ˆamera e `a direita uma vista superior incluindo a representac¸ ˜ao gr ´afica do frustum de vis ˜ao. Note que nas extremidades do segmento de reta que re-presenta o trilho a c ˆamera ´e rotacionada para enquadrar o personagem

Sobre os ombros A cˆamera sobre os ombros ´e muito uti-lizada em jogos com visualizac¸˜ao de terceira pessoa. Consiste em posicionar a cˆamera sempre atr´as de um

objeto, deixando-o levemente deslocado do centro da tela. A Figura 9 ilustra uma tomada de cena com esta configurac¸˜ao.

Esta configurac¸˜ao foi conseguida atrav´es da adic¸˜ao de restric¸˜oes de Orientac¸˜ao(0.9), para n˜ao alterar a direc¸˜ao up da cˆamera; Distˆancia de um objeto(0.1), para a cˆamera seguir o objeto; Direc¸˜ao de um ob-jeto(0.01), para manter a cˆamera atr´as do objeto; En-quadramento(0.5), para enquadrar o objeto deslocado do centro da tela; e Colis˜ao(0.05), para evitar que a cˆamera colida com a cena. O uso de uma esfera envol-vente na restric¸˜ao de colis˜ao permite detectar a colis˜ao antes do plano de projec¸˜ao da cˆamera (znear) entrar em colis˜ao com o cen´ario. Isto permite que valores mais baixos de prioridade sejam utilizados na restric¸˜ao de colis˜ao, criando uma desacelerac¸˜ao da cˆamera `a me-dida que esta se aproxima de um obst´aculo.

(a)

(b)

Figura 9. Posicionamento de c ˆamera sobre os ombros: `a esquerda a vista da c ˆamera e `a direita uma vista superior incluindo a representac¸ ˜ao gr ´afica do frustum de vis ˜ao.

6

Conclus˜oes

O m´odulo cinegrafista proposto neste trabalho permi-tiu o posicionamento autom´atico de cˆamera em ambi-entes virtuais dinˆamicos. A utilizac¸˜ao de um modelo

(8)

f´ısico para descrever a cˆamera, com o uso do m´etodo de integrac¸˜ao Verlet e da t´ecnica de relaxac¸˜ao, se mos-trou adequada ao problema, resultando num sistema eficiente, eficaz e est´avel. O uso de restric¸˜oes indepen-dentes se relacionando atrav´es de valores de priorida-des permitiu a obtenc¸˜ao de diversas configurac¸˜oes de cˆamera baseada em agrupamentos de restric¸˜oes sim-ples. Resultados experimentais demonstram a capa-cidade do modelo proposto de simular diversas toma-das de cenas com base na cinematografia, para cˆameras voltadas tanto para os jogadores quanto para os espec-tadores.

7

Agradecimentos

Durante o desenvolvimento desta pesquisa, o pri-meiro autor recebeu aux´ılio financeiro da CAPES (Coordenac¸˜ao de Aperfeic¸oamento de Pessoal de N´ıvel Superior).

Referˆencias

[1] Amerson, Daniel and Kime, Shaun Real-time Ci-nematic Camera Control for Interactive Narrati-ves, American Association for Artificial Intellin-gence, pp. 1-4, 2000.

[2] Drucker, Steven and He, Li and Cohen, Michael and Wong, Curtis and Gupta, Anoop Specta-tor Games: A New Entertainment Modality For Networked Multiplayer Games, Microsoft Rese-arch, 2002.

[3] Drucker, Steven Intelligent Camera Control for Graphical Environments, PhD Thesis, MIT Me-dia Lab, 1994.

[4] Halper, Niclas and Helbing, Ralf and Strothotte, Thomas A Camera Engine for Computer Ga-mes: Managing the Trade-off Between Cons-traint Satisfaction and Frame Coherence, In Pro-ceedings of EUROGRAPHICS, Vol. 20, pp. 174-183, 2001.

[5] Hawkins, Brian Creating an event-driven cine-matic camera, In Game Developer Magazine, Sep/Nov, 2002.

[6] He, Li and Cohen, Michael and Salesin, David The Virtual Cinematographer: A Paradigm for Automatic Real-Time Camera Control and Direc-ting, In Proceedings of SIGGRAPH ’96, pp. 217-224, 1996.

[7] Hermann, Rodrigo Controle Autom´atico de Cˆamera em Ambientes Virtuais Dinˆamicos,

Dissertac¸˜ao de Mestrado, Departamento de In-form´atica, PUC-Rio, 2005.

[8] Jakobsen, Thomas Advanced Character Physics In Proceedings of Game Developers Conference, pp. 383-401, 2001.

[9] Otten, Martin Broadcasting Virtual Games in the Internet, 2001.

[10] Press, William and Teukolsky, Saul Numerical Recipes, Comput. Phys., Vol. 3, pp. 91-94, 1993. [11] Verlet, L. Computer experiments on classi-cal fluids. I. Thermodynamiclassi-cal properties of Lennard-Jones molecules, Phys. Rev., Vol. 159. pp. 98-105, 1967.

Referências

Documentos relacionados

3 O presente artigo tem como objetivo expor as melhorias nas praticas e ferramentas de recrutamento e seleção, visando explorar o capital intelectual para

Projetil encamisado por uma camisa pré-sulcada de latão endurecido, contendo chumbo não endurecido no seu interior, dotado de uma ponta oca. HYDRA SHOCK centro, que

15, estão representados os teores médios de safrol contido em óleo essencial obtido, no decorrer do progresso de extração, da biomassa aérea de pimenta longa procedente de cultivos

As técnicas são baseadas em descontinuidade: detecção de pontos isolados, detecção de linhas e detecção de bordas, e similaridade: limiares (Thresholding), crescimento de

Foram incluídos no estudo os portadores de cirrose hepática e carcinoma hepatocelular diagnosticado pelos critérios da EASL ( European Association for the Study of the Liver ). Após

Se no cadastro da administradora, foi selecionado na aba Configurações Comissões, para que as comissões fossem geradas no momento da venda do contrato, já é

Resultados (8) – Agressividade (Professor) tempo 2 1 Estimated Margi n al Means 1,6 1,5 1,4 1,3 controlo intervenção intercont. Estimated Marginal Means

General: Knowing the conceptual and methodological foundations of the main projective methods; Identify and understand the operational concepts of projection and distress; Identify