Interação em
Ambientes Tridimensionais
WRV 2000
Tutorial
Márcio Serolli Pinho
Faculdade de Informática da
PUCRS
Instituto de Informática da
UFRGS
1. Interação em ambientes tridimensionais
1.2 Parâmetros do processo interativo
2. Interação em ambientes não‑imersivos
2.1 Manipulação indireta de objetos
2.1.1 Manipulação com controles comuns
2.1.2 Manipulação com controles específicos
para manipulação 3D
2.1.3 Manipulação indireta com dispositivos
especiais
2.2 Manipulação direta de Objetos
2.2.1 Interação sobre vistas ortográficas
2.2.2 Interação sobre a projeção
perspectiva
2.2.3 Interação com manipuladores
tridimensionais
2.3 Seleção em ambientes não-imersivos
2.3.1 Seleção direta de objetos
2.4 Navegação em ambientes não-imersivos
2.4.1 Classificação das metáforas de
navegação
2.4.2 Características típicas do movimento
de uma câmera virtual
2.4.3 Direção de deslocamento e direção de
visão
2.4.4 Movimentação em caminhos
pré-definidos
2.4.5 Alinhamento dos eixos do observador
2.4.6 Navegação com “controles de
interface”
2.4.6.1 Navegação controles comuns
2.4.6.2 Navegação controles específicos para
manipulação de câmera
2.4.7 Navegação com dispositivos especiais
3. Interação em Ambientes Virtuais Imersivos
3.1 Ambientes virtuais imersivos
3.1.1 Usos da interação em ambientes
virtuais
3.2 Formas básicas de interação em ambientes
virtuais
3.3 Metáforas de interação direta
3.4 Parâmetros do processo interativo
3.5 Navegação em ambientes imersivos
3.5.1 Categorias de do processo de
navegação
3.5.3 Controle da direção do movimento
3.5.4 Controle da velocidade do movimento
3.6 Seleção em ambientes imersivos
3.6.1 Seleção direta de objetos
3.6.2 Técnicas de seleção por raio
3.6.3 Seleção sobre a imagem 2D do ambiente
3D
3.6.5 Seleção baseada em cone variável
3.6.6 Técnica do cursor de seda
3.6.7 Outras formas de seleção
3.7 Manipulação de objetos em ambientes imersivos
3.7.3 Interação através de dispositivos
3.8 Menus em ambientes imersivos
3.9 Utilização do corpo do usuário como
referencial em técnicas de interação
3.9.1 Uso de miniaturas do ambiente virtual
3.10 Uso de gestos no processo interativo
Figura 1.1 Controle dos Graus de
Liberdade
Figura 2.1 - Tela com excesso de
controles
Figura 2.2 – Redução do número de
controles
Figura 2.3 – Reorganização dos
controles de interface
Figura 2.4 - Widget tipo Relógio
Figura 2.5 - Widgets tipo relógio
sobre um cubo
Figura 2.6 - Widget 3D para
translação
Figura 2.7 - Widget 3D para escala
Figura 2.8 - Disposição de vistas
ortográficas
Figura 2.9 – Disposição incorreta
de eixos coordenados em vistas ortográficas
Figura 2.10 – Cálculo do fator de
escala através do movimento do mouse
Figura 2.11 – Cálculo do ângulo de
rotação
Figura 2.12 - Quantidade de
movimento dos objetos no ambiente 3D
Figura 2.13 – Controle de
Movimentação de objetos do GLEEM
Figura 2.14 – Movimento em
diferentes sistemas de referência
Figura 2.15 – Eixos do sistema de
referência do objeto no Cinema 4D
Figura 2.16 – Componentes de um
“observador virtual”
Figura 2.17 - Alternativas para
movimento de câmera
Figura 2.18 - Correção da altura da
câmera durante o deslocamento
Figura 2.19 - Alinhamento do ponto
de interesse
Figura 2.20 - Manipulação de Câmera
no VHSB
Figura 2.21 – Manipulador de Câmera
no CosmoPlayer
Figura 2.22 – Execução de um
movimento de câmera através de um ponto-alvo
Figura 2.23 – Esteira com degraus
móveis
Figura 3.1 - Dispositivo de
navegação com esteira
Figura 3.2 – Controle da direção
com as duas mãos[Mine1997]
Figura 3.3 - Controle de velocidade
por intervalos[Mine, 1995]
Figura 3.4 - Feedback visual
durante o processo de seleção
Figura 3.5 - Avatar tocando objeto
virtual
Figura 3.6 – Uso de um raio para
selecionar objeto virtual
Figura 3.7- Seleção por “cone de luz”
Figura 3.8- Técnica de seleção
“Stick Finger” [Pierce, 1997]
Figura 3.9- Técnica de seleção
“Head Crusher”
Figura 3.10- Técnica de seleção “Framing
hands”
Figura 3.11 – Múltiplos objetos
selecionados com um “Spotlight”
Figura 3.12 – Seleção por “cone
variável”
Figura 3.13 – Possibilidades de
translação com raio de apontamento
Figura 3.14 - Movimento do objeto
sobre o raio de apontamento
Figura 3.15 – Exemplo de menu
suspenso [Antoniazzi, 1999]
Figura 3.16 - Ring Menu [Ling, 1994]
Figura 3.17 - Interação com menus
através do olhar[Mine, 1997]
Figura 3.18 - Técnica “scaled world” [Mine 1997]
Figura 3.19 – Modelador geométrico
com o “Gesture VR”
Tabela 3.1 – Exemplos de aplicações
interativa de realidade virtual
Tabela 3.2 – Tarefas reais e
virtuais
Um ambiente tridimensional, no contexto deste trabalho, é um cenário dinâmico armazenado em computador e exibido, em tempo real, através de técnicas de computação gráfica.
Estes ambientes podem ser divididos em duas categorias básicas: ambientes tridimensionais imersivos e ambientes tridimensionais não‑imersivos.
Nos ambientes imersivos as imagens são exibidas ao usuário de tal forma que o faça acreditar que ele está imerso neste ambiente. Normalmente, esta exibição, a fim de atingir a sensação de imersão, é realizada através de dispositivos especiais como HMDs, BOOMs, Shutter‑Glasses ou CAVEs. No ambientes não‑imersivos, as imagens são exibidas na tela de um computador.
Neste trabalho será usado como sinônimo de “ambiente
tridimensional” a expressão “ambiente virtual”.
O processo de interação em um ambiente virtual, seja ele imersivo ou não, é considerado atualmente como sendo um sistema contínuo onde cada ação do usuário deve ser respondida com uma ação do controlador do sistema de ambiente virtual.
A idéia de interfaces entre seres humanos e sistemas deste tipo é bastante antiga. Entretanto, algumas premissas básicas aplicam-se totalmente à interação em ambientes virtuais. [Jenkins, 1949] identificou que todos os sistemas contínuos que fazem uma interface entre seres humanos e máquinas tem três componentes básicos:
·
Um dispositivo de entrada que captura o movimento do usuário;
·
Uma função de transferência que mapeia os
movimentos efetuados sobre interface para movimentos sobre os elementos
controlados pelo sistema, e;
· Um dispositivo de saída que mostra os efeitos das ações do usuário.
Uma técnica de interação faz exatamente o papel das funções de transferência. Segundo [Latta, 1994] o usuário aplica estímulos motores sobre dispositivos de entrada e através dispositivos de saída, recebe respostas capazes de impressionar um ou mais de seus sentidos.
As técnicas de
interação, neste contexto, permitem mapear entradas do usuário (posições de
mão, braços, cabeça, comandos de voz, etc) capturadas por dispositivos, em
ações e comandos nos ambientes virtuais.
Apesar dos sistemas gráficos interativos serem capazes de
exibir imagens de alta qualidade em tempo real a partir de modelos
tridimensionais, ainda persiste o problema de como interagir em ambientes
virtuais de uma maneira natural e livre de erros. Por isto, projeto de uma interface homem-máquina deve possuir não só o
conhecimento das capacidades motoras do ser humano, mas também, deve ter
conhecimento de como se realizam as tarefas tridimensionais.
A interação com objetos em ambientes tridimensionais é realizada com objetivo de efetuar operações de seleção, manipulação e navegação no ambiente tridimensional.
Por manipulação entende-se a tarefa de alterar algum parâmetro de um objeto tridimensional que acarrete mudança de suas propriedades geométricas (tamanho, posição ou orientação) ou não. Por seleção entende-se o processo de definir, dentre os objetos de um ambiente tridimensional, sobre qual deles se deseja operar. A navegação, por sua vez, é o processo de mudar a posição do observador do ambiente tridimensional.
Neste texto estar-se-á dividindo o processo interativo em duas formas: Interação não‑imersiva (capítulo 2) e Interação Imersiva (capítulo 3).
Na interação imersiva considera-se que o usuário está utilizando dispositivos de realidade virtual capazes de impedir este veja o mundo real que o cerca, passando a enxergar apenas o ambiente gerado pelo sistema gráfico. Na interação não‑imersiva, toma‑se o usuário como alguém que observa um cenário tridimensional através da tela de um computador.
No restante deste capítulo são apresentados alguns aspectos comuns às duas formas de interação, que são, o conceito de metáforas de interação (seção 1.1) e os parâmetros que controlam estas metáforas (seção 1.2).
Uma metáfora de interação constitui‑se de conjunto regras, técnicas e restrições que buscam definir um paralelo entre o mundo real e a técnica para a interação com um computador. As metáforas de interação são adotadas com o objetivo de trazer o processo interativo para um domínio já conhecido pelo usuário e assim facilitar seu aprendizado e aumentar as possibilidades de sucesso e a qualidade da interação.
Seja qual for a metáfora, e também qualquer que seja a operação a ser realizada (navegação, seleção ou manipulação), pode-se operar de forma absoluta ou relativa.
Na forma absoluta a metáfora permite informar o novo valor do parâmetro que a ser modificado, de forma independente do valor existente no momento inicial da interação. Já na modalidade relativa, o valor atual do parâmetro é levado em conta no momento da definição do novo valor. Desta forma, este novo valor é obtido pela aplicação de um fator de multiplicação ou de soma, sobre o valor anterior.
As operações básicas do processo interativo em ambientes tridimensionais possuem dois parâmetros comuns, que devem ser considerados na construção das metáforas de interação. São eles a resolução e o número de graus de liberdade dos processos interativos.
A resolução trata do tamanho intervalo por se ver ser obtido entre dois valores consecutivos quaisquer na definição de um parâmetro como rotação ou posição. Em uma primeira análise, pode parecer que quanto menor o intervalo, melhor será a qualidade da ferramenta de interação. Entretanto, este é um aspecto que depende muito da aplicação e de seus objetivos. O alinhamento de objetos entre si, por exemplo, pode tornar-se bastante difícil se a resolução disponível no processo interativo for muito grande. Imagine-se dois objetos cujas alturas sejam controladas por dois sliders que o usuário pode manipular com o mouse. Neste caso a dificuldade surge quando o usuário tenta colocar os dois objetos em uma mesma altura dentro de um cenário. Caso com os intervalos entre os dois valores consecutivos forem muito pequenos, o usuário terá dificuldade para definir valores iguais (a não ser que utilize uma interface textual).
Outro exemplo é o traçado de uma linha perfeitamente horizontal. Caso a ferramenta de interação dê ao usuário um controle muito fino do movimento dos extremos da linha, tornar-se-á bastante difícil criar dois pontos com a mesma coordenada Y.
Em casos como estes, freqüentemente, as ferramentas de interação disponibilizam recursos como grades de realinhamento. Nestas, ocorre uma espécie de redução forçada da resolução do movimento, tornando a escolha de duas posições alinhadas entre si, um processo mais rápido e simplificado.
O segundo parâmetro, comum a todas as técnicas de interação com objetos tridimensionais, é número de graus de liberdade da ferramenta ou da técnica de interação. O número de graus de liberdade define o número de eixos de coordenadas que podem ser manipulados simultaneamente durante o processo interativo. Um mouse, por exemplo, tem intrinsecamente dois graus de liberdade no que se refere a seu movimento. Uma metáfora interação construída utilizando-se de um mouse pode, entretanto, ter apenas um grau de liberdade desde que o movimento em um dos eixos seja em ignorado.
A necessidade de controle dos graus de liberdade de um processo interativo surge, por exemplo, quando se precisa mover um objeto em apenas uma direção, como no caso de encaixar um retângulo entre dois outros já existentes. Na Figura 1.1 pode-se observar um caso em que a diminuição dos graus de liberdade pode auxiliar no deslocamento.
Considere-se que o objetivo seja levar com o mouse, o retângulo R do ponto A, ao ponto E, sem colidir com as paredes do mapa durante o trajeto. No percurso entre os pontos A e B, o objeto R não precisa mover-se no eixo Y, pois se o fizer, poderá colidir com os blocos já posicionados. No ponto B os graus de liberdade devem ser novamente restaurados. Ao iniciar o movimento em direção ao ponto C o movimento deve ficar restrito ao eixo Y e assim sucessivamente até que o usuário consiga posicionar o objeto no local desejado.
Figura 1.1 Controle dos Graus de Liberdade
Os principais sistemas a utilizarem a interação com ambientes tridimensionais não-imersivos são os editores gráficos tridimensionais, seja para modelagem de objetos ou para a criação de animações.
Nestes sistemas o usuário observa os objetos tridimensionais projetados uma janela na tela de um computador. Para a geração desta projeção parte-se de modelos de objetos tridimensionais e da posição de um “observador virtual”.
Por meio de comandos com mouse, teclado ou o outro dispositivo, pode selecionar e editar as propriedades destes objetos e também alterar parâmetros como a posição ou o ângulo de visão do observador, configurado-se, nestes casos, um processo de navegação.
Em outras palavras, em ambientes tridimensionais não‑imersivos a interação com um objeto é realizada com objetivo de efetuar operações de seleção, rotação, translação e escala sobre estes objetos ou então para realizar alterações na configuração do observador do ambiente virtual.
Em todos estes casos, a imagem está sendo exibida sobre uma tela de computador, através de uma projeção bidimensional (ortográfica ou perspectiva).
As
metáforas de interação em ambientes não imersivos podem ser classificadas de
acordo com a forma como o usuário altera os valores que definem os parâmetros
de rotação, escala, translação e navegação. Esta manipulação pode ser feita direta
ou indiretamente.
A manipulação direta é aquela em que o usuário opera diretamente sobre a projeção perspectiva do objeto na tela. Maiores detalhes sobre os aspectos relativos a esta modalidade de interação são apresentadas na seção 2.2.
A manipulação indireta é aquela em que o usuário opera sobre algum tipo de “entidade intermediária” que permite a geração de novos valores a serem usados na modificação dos parâmetros do objeto. Maiores detalhes sobre os aspectos relativos a esta modalidade de interação são apresentadas na seção 2.1. Estas “entidades intermediárias” podem ser tanto dispositivos especiais, quanto objetos de interface, os chamados widgets.
Na manipulação indireta por objetos de interface, o controle do objeto é feito através da atuação do usuário sobre botões, sliders ou outros elementos, que o usuário manipula da tela do computador. Maiores detalhes sobre as técnicas relativas a esta modalidade de interação são apresentadas nas seções 2.1.1 e 2.1.2.
Na manipulação indireta por dispositivos especiais, por sua vez, o controle do objeto é feito através de algum dispositivo especial que ao ser manipulado gera informações que permitem a atualização dos parâmetros do objeto. Maiores detalhes sobre as técnicas relativas a esta modalidade de interação são apresentadas na seção 2.1.3.
A forma mais comum (e mais fácil de implementar) para a manipulação de objetos tridimensionais em ambientes não‑imersivos é o uso de manipulação indireta.
Nas metáforas desta categoria o usuário atua sobre objetos de interface bidimensionais, conhecidos como widgets, e os valores obtidos destes objetos são usados para a manipulação dos objetos tridimensionais.
A grande vantagem desta a abordagem é o fato de que os usuários estão, bastante habituados com o uso destes controles bidimensionais, o que facilita em muito, o processo de aprendizagem do uso da interface.
Nesta categoria há duas abordagens: a utilização de controles comuns de interfaces 2D e a criação de controles específicos para a manipulação tridimensional.
Nas seções 2.1.1 e 2.1.2, a seguir, estas duas categorias são apresentadas em maiores detalhes.
Aqui cabe especificar o que se considera neste texto como sendo um “controle comum”. Um controle comum de interface é aquele disponível na maioria das interfaces gráficas, como é o caso de sliders, botões, menus e etc.
Para o aproveitamento, por exemplo, de um slider em uma aplicação tridimensional, o projetista do software precisa apenas capturar o número devolvido por este objeto e utilizá-lo para alterar a posição, a rotação ou a escala de um objeto 3D. Neste caso, pode-se ter um slider para cada eixo e para cada atributo sendo manipulado. Isto, entretanto, pode causar um certo grau de “poluição visual” na montagem da tela de interação, pois serão necessários muitos controles numa mesma tela (Figura 2.1).
Figura 2.1 - Tela com excesso de controles
Para minorar este problema é possível adotar um esquema de seleção de qual a transformação geométrica (rotação, escala ou translação) está sendo trabalhada, reduzindo desta forma, o número de sliders. Esta seleção pode ser feita em menus ou selecionadores mutuamente exclusivos como radio-buttons (Figura 2.2).
Figura 2.2 – Redução do número de controles
A fim de dar um aspecto tridimensional ao processo interativo e assim facilitar a identificação de qual a funcionalidade de cada controle, podem ser adotadas estratégias que, apesar de simples, provém um resultado bastante interessante do ponto de vista da qualidade da interação. Uma destas estratégias é o posicionamento dos sliders sobre eixos coordenados e a representação das transformações por ícones, como na Figura 2.3
Figura 2.3 – Interface com ícones de transformação
Além dos sliders pode-se utilizar outros tipos de widgets, como botões ou simplesmente cursores. No caso de botões, a cada clique, o objeto pode sofrer um certo grau de modificação em seus parâmetros de escala, rotação ou translação.
Nesta categoria, encontram se os widgets de interface criados (ou adaptados) para atuar especificamente na interação com objetos tridimensionais.
Um exemplo interessante é o uso widgets do tipo relógio, que na verdade não foram criados para uso em interfaces de aplicações tridimensionais, mas são bastante úteis para este caso, em especial para a rotação de objetos. Nesta metáfora, imagens de relógios de ponteiros são criadas e dispostas de tal forma que, pelo movimento do mouse, pode‑se alterar a posição dos ponteiros. A implementação deste método, é feita através da criação de uma linha imaginária entre a posição do mouse e o centro de um dos ponteiros de um relógio (Figura 2.4) .
Figura 2.4 - Widget tipo Relógio
Para dar um aspecto visual mais afeito ao processo tridimensional, uma alternativa é colocar as imagens dos relógios sobre as três faces visíveis de um cubo. Com isto, em cada face, o usuário pode manipular o objeto ao redor de um dos eixos coordenados (Figura 2.5)
Para efetuar a translação de um objeto pode-se imaginar um conjunto de ícones de que se desloquem ao longo de eixos coordenados. Estes ícones, a partir do movimento do mouse, deslocam-se presos aos eixos, atuando de forma muito semelhante a um slider (Figura 2.6).
Para escala, pode-se utilizar a idéia de “espichar e encolher” um objeto “pegando‑o” através de algum manipulador. Uma idéia interessante neste caso é a inclusão de vetores nas faces visíveis de um cubo. Nestes vetores o usuário pode clicar e arrastar de forma a “encolher ou espichar” um objeto (Figura 2.7).
Figura 2.5 - Widgets tipo relógio sobre um cubo
Figura 2.6 - Widget 3D para translação
Figura 2.7 - Widget 3D para escala
Manipular objetos com dispositivos especiais significa, neste texto, utilizar algum dispositivo diferente de um mouse para efetuar uma transformação sobre um objeto.
Para efetuar um escala ou uma translação, por exemplo, pode‑se lançar mão de um objeto como um potenciômetro deslizante que à medida que é deslocado, fornece valores de resistências elétricas diferentes entre si. No caso de uma rotação pode-se usar um potenciômetro com eixo giratório.
É importante notar aqui que, para o funcionamento deste tipo de equipamento, deve existir alguma fora de converter a informação analógica provida pelo dispositivo, para informações digitais interpretáveis em um computador.
Neste texto considera-se e manipulação direta como sendo o processo de alteração dos parâmetros de rotação, escala e translação de objetos tridimensionais através do apontamento sobre a imagem de sua projeção. Esta projeção pode ser tanto um conjunto de vistas ortográficas, quanto uma imagem em perspectiva.
Nestes casos a interação é muito semelhante ao processo de interação bidimensional, comum a editores de desenho. Nestes, o usuário clica sobre o objeto desejado e com o movimento do mouse pode posicionar, rotacionar ou alterar o tamanho de um objeto.
Na Figura 2.8 pode‑se observar a organização física de três vistas ortográficas sobre as quais um usuário pode interagir a fim de modificar parâmetros de um objeto.
Um aspecto importante na montagem de uma tela com vistas ortográficas é a disposição de cada uma destas vistas sobre a tela. É aconselhável que o posicionamento seja feito de forma que os eixos coordenados iguais, exibidos em vistas diferentes, sejam alinhados de tal forma que o usuário possa facilmente perceber a relação entre eles. Na Figura 2.9 pode‑se observar um exemplo de disposição que não propicia este relacionamento.
Figura 2.8 - Disposição de vistas ortográficas
Figura 2.9 – Disposição incorreta de eixos coordenados em vistas ortográficas
Para realizar uma translação o usuário pode clicar sobre um objeto e movendo o mouse posicioná‑lo onde desejar. Cabe ressaltar que, em cada vista ortográfica, o objeto só pode ser movido em duas direções, de acordo com a vista escolhida. O diferencial entre a manipulação de vistas e o uso de ambientes gráficos 2D é que, ao efetuar a movimentação ao longo de um dos eixos coordenados, em uma das vistas, a outra vista que possui este eixo também deve ser alterada.
Para a realização de uma escala, o usuário clica sobre um objeto e ao mover o mouse são calculadas as distâncias por ele percorridas, ao longo dos eixos coordenados, entre o ponto inicial (antes do início do movimento) e o ponto final. Estas distâncias podem então ser usadas como fatores de escala para alterar o objeto.
Na verdade o que a maioria dos editores faz é utilizar como fator de escala a razão entre a distância calculada e o tamanho do objeto nesta mesma direção. Com isto, se o mouse mover-se ao longo do eixo X, por 5 unidades e o objeto tiver 10 unidades neste mesmo eixo, então o tamanho final do objeto será de 15 unidades (Figura 2.10), ou seja, seá aplicado um fator de escala de mais 50%.
Figura 2.10 – Cálculo do fator de escala através do movimento do mouse
Na rotação, por sua vez, pode-se tomar a posição do mouse, no momento da seleção do objeto, e a posição do mouse ao longo de seu movimento. A partir disto pode-se, com estes dois pontos criar um vetor e a seguir calcular o ângulo deste vetor com o eixo horizontal (Figura 2.11). Cabe ressaltar que a rotação é realizada sempre ao redor do eixo que não está visível na vista ortográfica manipulada.
Figura 2.11 – Cálculo do ângulo de rotação
Nesta categoria, a interação com um objeto tridimensional processa-se sobre a projeção perspectiva deste objeto.
A seleção do objeto a ser manipulado também é feita sobre a projeção perspectiva. Detalhes sobre este assunto são apresentados na seção 2.3
A forma mais simples de interação direta desenvolve-se a através da leitura do movimento do mouse sobre a janela onde o objeto é exibido.
No caso da execução de uma translação, pode-se montar uma metáfora de interação onde o movimento do mouse para a esquerda ou para a direita desloca o objeto na mesma direção, já o movimento na vertical desloca o objeto para cima ou para baixo no ambiente tridimensional. Para o movimento no eixo Z, o usuário deve usar há algum artifício adicional como, por exemplo, clicar com um dos botões do mouse ou pressionar uma tecla como shift ou alt, à medida que movimenta o mouse pela tela.
Um aspecto importante na implementação desta forma de interação é quanto o objeto desloca-se no ambiente tridimensional à medida que o mouse desloca-se sobre a tela. Esta relação pode ser calculada, por exemplo, com base no campo de visão do usuário de forma que se garanta que o movimento do mouse de um lado para outro da tela, leve o objeto aos limites do campo de visão do usuário. Isto, conforme pode ser observado na Figura 2.12, requer que se leve em conta a distância entre o usuário e o objeto. Na figura, o objeto 1 move-se com mais velocidade do que o objeto 2 à medida que mouse move‑se sobre a tela.
Outro aspecto importante a considerar neste tipo de processo interativo é a forma de seleção da operação (rotação, escala, translação). A maioria das ferramentas, como Maya, 3D Studio ou Cinema 4D, usam os tradicionais ícones para a seleção da operação. Algumas outras aplicações usam uma combinação de teclas ou de botões, que devem ser pressionados simultaneamente com o movimento do mouse para definir a operação.
Figura 2.12 - Quantidade de movimento dos objetos no ambiente 3D
Nesta segunda alternativa, pode-se criar uma metáfora de interação em que, por exemplo, movendo-se o mouse efetue-se uma translação nos eixos X e Y, pressionando se a tecla shift efetua se uma rotação e com a tecla ALT, uma escala. O botão do mouse, por sua vez, fica reservado para ações sobre o eixo Z.
Uma terceira forma de interagir com objetos tridimensionais, atuando só a perspectiva é o uso de manipuladores tridimensionais.
Estes manipuladores são objetos que, colocados sobre o centro de referência do objeto a ser manipulado podem permitir, um controle mais fácil, preciso e intuitivo dos parâmetros do objeto em questão.
Disponíveis em bibliotecas como Open Inventor [OpenInventor, 2000] e GLEEM (OpenGL Extremely Easy-to-use Manipulators) [Gleem, 2000], procuram simular “alças” através das quais o usuário pode girar, mover ou espichar um objeto 3D.
Para mover um objeto, por exemplo, o GLEEM possui o controle que é apresentado na Figura 2.13 este controle, formado por setas de tridimensionais, permite que o usuário possa mover o objeto na direção que desejar, clicando sobre um dos eixos e deslocando o mouse na direção escolhida.
Figura 2.13 – Controle de Movimentação de objetos do GLEEM
O uso destes manipuladores afeta o objeto usando sempre seu próprio sistema de referência ao invés de usar o sistema de referência do universo. Ou seja, quando um deslocamento em X for efetuado este acarretará um movimento do objeto ao longo de seu eixo X atual e não ao longo do eixo X do universo. Na Figura 2.14 pode-se observar as diferenças entre deslocamentos nestes dois sistemas referência.
Figura 2.14 – Movimento em diferentes sistemas de referência
Para que esta operação seja intuitiva é preciso, portanto, que os manipuladores sejam exibidos alinhados com os eixos do sistema de referência do objeto. Na Figura 2.15 pode-se observar um exemplo disto no software Cinema4D.
Figura 2.15 – Eixos do sistema de referência do objeto no Cinema 4D
Para que seja possível interagir com um objeto tridimensional é necessário antes de tudo, selecioná-lo. Neste trabalho apresentar-se-ão apenas as técnicas de seleção que dizem respeito à seleção diretamente sobre a imagem perspectiva do objeto, deixando de lado a seleção por vias indiretas como menus ou ícones e também a seleção através de vistas ortográficas.
Naturalmente não se objetiva com isso, sustentar que não seja possível utilizar estas formas de seleção. Entretanto, pelo fato de que estas formas são, em essência, metáforas bidimensionais, não serão aqui abordadas.
A seleção de objetos em aplicações tridimensionais pode ser dividida em quatro categorias de acordo com o alvo da seleção. Pode-se ter seleção de faces, de arestas, de vértices ou de objetos propriamente ditos.
A seleção de um objeto dá-se, em geral, pela simples marcação de um ponto ou de uma janela sobre a imagem perspectiva do objeto de interesse. Para identificar qual dos objetos está sendo selecionado, o sistema de interação pode tanto utilizar um envelope (retangular ou não) que envolve sua projeção, quando determinar se o ponto informado está ou não dentro do polígono bidimensional que forma sua projeção.
Tanto num caso quanto noutro, a ferramenta de rendering de objetos deve prover esta informação à aplicação ou então a “avisar” através de funções de callback ou de eventos de que isto ocorreu. OpenGL, por exemplo, adota a alternativa de funções de callback.
A seleção de uma parte de um objeto, seja de uma face, uma aresta ou mesmo um vértice, segue a mesma metodologia dos objetos. A diferença, incorporada na maioria dos sistemas de animação e modelagem, é o uso de um “modo que seleção”. Este modo, selecionado explicitamente pelo o usuário, permite que se faça esta diferenciação antes do apontamento.
Um ponto essencial durante a seleção do objeto é a exibição do mesmo, ou de uma de suas partes, como alguma diferenciação dos demais, a fim de indicar que a seleção foi efetuada. Alguns softwares fazem esta diferenciação exibindo os manipuladores sobre o objeto, outros apenas alteram suas cores ou de suas partes.
A navegação em um ambiente tridimensional, imersivo ou não, caracteriza‑se, em última instância, pelo deslocamento de um observador virtual dentro do modelo geométrico do cenário que se está interessado em visualizar.
Um observador de um ambiente gráfico, daqui para frente, chamado simplesmente de observador ou observador virtual ou ainda de câmera, por ser semelhante a uma câmera fotográfica, é composto de uma posição, de um ponto de interesse e de um ângulo de visão (Figura 2.16).
Figura 2.16 – Componentes de um “observador virtual”
A posição define de onde o observador está olhando o ambiente, o ponto de interesse define o local para onde o observador está olhando, e o ângulo de visão, a porção do ambiente que pode ser visualizada.
As metáforas apresentadas a seguir são, portanto, técnicas para a alteração destes parâmetros.
O ponto de interesse pode ser representado de fato por um ponto. Entretanto, sua definição pode dar-se também através de um ângulo de rotação ao redor de cada um dos eixos coordenados.
Dependendo da aplicação, uma ou outra forma de representação será considerada mais conveniente. Em uma animação onde a câmera precisa “seguir” um certo objeto, é interessante a idéia de representar o ponto de interesse por um ponto. Já no caso de um de visualizador de cenários que simule o movimento da cabeça de uma pessoa, a idéia de usar‑se ângulos é mais adequada.
As metáforas de navegação em ambientes não imersivos podem ser classificadas em segundo dois critérios: semântica da câmera no processo interativo e forma de controle da navegação.
No primeiro, a classificação é feita diferenciando-se, ou não, a câmera em relação aos demais objetos do cenário. Nesta classificação a câmera pode ser entendida de duas formas:
· Como apenas mais um objeto e, portanto, usar as mesmas metáforas de interação já descritas para objetos;
· Ou pode ser considerada como um objeto peculiar, com parâmetros e funções próprios e, portanto, necessitando de controles e metáforas específicos.
Neste
capítulo serão descritas apenas aquelas metáforas em que a câmera é considerada
um objeto especial, diferente dos demais objetos do cenário. Isto porque,
conforme já foi mencionado, quando considerada um objeto comum, pode sofrer a
manipulação usando-se as mesmas metáforas de objetos, já descritos
anteriormente nas seções 2.1 e 2.2.
O segundo critério de classificação (forma de controle da navegação), semelhante àquele usado para a manipulação de objetos, divide as metáforas de navegação em metáfora de controle direto e metáforas de controle indireto. Nesta última, usam‑se controles de interfaces para manipular a câmera virtual, na primeira, efetuam‑se as alterações diretamente sobre a imagem da câmera.
Por ser um objeto de características específicas, as operações sobre uma câmera virtual requerem algumas preocupações especiais.
Ao mover a posição do observador virtual, por exemplo, é importante atentar para o que fazer com o ponto de interesse. Uma alternativa é mantê-lo fixo, independente do movimento da posição. Por outro lado, pode‑se movê‑lo acompanhando os movimentos da posição. Na Figura 2.17 pode-se observar o efeito destas duas alternativas a partir de uma situação inicial comum. A mesma preocupação deve ser considerada quando da movimentação do ponto de interesse.
Figura 2.17 - Alternativas para movimento de câmera
Outra operação típica de uma câmera virtual é o movimento que simula o movimento da cabeça de uma pessoa ao redor do pescoço. Para tanto, a câmera deve ser girada ao redor de seus três eixos, tomando sempre a configuração atual como referência para novos movimentos e nunca os eixos coordenados do universo.
Outra característica que deve ser considerada na movimentação de um observador virtual, especialmente em casos de simulação de caminhadas, é a distância entre a câmera e o solo, que, nestes casos, deve ser mantida constante durante a navegação. A Figura 2.18 exemplifica o efeito desta técnica na movimentação de um observador. A linguagem VRML, por exemplo, possui formas de se definir entidades que são consideradas como sendo o “chão do cenário” e que, por este motivo, podem ser usados para controlar a altura do observador ao longo de seu deslocamento.
Figura 2.18 - Correção da altura da câmera durante o deslocamento
Outro cuidado a ser adotado neste tipo de movimento é a mudança do ponto de interesse relativamente à mudança da inclinação da superfície onde está o observador. Se o objetivo é simular o comportamento de uma pessoa, a inclinação do vetor de visão (entre a posição da câmera e o ponto de interesse) deve ser alterada de acordo com a inclinação do solo (Figura 2.19).
Figura 2.19 - Alinhamento do ponto de interesse com o solo
Um ponto importante a ser considerado na simulação do movimento de um observador virtual é o conceito de “andar para frente”. Este movimento permite especificar o deslocamento de acordo com o sistema de referência próprio do observador virtual e não do sistema de referência do universo. Isto é bastante útil quando está se buscando simular o movimento de caminhada em um ambiente real.
Quando um observador é deslocado “para frente” podem ocorrer duas situações: na primeira, menos natural, mas mais comum nos sistemas gráficos tridimensionais, a direção do vetor de visão define o movimento “para frente”. Na segunda situação com o observador virtual possui além da direção de visão (vetor de visão), a direção de deslocamento (vetor de deslocamento). Nesta configuração o movimento processa‑se na direção deste segundo vetor e não na direção do vetor de visão. Isto permite que se faça um deslocamento numa certa direção e ao mesmo tempo possa-se observar o ambiente ao redor.
Algumas aplicações permitem, e até que exigem, que haja a definição prévia das posições por onde a câmera ou o observador virtual pode movimentar-se.
O deslocamento em um túnel, ou no interior de um tubo, a navegação pelo interior de um modelo do intestino de um ser humano ou ainda a simulação do movimento de um trem, são exemplos de aplicações em que este tipo de técnica é desejável ou essencial. Nestes casos as únicas possibilidades interação dadas ao observador são a mudança na direção de visão e o deslocamento para frente ou para trás.
Esta forma de navegação também é bastante usada em sistemas de animação. Nestes sistemas, uma câmera é “presa” a um “caminho” formado por pontos-chave. As configurações de posição, ângulo de visão e ponto de interesse são definidos a cada um destes pontos.
É importante ressaltar que o movimento do ponto de interesse também pode ser controlado usando-se este tipo de recurso. Especificamente no caso de sistemas de animação, as posições do observador virtual e do ponto de interesse podem ser associadas às posições de objetos do ambiente tridimensional.
Um aspecto relevante em qualquer metáfora de navegação é a possibilidade de re‑alinhar-se o observador virtual com os eixos coordenador.
Quando o movimento que é permitido ao usuário efetuar sobre o observador virtual possui poucas restrições, pode ocorrer que a posição deste torne-se de tal forma confusa que o movimento a partir dela seja pouco produtivo e acabe dificultando a obtenção do deslocamento desejado.
Para tais situações, alguns sistemas, como o CosmoPlayer, o Cortona e o Internet Explorer, permitem, durante a navegação em um ambiente VRML, o alinhamento do observador em relação ao plano XZ. Este alinhamento é feito através da colocação do eixo Y do observador de forma perpendicular ao referido plano.
O uso de manipulação indireta (a através de controles de interfaces) é a forma mais comum para navegação em ambientes virtuais tridimensionais. Cabe ressaltar que estes controles buscam implementar a navegação levando em conta as características peculiares deste movimento descrita nas seções de 2.4.2 a 2.4.5.
Quando o processo de navegação é comandado por um “controle comum” como um slider ou uma lista de opções, o processo é idêntico ao realizado no caso de manipulação de objetos, descrito na seção 2.1.1.
No caso de navegação, os parâmetros a serem controlados são a posição do observador e do ponto de interesse e o ângulo de visão. Para efetuar estas alterações, em geral, são usados controles como sliders ou spins. Entretanto, outros tipos de elementos de interface podem ser usados. Um exemplo disso é a possibilidade de se acessar, através de menus, as posições onde se deseja que o observador seja posicionado. Em VRML, por exemplo, é possível pré‑definir, na descrição do cenário, um conjunto de posições que são posteriormente acessíveis através de uma lista de opções, disponível na interface do navegador.
Esta técnica é muito útil também, quando se deseja restringir as possibilidades de navegação, seja por questões técnicas (o ambiente tridimensional não está completo), de desempenho (o ambiente tridimensional é muito complexo para permitir-se uma navegação livre) ou inerentes à aplicação (não faz sentido, à aplicação, que um usuário navegue por outras regiões).
Outra utilização de “controles comuns” é para a efetivação de um reposicionamento do observador em uma posição previamente conhecida, como no caso apresentado na seção 2.4.5, onde o usuário pode não estar localizando-se no ambiente tridimensional e necessite retornar a uma posição conhecida.
Os mesmos controles apresentados nas seções 2.1.1 e 2.1.2 podem ser usados para manipulação de um observador virtual, adaptando-se, naturalmente a alteração dos parâmetros de translação, rotação e escala para as alterações necessárias sobre os parâmetros de posição, ângulo de visão e ponto de interesse da câmera.
Entretanto, alguns controles específicos podem ser usados para manipular uma câmera num espaço tridimensional. A seguir serão apresentados alguns exemplos existentes que resumem a maioria das possibilidades.
O software “Virtus Home Space Builder” (VHSB) usa uma espécie de tripé sobre o qual é colocada uma câmera de filmagens (Figura 2.20). Nesta câmera o usuário pode regular a altura e a inclinação vertical, inclinando-a para cima ou para baixo. Para definir a posição e o ponto de interesse o usuário dispõe de uma vista superior do ambiente tridimensional na qual pode manipular uma representação da câmera e controlar suas coordenadas X e Z, utilizando o mouse para arrastar esta representação. O software possui ainda botões que permitem olhar para os lados e a andar para frente ou para trás. A fim de permitir o retorno ao a oposição conhecida o VHSB possui três controles: um que redefine altura da câmera, outro sua inclinação vertical e um terceiro para redefinir o ângulo de visão para um valor pré-definido.
Figura 2.20 - Manipulação de Câmera no VHSB
Outro software que possui controles específicos para navegação é o CosmoPlayer. Neste ambiente o controle do deslocamento do observador pode ser realizado por um controle de interfaces que busca simular o manche de um avião (Figura 2.21). Empurrando‑o para frente é possível andar para frente e puxando o para trás anda‑se para trás. Neste mesmo o sistema existem controles para virar a cabeça do observador virtual tanto na vertical, quanto na horizontal.
Figura 2.21 – Manipulador de Câmera no CosmoPlayer
Um outro tipo de controle usado para manipular a câmera, presente em navegadores como o Internet Explorer e Cortona, é o comando de “alvo”. Com ele o usuário aponta com o mouse um objeto e ao realizar o click o observador virtual é deslocado de forma a colocar-se em uma posição tal que possa visualizar de perto o objeto marcado. Na Figura 2.22 pode-se observar o efeito deste comando. Um aspecto importante neste tipo de operação é que o movimento seja feito de forma animada, mostrando ao usuário o processo que está sendo realizado. Uma mudança instantânea de posição tende a causar desorientação ao usuário.
Figura 2.22 – Execução de um movimento de câmera através de um ponto-alvo
Em face da complexidade do controle da navegação de um observador virtual, diversos dispositivos especiais são usados para realizar essa tarefa. Estes dispositivos vão desde simples joysticks, passando por direções de carros, bicicletas, chegando até dispositivos com esteiras rolantes [Noma, 2000] ou com degraus móveis como o Gait Master [Iwata, 2000] (Figura 2.23) , que permitem a simulação de uma caminhada.
Figura 2.23 – Esteira com degraus móveis
Quando se utiliza um joystick, por exemplo, o movimento do manipulador para frente pode ser mapeado para um deslocamento na mesma direção, o giro no eixo Y, para um giro do vetor de visão ou do vetor de deslocamento. A escolha, entretanto, deve recair sobre os movimentos que os projetistas julguem mais naturais e também mais adequados à aplicação.
Com o advento da realidade virtual, as formas de interface entre homem e máquina poderão ter uma enorme evolução em termos de qualidade. Esse acréscimo na qualidade de interface poderá surgir pelo fato de que a realidade virtual pode proporcionar modos mais intuitivos dos usuários interagirem com o sistema. Isto, entretanto só será possível se esta nova tecnologia de fato possibilitar o desenvolvimento de ambientes virtuais mais semelhantes com a realidade, além de técnicas mais naturais de interação com esses ambientes.
Para tanto, essas técnicas de interação devem permitir ao usuário, executar ações como seleção, manipulação e navegação dentro dos ambientes virtuais, aproveitando seus conhecimentos sobre o mundo real.
As técnicas bidimensionais chamadas de "metáforas de mesa" baseadas em menus, botões, caixas de diálogo e outros são pouco apropriadas para aplicações que usam capacetes de realidade virtual, luvas e dispositivos de apontamento com seis graus de liberdade.
Neste capítulo é apresentado um estudo sobre os aspectos
relativos à interação em ambientes virtuais imersivos. São apresentadas técnicas de seleção, de manipulação
de objetos, bem como de navegação em ambientes tridimensionais
imersivos.
Antes desta subdivisão, são apresentadas algumas considerações gerais sobre as técnicas de interação em ambientes imersivos. A seguir algumas destas técnicas mais importantes e representativas das diversas categorias são descritas com mais detalhes.
Neste trabalho, um ambiente virtual imersivo é um cenário tridimensional dinâmico (animação) armazenado em computador e exibido através de técnicas de computação gráfica, em tempo real, de tal forma que faça o usuário acreditar que está imerso neste ambiente. Normalmente, esta exibição, a fim de atingir a sensação de imersão, é realizada através de dispositivos especiais como HMDs, BOOMs, Shutter‑Glasses ou CAVEs.
O ambiente virtual nada mais é do que um cenário onde os usuários de um sistema de realidade virtual podem navegar e interagir. Uma característica importante dos ambientes virtuais é o fato deles serem sistemas dinâmicos, ou seja, os cenários modificam‑se, em tempo real, à medida que os usuários vão interagindo com o ambiente. Um ambiente virtual pode ser projetado para simular tanto um ambiente imaginário quanto um ambiente real.
O uso de interação em ambientes virtuais imersivos tem crescido muito nos últimos anos. Cada vez mais áreas estão buscando nesta ferramenta um melhor suporte ao processo de interação homem-máquina.
Atualmente por exemplo, a comunidade de arquitetura já busca formas não só de visualizar os ambientes com imersão, mas está buscando principalmente, interagir e projetar seus espaços em ambientes imersivos.
O outro exemplo são as aplicações de visualização científica, nas quais, os cientistas podem ver e interagir com cenas e objetos complexos de uma a forma muito mais rica, poderosa e intuitiva do que através de uma tela de computador [Taylor, 1993; Lin, 2000; Wan, 2000], além de poder situar‑se dentro do experimento sem afetar sua simulação.
Conforme pode ser observado na Tabela 3.1 algumas dessas aplicações têm obtido resultados razoáveis. Apesar destes exemplos, o número de aplicações bem sucedidas de ambientes virtuais ainda é pequeno e fica restrito aos limites dos laboratórios de pesquisa. A maioria das aplicações de sucesso é representada por sistemas de visualização espacial. Nessas aplicações faz-se um grande uso da possibilidade que os ambientes imersivos têm de que o usuário mova-se dentro do mesmo e visualize o ambiente, de diversas posições, sem, entretanto, haver a necessidade de um alto grau de interação entre o usuário e os objetos do ambiente.
Tabela 3.1 – Exemplos de aplicações interativa de realidade virtual
Domínio |
Exemplos |
Experiências de imersão |
Tratamento psicoterápico [Rothbaum 1995; Shinomiya, 1997; Rizzo, 2000] Entretenimento e Educação [Pausch 1996; Johnson, 1998; Goebel, 1999; Sommerer, 1999, Sommerer, 1999] |
Treinamento |
Cirúrgico [Chua, 1998; Burdea, 1998; Stansfield, 1998; Zhu, 1999] Militar [Macedonia 1994; Julier, 1999] Manutenção: [Wilson 1995; Jayaram, 1999; Fröhlich, 2000] |
Visualização de ambientes inexistentes perigosos ou impossíveis |
Simulação de Colisões: [Schulz, 1998] Dinâmica de Fluidos: [Bryson 1992] Manipulação de Dados Geográficos [Lin, 2000, Wan, 2000] |
Em outras palavras, a promessa de ambientes virtuais tridimensionais úteis, onde o usuário possa interagir diretamente com objetos virtuais tridimensionais, ainda não é realidade.
Estas limitações têm diversas razões. Além das conhecidas restrições e limitações tecnológicas impostas pelos dispositivos, como tempo de resposta, excesso de fios para conexão e baixa qualidade visual das imagens, alguns fatores menos óbvios impedem o desenvolvimento de aplicações de realidade virtual para o chamado “mundo real”.
A principal dificuldade é a total falta de restrições dos ambientes tridimensionais gerados por computador. Diferentemente do que ocorre com uma metáfora de mesa, utilizada nos mais diversos ambientes de janelas gráficas, onde a mesa e o mouse provêm restrições e suporte físicos para o movimento, as técnicas de interação tridimensionais tocam “objetos” virtuais que não dão ao usuário o retorno tátil e/ou comportamental que o objeto real provê.
Em outras palavras, a idéia de [Norman 1988], de que o “conhecimento de como se manipula um objeto está armazenado no próprio objeto” (um botão de elevador só pode ser pressionado, um controle de volume só pode ser girado, etc...), não pode ser aplicada à maioria dos ambientes virtuais.
Além disto, a incapacidade inerente aos dispositivos de realidade virtual de captar todas as informações que podem ser produzidas pelo usuário, obriga este usuário a seguir regras muito rígidas e às vezes pouco naturais no processo interativo.
Na Tabela 3.2 pode‑se observar uma comparação entre tarefas do mundo real e as implicações de se realizá-las num ambiente virtual.
Tabela 3.2 – Tarefas reais e virtuais
Mundo Real |
Ambientes virtuais imersivos |
A manipulação de objetos é
usualmente feita com ferramentas |
A seleção de ferramentas é
complicada |
A possibilidade de comunicação
com outros usuários através de voz é de fundamental importância no processo
interativo entre mais de um usuário |
A
tecnologia de reconhecimento de voz ainda é precária |
A
possibilidade de tomar medidas do ambiente é bastante natural para aplicações
reais |
Ainda é
difícil e pouco precisa a possibilidade de tomar medidas em ambientes
virtuais |
A anotação
de informações textuais e gráficas sobre papel ou quadros de aviso é
extremamente simples e útil no processo de interação em ambientes reais |
A entrada
de textos e números é pouco desenvolvida em ambientes virtuais |
Outro aspecto que tem dificultado a disseminação da tecnologia de interação em ambientes virtuais é a falta de padrões para interação neste tipo de um ambiente. Com isto, toda vez que o usuário tem que mudar de sistema, de plataforma ou até mesmo de dispositivo, tem que re-aprender uma nova forma de interação.
Da mesma forma que em ambientes não imersivos, a realização de tarefas em um ambiente virtual imersivo, passa necessariamente por uma ou mais destas tarefas básicas: navegação, seleção e manipulação. Nas seções a seguir estas três tarefas serão abordadas com maiores detalhes.
Na análise de qualquer das tarefas interativas citadas acima pode-se definir três categorias, de acordo com tipo de controle exercido pelo usuário. Estas categorias são as seguintes [Mine, 1995]:
· Interação direta: esta categoria inclui as técnicas interativas que se utilizam o corpo do usuário (mãos, braços, cabeça, etc) atuando diretamente sobre o objeto através de um “toque virtual” sobre este. Para tanto se faz necessário que o sistema de realidade virtual possua funções de suporte ao rastreamento das mãos e da direção do olhar, reconhecimento de gestos e detecção do apontamento de um objeto. O sucesso das técnicas de interação direta depende da capacidade do sistema em realizar um mapeamento natural e intuitivo entre a ação do usuário e a ação resultante no mundo virtual. Maiores detalhes sobre estas técnicas são apresentados na seção 3.3;
· Interação com controles físicos: esta categoria inclui o uso de botões, joysticks, pedais, etc. Usar controles físicos para interagir com um mundo virtual (como uma guidão, em um simulador de carro) pode aumentar enormemente a sensação de presença do usuário no mundo virtual, pois permite ao usuário algum tipo de sensação tátil não disponível na interação direta. Dispositivos físicos também são úteis para o controle preciso da tarefa de interação. Estes dispositivos, no entanto, nem sempre oferecem um mapeamento natural que facilite a tarefa de interação no mundo virtual;
· Controles virtuais: a idéia neste caso é representar visualmente um dispositivo físico. Qualquer coisa que se imagine pode ser implementada como um controle virtual. Esta grande flexibilidade é a vantagem maior dos controles virtuais, entretanto, as desvantagens incluem a falta de um retorno sensorial e a dificuldade de interação com o objeto virtual.
Nas seções 3.5, 3.6 e 3.7 é analisado o emprego destas formas básicas nas tarefas de navegação, seleção e manipulação, respectivamente.
A categoria de interação direta é a mais comum nas implementações de ambientes virtuais. A maioria das metáforas usada pode ser enquadrada em uma das seguintes sub‑categorias:
·
Interação com a mão: Nesta categoria o usuário
utiliza a própria mão para selecionar e manipular os objetos do ambiente
virtual. A possibilidade de aproveitar-se o conhecimento intuitivo do usuário
sobre este tipo de manipulação é o grande atrativo desta categoria. Entretanto,
ela limita o processo a objetos próximos ao usuário;
·
Extensão de braço: nessa categoria o braço
usuário é estendido de forma a atingir qualquer objeto dentro do ambiente
virtual. A grande vantagem desta metáfora é a possibilidade de continuar-se a
usar os movimentos das mãos para realizar a tarefa, o que representa uma forma
bastante natural e intuitiva de interação, e mesmo assim poder‑se atingir
objetos que estão além de seu campo de ação. As várias implementações desta
metáfora diferem na forma como o braço é estendido e como o movimento da mão
real é mapeado para o movimento da mão virtual no ambiente tridimensional
[Bowman, 1997; Song, 1993; Poupyrev,
1996];
·
Ray-casting: nesta categoria o conceito de apontar o objeto em uma imagem
bidimensional é estendido para um ambiente tridimensional. Nela, um raio,
controlado pelo usuário, atinge o objeto a ser manipulado. As várias formas de
implementar esta metáfora diferem na maneira como usuário especifica a direção
do raio, em algumas ele usa um dispositivo físico como uma caneta, e outras o
dedo, em outras as duas mãos (criando um raio que tem origem em uma das mãos e
a direção é controlada pela outra) ou ainda a direção da cabeça;
·
Image-plane: nestas técnicas o aspecto tridimensional do
ambiente virtual não é considerado, sendo feita uma seleção sobre a projeção
perspectiva da cena tridimensional. Na verdade, esta metáfora é uma adaptação
da metáfora de ray-casting. Neste caso raio parte do olho do usuário e
tem sua direção controlada por sua mão ou um outro dispositivo, atingindo o
objeto desejado. O efeito disto na prática é que se pode selecionar um objeto
apenas posicionamento a mão do usuário entre seu olho e a imagem do objeto
obstruindo sua visão do objeto de interesse.
Maiores detalhes sobre técnicas interativas baseadas nestas metáforas serão apresentados a partir da seção 3.5
Existem algumas outras técnicas que não se enquadram nestas categorias como, por exemplo, o mundo nos em miniatura (seção 3.9.1), menus (seção 3.8), painéis (seção 3.11), e gestos (seção 3.10).
A definição de uma técnica de interação é guiada pelo desejo do projetista de prover forma de maximizar o conforto e o desempenho do usuário enquanto este desenvolve uma tarefa de manipulação. Deste modo, entender a tarefa de interação e suas propriedades é de extrema relevância para o projeto de diálogos de manipulação tridimensional efetivos e fáceis de utilizar.
Alguns parâmetros influenciam de maneira fundamental a qualidade e o resultado de uma metáfora de interação. Entre estes cabe destacar:
·
Densidade de objetos existentes na região do objeto
alvo: quanto maior o número de objetos próximos ao objeto de interesse,
maior pode tornar-se a dificuldade para manipulá-lo, em especial no caso de uma
seleção, pois achar objeto desejado pode levar mais tempo e diferenciá-lo dos
demais pode ser mais complicado;
·
Distância
até o objeto-alvo: se o
objeto de interesse estiver muito distante do usuário, o processo de
manipulação pode tornar-se difícil, em especial se for utilizado a alguma
técnica de apontamento por raios;
·
Tamanho do
objeto-alvo: caso o
objeto-alvo apareça muito pequeno para o usuário, sua seleção pode tornar-se
complicada, pois haverá a necessidade de uma maior precisão nos movimentos de
seleção ou apontamento;
·
Oclusão do
objeto-alvo: caso o
objeto-alvo esteja sendo obstruído por outros, a manipulação fica inviável.
Para efetuá-la, o usuário deverá deslocar os objetos que o obstruem ou então
redefinir sua própria posição em relação a este, a fim de conseguir visualizar
o objeto;
·
Número de
objetos a ser selecionado: caso
o número de objetos a ser selecionado seja muito grande o usuário necessitará
de alguma metáfora adicional que permita marcar novos objetos como selecionados
sem perder a seleção feita anteriormente;
·
Graus de
liberdade do movimento: uma
metáfora de interação com seis graus de liberdade permite um excelente controle
do objeto, possibilitando sua movimentação e orientação em todas as direções.
Isto, entretanto pode não ser interessante quando se precisa realizar operações
de ajuste ou alinhamento fino na posição ou na orientação do objeto e nem
quando, durante um movimento, não é necessário, nem desejável, tratar-se o
deslocamento em um certo eixo.
Nas seções a seguir serão apresentadas as características
das três principais tarefas interativas executadas em ambientes virtuais
tridimensionais (navegação, seleção e manipulação).
Em um ambiente imersivo, entende-se por navegação, o processo de deslocamento, por parte do usuário, de seu avatar dentro do ambiente virtual. Este deslocamento compreende tanto a mudança de sua posição, quanto as possibilidades de rotação do avatar (mesmo que este não saia de sua posição atual) e ainda as tarefas de parar e alterar a velocidade do movimento.
No contexto de navegação, alguns autores dividem as técnicas navegação em técnicas de deslocamento [Bowman, 1998; Bowman, 1996], e técnicas de wayfinding [Ruddle, 1998; Slater, 1995; Waller, 1998, Darken, 1998]. Nesta abordagem, o deslocamento consiste em mudar o observador de lugar, e o wayfinding, nas técnicas que objetivam auxiliar o usuário a encontrar o caminho correto ou desejado. Neste trabalho estes aspectos serão abordados sem esta distinção.
A navegação em um ambiente virtual pode ser dividida, segundo seus objetivos, em três categorias:
· Navegação exploratória: quando o movimento não tem destino específico. Neste caso, a navegação serve principalmente para criar no usuário um conhecimento maior do ambiente;
· Navegação de busca: quando o usuário está indo a uma posição, conhecida ou não, a fim de encontrar um objeto-alvo, ou posição-alvo, onde a alguma outra tarefa será realizada;
· Navegação de manobra: quando o objetivo do deslocamento é o posicionamento do usuário para a realização de uma tarefa. Em geral é feito através de movimentos lentos, pequenos e precisos, principalmente lançando-se mão de rotações da cabeça e do corpo do usuário.
O mapeamento do movimento físico (como o andar, por exemplo)
para o movimento virtual, é uma das maneiras mais intuitivas de se realizar
movimento em um ambiente virtual. Feito desta forma, o movimento não requer
nenhuma ação especial por parte do usuário e propicia informações que podem ajudá-lo a manter, com grande facilidade, um
modelo mental de sua localização dentro do ambiente.
A desvantagem de usar o movimento físico para mover-se no mundo virtual, é que o alcance do movimento do usuário depende diretamente da tecnologia de rastreamento utilizada na aplicação. Quando se opta por rastrear o movimento do corpo do usuário com rastreadores, fica‑se restrito, na maioria dos casos, a uma área de trabalho (área de rastreamento) de 1 a 2 metros, o que, muitas vezes, não proporciona uma adequada mobilidade do usuário no ambiente.
Outras alternativas para captura o deslocamento são as “plataformas de movimento” [Noma, 2000] que permitem ao usuário mover‑se dentro do ambiente “caminhando” de forma estacionária sobre uma esteira (Figura 3.1) ou sobre degraus móveis . Estes dispositivos, entretanto ainda são pouco confiáveis e muito caros para serem montados.
Estas observações mostram que alguns meios alternativos para deslocamento devem ser encontrados. Tipicamente são utilizadas algumas formas de vôos pelo ambiente (movimentações aéreas sobre o ambiente) ou também algumas formas de tele‑transporte instantâneo como elevadores portais ou carros que conduzem os usuários de/para locais estratégicos no cenário virtual.
Figura 3.1 -
Dispositivo de navegação com esteira
Em função dessa dificuldade em realizar a movimentação natural em um mundo virtual, costuma‑se controlar o processo de deslocamento através de dois parâmetros distintos: direção do movimento e velocidade do movimento, os quais serão abordados mais profundamente nas duas próximas seções.
O controle da direção do movimento pode ser feito de diversas formas. A seguir algumas delas são apresentadas.
O controle da navegação pelo movimento da mão depende da orientação corrente da mão do usuário que pode apontar a direção a seguir. Esta alternativa permite uma grande flexibilidade e liberdade na movimentação possibilitando inclusive, movimentações em marcha ré. Entretanto, para alguns usuários, em especial para aqueles que não estão habituados a ambientes imersivos, o apontamento no espaço pode causar confusão, além de causar um pouco de fadiga no braço.
Uma alternativa, para a técnica acima, é usar a mão apenas para mover uma espécie de cursor de forma a colocá-lo visualmente sobre um objeto-alvo. A direção do movimento, então, é dada por um vetor que sai da cabeça do usuário e vai até o cursor. Um fator limitante do uso desta técnica é a necessidade de manter-se o braço erguido durante a navegação.
Uma terceira alternativa para o movimento por apontamento é o uso de um fator de escala. A idéia consiste em aplicar um fator de escala sobre o ambiente virtual de forma que o ponto destino fique ao alcance da mão do usuário. Feito isto, o usuário marca com a mão este ponto e uma nova escala (inversa à anterior) é realizada, tendo, desta feita, como ponto de referência, o ponto marcado pelo usuário. O resultado final disto é que o usuário é transportado para o ponto marcado. É importante aqui que a aplicação das escalas sejam feitas de forma gradual e animada de maneira que o usuário possa observar a realização do movimento e assim não fique perdido após sua realização.
Outra forma de deslocar um avatar em um ambiente virtual é a utilização do movimento da cabeça. Nesta alternativa, o usuário escolhe a direção a seguir pelo simples gesto de movimentar sua cabeça livremente. Este método, entretanto, impossibilita a observação do ambiente ao seu redor do usuário durante o movimento, sem que exista a mudança de direção deste movimento.
O uso de dispositivos físicos para a navegação é outra opção que à primeira vista pode ser bastante interessante para o controle da direção do movimento. Entretanto alguns cuidados devem ser adotados com a escolha dos dispositivos. Opções como joysticks, trackballs e botões têm um custo baixo e são de fácil incorporação nas aplicações.
Por outro lado, estes dispositivos, podem criar dificuldades no mapeamento entre o seu movimento e o movimento do avatar no mundo virtual. O giro de um botão de um joystick, por exemplo, representará qual movimento no ambiente virtual?
Cabe ressaltar, ainda, que em algumas aplicações do mundo real em que já se usa dispositivos físicos, a forma mais efetiva de criar um mecanismo de interação é incorporar o próprio dispositivo à aplicação. Exemplos disto são os simuladores de avião [Pausch, 1995], de carros e de bicicletas [Pinho, 1999].
Ao invés de utilizar-se dispositivos físicos, uma alternativa é a implementação de dispositivos virtuais [Doellner, 1998] para controlar a movimentação em um ambiente virtual. Esta técnica tem a flexibilidade como grande vantagem, pois qualquer dispositivo pode ser modelado. A interação com estes dispositivos, entretanto, é difícil, fundamentalmente, devido à falta de retorno sensorial tátil durante o processo (o usuário toca em um botão virtual, mas não sente que o tocou). Algumas técnicas como mudar a cor de um botão virtual ou movê-lo à medida que o usuário interage com ele, são alternativas para reduzir este problema.
Algumas vezes a direção do movimento do usuário pode não ser controlado por ele diretamente, mas sim, dirigida por objetos presentes no mundo virtual. Estes objetos incluem veículos autônomos (uma vez dentro, o usuário é transportado para um ponto especifico no mundo virtual, como num elevador ou num ônibus), atratores (como um planeta e sua gravidade) e objetos repelentes.
Nesta mesma linha de subtrair do usuário o controle do movimento enquadra‑se a idéia de limitar-se o movimento por caminhos pré-definidos, da mesma forma que no caso de navegação em ambientes não-imersivos (seção 2.4.4).
Uma outra forma de controlar o movimento em um ambiente virtual é dirigi-lo por objetivos. Em um sistema dirigido a objetivos, uma lista de alvos é exibida ao usuário através de textos ou de um conjunto de ícones. Para navegar para uma determinada posição, a usuário simplesmente o escolhe-a de uma lista. Para a efetivação desta técnica é necessário que o sistema de controle do ambiente virtual proveja alguma forma de acesso a menus ou painéis de opções virtuais (seções 3.8 e 3.11, respectivamente)
Pode-se implementar esta forma de navegação através do apontamento sobre pequenos mapas ou miniaturas do ambiente virtual. Maiores detalhes sobre esta técnica são apresentados na seção 3.9.1.
A direção do movimento pode ainda ser especificada com o uso das duas mãos. Neste caso, o sistema deve criar um vetor baseado nas posições de ambas as mãos. Este vetor é então usado para direcionar o movimento [Mine, 1997] (Figura 3.2).
Figura 3.2 – Controle
da direção com as duas mãos[Mine1997]
A forma mais simples de especificar a velocidade do movimento em um mundo virtual é torná‑la constante, qualquer que seja a direção ou a posição do usuário no espaço virtual. Pode-se levar em conta, para determinar tal velocidade, a relação entre o tamanho deste espaço e o tempo disponível ou desejável para atravessá‑lo.
Apesar da facilidade de implementação, as dificuldades em obter-se o posicionamento desejado, que em geral é atingido diminuindo-se a velocidade ao final do movimento, tornam esta técnica pouco atraente.
Ao invés de uma velocidade constante, o usuário pode se movimentar com uma aceleração constante. Nesta modalidade o movimento inicia‑se com uma velocidade baixa, que é ideal para deslocamentos curtos, e à medida que este deslocamento perdura, aplica-se a ele uma aceleração. Isto permite que a velocidade cresça com a duração do deslocamento no ambiente virtual. Este tipo de controle de velocidade é útil quando se tem um ambiente muito grande a ser percorrido e também quando existem muitos detalhes no cenário para serem explorados. Deve haver neste caso formas de reduzir a velocidade, através de uma desaceleração, a fim de atingir com mais facilidade a posição desejada.
O uso da posição da mão também pode ser uma forma de controle da velocidade. O usuário pode indicar a velocidade através, por exemplo, da distância entre sua mão e seu corpo. Criando-se uma relação linear entre esta distância e a velocidade, pode-se ter uma velocidade baixa mantendo-se a mão próxima à cabeça. À medida que se afasta a mão, aumenta-se também a velocidade de deslocamento. Esta técnica pode causar dificuldades no controle da velocidade pois pode gerar inúmeros valores entre o mínimo e o máximo. A fim de solucionar este problema, [Mine, 1995] sugere que se definam intervalos ou zonas nas quais são estipulados níveis de velocidades, bastando ao usuário, indicar com a mão o intervalo desejado. Na Figura 3.3 pode-se observar tanto a idéia do controle linear da velocidade quanto a idéia de zonas.
Figura 3.3 - Controle
de velocidade pela distância da mão[Mine, 1995]
Outra técnica para a especificação da velocidade de
deslocamento pode ser o uso das duas mãos. Neste caso, distância entre as mãos
determina a velocidade de deslocamento.
Outros estudos sobre interação com as duas mãos podem ser encontrados em [Buxton, 1986; Goble, 1995; Mapes, 1995; Zeleznik, 1997] e também neste texto, na seção relativa a interação por gestos (seção 3.10).
A maior limitação destas alternativas é a fadiga de manter‑se o braço muito tempo esticado para controlar uma certa velocidade.
Dispositivos periféricos reais também podem ser usados para o controle da velocidade. Para isto pode-se usar dispositivos convencionais como teclado, mouse ou joysticks ou outros dispositivos como pedais, bicicletas e esteiras rolantes.
Assim com no controle da direção do deslocamento, a velocidade pode ser definida por controles virtuais. Da mesma forma que na especificação da direção do movimento, a falta de retorno tátil pode causar dificuldades na manipulação.
Antes da manipulação de um objeto é essencial que ele seja “selecionado”, ou seja, que o usuário possa informar ao sistema que controla o ambiente virtual qual é, ou quais são, os objetos alvo da futura manipulação.
No processo de seleção pode-se identificar duas etapas. Na primeira, a indicação do objeto, o usuário, “mostra” ao sistema qual o objeto deseja manipular. Na segunda, a confirmação da seleção, o usuário define o objeto como selecionado, concluindo o processo de seleção e permitindo, a partir disto, a manipulação.
A indicação do objeto pode ser feita apontando‑se, tocando‑se, englobando‑se o objeto com moldura, escolhendo‑se diretamente sobre uma lista de texto (menu) ou de ícones ou ainda através de comandos de voz.
A confirmação do processo de seleção por sua vez, pode ser feita com gestos, botões, voz ou até mesmo por algum mecanismo de tempo que seja capaz de controlar por quanto tempo um objeto fica sendo apontado, neste caso, se a seleção prolongar-se por um período maior do que aquele estipulado, a seleção é confirmada e o objeto pode então ser manipulado.
Um o aspecto essencial no processo de seleção é a necessidade de “feedback” ao usuário. Este retorno é necessário nos dois momentos do processo de seleção. No apontamento é preciso que o objeto apareça com algum destaque em relação aos demais. Alternativas para isto são exibir o objeto selecionado com uma cor diferente ou com uma moldura ou marcadores ao seu redor, por exemplo (Figura 3.4). No instante da confirmação é preciso que algum sinal, sonoro visual ou tátil, seja gerado ao usuário.
Figura 3.4 - Feedback visual durante o processo de seleção
Nas seções a seguir são apresentadas várias formas de seleção de objetos.
Para selecionar objetos próximos a seu corpo, o usuário pode mover um cursor, que pode estar preso à sua mão. Quando este cursor tiver tocando o objeto, pode-se confirmar a seleção. Na Figura 3.1 pode-se observar um usuário “tocando” um objeto.
Figura 3.5 - Avatar tocando objeto virtual
Cabe ressaltar que esta técnica permite a seleção apenas de objetos próximos ao corpo do usuário.
Para selecionar objetos distantes, precisa-se criar alguma forma de extensão do alcance dos braços do usuário. Para tanto, várias alternativas podem ser utilizadas.
Pode-se lançar mão, por exemplo, de um raio de apontamento.
Nesta técnica, conhecida por ray casting, uma espécie de raio laser sai da mão do usuário e projeta-se na direção do ambiente virtual sendo controlado pelo movimento de algum objeto ou pela própria mão do usuário (Figura 3.6). Em ambos os casos há a necessidade de algum dispositivo de rastreamento a fim de capturar o movimento da mão e a direção do apontamento.
A direção do raio também pode ser controlada pelo movimento a cabeça do usuário. Este movimento para o controle de raios é uma das formas mais poderosas e intuitivas de apontar e posicionar objetos. Em algumas aplicações, até mais eficaz do que a própria mão. [Chung, 1994; Chung 1992] apresentou testes em que radiologistas que planejavam radioterapia preferiram realizar a orientação dos raios através do movimento da cabeça se comparado com o uso de mouse, joystick ou apontador laser.
Figura 3.6 – Uso de um raio para selecionar objeto virtual
No uso de raios para a seleção, uma dificuldade é a precisão para o apontamento de objetos distantes. Para solucionar este problema pode se permitir que o usuário efetue escalas no ambiente virtual mudando assim o tamanho dos objetos. Esta idéia é a base da técnica World in Miniature, descrita na seção 3.9.1.
Outra alternativa é a idéia de usar‑se cones de luz no lugar de raios de apontamento. Assim, à medida que a distância a partir do início do raio aumenta, a área atingida por ele também cresce formando uma espécie de cone (Figura 3.7). Esta idéia é a base de duas técnicas conhecidas como Spotlight e Aperture, descritas nas seções 3.6.4 e 3.6.5, respectivamente.
Figura 3.7- Seleção por “cone de luz”
Outra forma de seleção é o apontamento sobre a imagem do ambiente tridimensional. Nesta metodologia, a posição de um cursor que se desloca sobre o plano de projeção da imagem, serve como ferramenta para apontar o objeto desejado.
Na realidade esta é uma técnica de apontamento por raio na qual a origem do raio é o ponto entre os olhos usuário e o controle da direção é dado pelo cursor sobre a tela. O movimento do cursor, por sua vez, pode ser feito pela mão do usuário desde que este movimento seja rastreado através de algum dispositivo de captura de movimento. O primeiro objeto atingido pelo raio é dado como selecionado. [Pierce, 1997] chama esta técnica de stick finger (Figura 3.8).
Figura 3.8- Técnica
de seleção “Stick Finger” [Pierce, 1997]
Na técnica chamada de Head-crusher o usuário seleciona um objeto colocando sua imagem entre os dedos da mão conforme o detalhe apresentado na Figura 3.9. A seleção do objeto é realizada disparando‑se um raio do ponto médio entre os olhos usuário passando pelo ponto médio entre dedos (indicador e polegar) da mão usada para a seleção.
Figura 3.9- Técnica de seleção “Head Crusher”
Outra técnica que atua sobre a imagem bidimensional do ambiente virtual é a que busca simular um “truque” visual comumente montado em fotografias. Neste truque a uma pessoa é colocada, em uma foto, sobre a palma da mão de outra. No caso de um ambiente virtual o objeto é selecionado a partir da posição da mão, tomando-se como ponto direcionador do raio de seleção, um ponto ligeiramente acima da palma da mão do usuário. É preciso neste método, detectar que o braço está estendido e que os dedos da mão estão abertos. Isto pode ser feito com o uso de luva de realidade virtual, com um rastreador ou com a captura da imagem da mão e posterior identificação de suas posições.
A última técnica proposta por Pierce é útil para selecionar um grupo de objetos. Para tanto o usuário utiliza as duas mãos para delimitar uma moldura sobre a cena virtual. Esta moldura é especificada, conforme a Figura 3.10, através do posicionamento das mãos em frente ao objeto de interesse do usuário. O nome dado a esta técnica é “Framing hands”. Para prover uma informação adicional ao usuário durante o processo de seleção, pode-se desenhar sobre a imagem um retângulo que represente a moldura de seleção.
Figura 3.10- Técnica de seleção “Framing hands”
A seleção de objetos através de raios é fácil ser implementada e, por isto, freqüentemente é usada em ambientes virtuais. Esta técnica, entretanto, apresenta alguns problemas de imprecisão causados tanto pelo ruído presente nos rastreadores de posição, quanto pelas características intrínsecas da técnica, como por exemplo, a impossibilidade de manter-se o braço e a mão elevados por um longo tempo.
Para facilitar o uso de raios de apontamento, [Liang, 1994]
propôs a técnica de “Spotlight” na qual o raio apontador é substituído
por um cone de seleção. Através deste cone, que funciona de forma semelhante a uma lanterna, é possível realizar o
apontamento de um objeto de forma mais fácil, principalmente porque o cone
possui um campo de ação maior do que o raio.
Entretanto, este
método requer que se exiba alguma representação visual deste cone, o que,
dependendo da aplicação, pode não ser desejável. Outra característica
importante deste método é a necessidade de um mecanismo adicional de escolha
para o caso de objetos pequenos que estejam muito próximos entre si. Nestes casos a técnica causa o apontamento
de múltiplos objetos (Figura 3.11).
Figura 3.11 –
Múltiplos objetos selecionados com um “Spotlight”
A seleção por cone variável [Forsberg, 1996] é uma variação da técnica de “Spotlight”. Nela o volume do cone de seleção é que controlado por um “circulo de abertura”, diminuindo o problema da seleção múltipla. Este círculo de abertura pode ser um anel real cuja posição esteja sendo rastreada de alguma forma.
A montagem do cone de seleção é feita tomando-se o olho do usuário como ápice do cone e o círculo de abertura como uma espécie de controlador da forma do cone, definindo tanto sua dimensão quanto sua direção (Figura 3.12). O círculo de abertura pode ser um anel real controlado pela mão do usuário.
Figura 3.12 – Seleção
por “cone variável”
O principal problema deste método é que o “círculo de abertura” tem que estar no campo visual do usuário. Isto pode causar fadiga no braço usuário principalmente se ele estiver olhando para cima, pois, neste caso, o braço precisará estar elevado.
Uma solução apontada para este problema e a possibilidade de prender‑se o círculo de abertura na ponta de um bastão, permitindo assim, um alcance maior ao usuário e a possibilidade de elevar o rastreador sem ter que se elevar o braço demasiadamente.
A seleção de objetos através de toque com a mão é a mais simples de todas as técnicas (ver seção 3.6.1). Porém esta técnica que possui alguns problemas. O primeiro deles, já relatado anteriormente, refere-se à inacessibilidade de objetos distantes.
Um outro problema é a instabilidade do apontamento causada pelos erros gerados pelos rastreadores de posição. Para sobrepor especificamente este segundo problema [Zhai, 1994] propôs a técnica de cursor de seda. Trata-se de um cursor que ao invés de ser bidimensional, assume uma forma tridimensional transparente e possui volume, o que permite uma maior comodidade no apontamento de um objeto. A dificuldade do método está em escolher corretamente o tamanho e a forma deste cursor.
Além de usar apontamento direto ou por raios pode-se selecionar objetos distantes usando comandos de voz [Harmon, 1996; Billinghurst, 1998]. Com comandos deste tipo pode-se identificar os objetos através de algum nome que os diferencie dos demais. O inconveniente nesta metodologia é que o usuário precisa lembrar o nome que identifica cada o objeto.
A seleção por lista de objetos, por sua vez, pressupõe o uso de menus partir dos quais o objeto pode ser escolhido. Também neste caso é necessário conhecer a identificação do objeto que se pretende selecionar.
A manipulação [Poupyrev, 1999] consiste na mudança de algum parâmetro ou o estado de um objeto previamente selecionado. Esta mudança de estado e inclui rotação, posição, tamanho ou outro parâmetro qualquer, geométrico (forma ou posição), visual (cor ou textura) ou comportamental (iniciar movimento ou parar, por exemplo).
Para efetuar estas operações pode-se usar manipulação direta, controles físicos e apontamento por raios. A seguir, cada uma das formas de manipulação são descritas.
Na manipulação direta, o usuário “pega” o objeto virtual com a mão, move-o no ambiente virtual com o movimento do braço e “larga‑o” quando julgar que a tarefa está concluída, exatamente como faria com um objeto real.
A implementação desta técnica pressupõe o rastreamento da posição da mão do usuário a fim de capturar seus movimentos (rotação e translação) e transferi‑los ao objeto selecionado.
Esta técnica, entretanto, tem limitações já mencionadas anteriormente quando da análise dos aspectos de seleção direta (seção 3.6.1). O principal problema diz respeito à distância máxima dos objetos em relação ao usuário.
Quando se utiliza a técnica de seleção por raios (ver seção 3.6.2) pode-se aproveitar a metáfora de seleção e estendê-la para aplicar rotação e translação.
Neste caso, algumas limitações são características. Para rotação, torna-se bastante natural a aplicação de giros ao redor do eixo definido pelo raio. Entretanto, a rotação em outros eixos torna‑se difícil e pouco natural de ser indicada pelo usuário.
No caso da translação o deslocamento do raio pode, fácil e intuitivamente, alterar a posição do objeto. Porém este deslocamento ficar restrito aos pontos que estão próximos à circunferência cujo centro é o usuário e cujo raio é a distância entre ele e o objeto que está sendo apontado (Figura 3.13).
Uma forma de ampliar estas possibilidades é dar ao usuário algum tipo de controle que aproxime ou afaste o objeto do ponto de origem do raio (Figura 3.14). Neste caso há a necessidade de prover algum tipo de controle adicional para que este comando de afastar ou aproximar seja efetivado pelo usuário. Isto pode ser feito, por exemplo, através de botões ou comandos de voz.
Figura 3.13 – Possibilidades de translação com raio de apontamento
Figura 3.14 - Movimento do objeto sobre o raio de apontamento
Os controles físicos, como mouse tridimensional ou rastreador de posição, são bastante interessantes e podem dar ao usuário um grande poder de interação, em especial no que diz respeito à precisão, pois o movimento e o controle dos graus de liberdade podem ser feitos de forma individual e seletiva.
As formas de uso dos dispositivos são as mais variadas e dependem das capacidades do dispositivo, das necessidades da aplicação e das habilidades do usuário. Entretanto, como estes dispositivos não têm paralelo nas tarefas rotineiras da maioria das pessoas, seu uso pode causar dificuldades, principalmente aos usuários iniciantes.
Da mesma forma que no caso da manipulação não‑imersiva,
um aspecto relevante no trato com qualquer dispositivo é o controle dos seus
graus de liberdade. Na verdade, em certos casos este “controle” é
imprescindível para o bom andamento do processo interativo. Por exemplo, numa
aplicação em que o usuário tem que encaixar um objeto entre dois outros, depois
atingir a orientação correta será muito mais simples de posicioná‑lo se
as rotações subseqüentes, lidas pelo rastreador, não forem repassadas ao
ambiente virtual. O inverso vale, por exemplo, para tarefas como apertar um
parafuso numa aplicação de montagem virtual. Neste caso os deslocamentos lidos
pelo rastreador apenas irão atrapalhar o giro do objeto sobre o eixo desejado.
O uso de menus virtuais é ainda um aspecto a ser melhor desenvolvido, no processo de interação em ambientes imersivos. Precisa-se buscar, acima de tudo, técnicas de interação menos atreladas aos tradicionais menus de interface bidimensionais.
O tipo mais comumente utilizado é aquele que apresenta ao usuário um menu suspenso dentro de um ambiente virtual como se fosse uma placa na qual aparecem opções disponíveis para interação (Figura 3.15).
O apontamento das opções dá-se normalmente através de uma caneta real na qual se acopla um rastreador de posição. O objetivo desta metáfora de interface é simular uma espécie de apontador laser, que aponta itens em uma projeção que se realiza sobre uma parede.
Há varias diferenças entre os menus bidimensionais e os menus a serem usados em ambientes virtuais. Segundo [Jacoby, 1992], a principal diferença é que os menus bidimensionais são exibidos sempre a uma distância de aproximadamente 60 centímetros do usuário e em locais já conhecidos, os menus tridimensionais, por sua vez, podem ser exibidos em diversas posições, com diversos tamanhos e com várias orientações. Além disso, há o complicador de que usuário está imerso no mesmo espaço do menu podendo também estar posicionado e orientado de qualquer forma.
Figura 3.15 – Exemplo
de menu suspenso [Antoniazzi, 1999]
[Feiner, 1993 e Lindermann, 1999b] classificam o uso de menu de acordo
com a posição, dentro do ambiente 3D, da janela onde é exibido o menu.
São definidos três tipos de janelas. O primeiro tipo agrupa as janelas
fixas no mundo. Estas janelas têm sempre a mesma posição no ambiente
virtual, aparecendo ou desaparecendo da visão do usuário, dependendo da sua
localização e orientação dentro do espaço virtual.
O segundo tipo de janela é a janela presa à visão do usuário que
aparece sempre na mesma posição do campo de visão deste. Esta janela, na
realidade, move-se junto com o ponto de visão do usuário, e é usada para
manipular características globais do ambiente virtual como, por exemplo, ativar
ou desativar um som, definir o modo de exibição dos objetos, salvar ou carregar
um arquivo.
O terceiro tipo de janela é a fixa a objetos. Este tipo de janela
acompanha os objetos do cenário, sendo exibida, sempre que necessário, como uma
espécie de “menu de contexto”. Este tipo de menu é usado principalmente para
controle de características intrínsecas dos objetos aos quais estão vinculadas,
como por exemplo, para definir velocidade de um carro, o peso de uma esfera, a
cor de uma parede ou para ligar e desligar um motor. O software Alice (http://www.alice.org) , por exemplo,
utiliza, na maior parte de seus comandos, este tipo janela.
Nas alternativas apresentadas acima os menus tridimensionais são fortemente baseados nos menus de interfaces gráficas tradicionais. Entretanto outras formas podem ser testadas, conforme os exemplos a seguir.
Um exemplo de menu não retangular é o “Ring Menu” do sistema de modelagem JDCAD [Ling, 1994] no qual as opções são colocadas ao redor do usuário, de maneira circular, formando uma espécie de cinto ou anel. Neste tipo de menu a grande facilidade de seleção de opções é a maior vantagem. Enquanto num sistema de menus convencional o usuário deve apontar a opção desejada, neste, o simples giro do anel, controlado pela mão (ou por outro artifício qualquer) permite a seleção da opção (Figura 3.16).
Figura 3.16 - Ring Menu [Ling, 1994]
Outro exemplo de menu não retangular é o “HIT-Wear” [Sasaki, 1999]. Nele as opções do menu são sobrepostas aos dedos do usuário de forma que a seleção possa ser feita apontando‑se, com outra mão, o dedo que contém a opção desejada. Neste sistema, o enquadramento das opções sobre os dedos é feito capturando-se a imagem da mão com uma câmera e identificando‑se as posições dos dedos através do processamento das imagens. Nada impede, entretanto, que estas informações sejam obtidas através da utilização de uma luva ou de um rastreador de posição.
Quando o usuário está imerso em um ambiente virtual, sem a possibilidade de sentir o toque dos objetos, a única sensação tátil existente é seu próprio corpo. Baseado nisso, [Mine, 1997] propõe o uso de técnicas que aproveitem este fato para tornar a manipulação mais fácil de ser aprendida e utilizada.
Mine defende o uso de técnicas de manipulação baseadas na noção de “propriocepção”. A propriocepção do ser humano é a sensação que toda pessoa tem da posição e da orientação das partes de seu próprio corpo [Boff, 1986]. Segundo Mine, estas técnicas provêm um maior controle, precisão e segurança na manipulação de objetos.
Usando as informações do próprio corpo do usuário, como a posição das mãos ou da cabeça as técnicas propostas possibilitam entre outras coisas:
·
Uma referência física real na qual o usuário pode
apoiar-se para compreender o processo interativo;
·
Um controle
mais fino sobre os movimentos;
· A possibilidade de uma interação “eyes‑off” (sem os olhos), na qual o usuário não necessita estar sempre olhando para os objetos ou para aquilo que estiver fazendo.
Em técnicas de manipulação direta, os objetos podem ser facilmente movidos e reposicionados em função de que o usuário conhece bem as dimensões de seu próprio corpo e as possibilidades de ação de seus braços e mãos.
Na manipulação de controles interface, como menus, a possibilidade de que o usuário ande livremente pelo ambiente virtual podem acarretar dificuldades para encontrar os objetos após um movimento ou um deslocamento muito grandes. Usando o próprio corpo do usuário como referencial, pode-se colocar estes objetos presos em uma espécie de cinto ou mesmo no bolso de sua camisa, por exemplo. Isto permite que o usuário o alcance o menu ou o controle rapidamente sempre que necessitar e ainda não obriga que estes objetos estejam sempre visíveis durante o processo de interação. Este aspecto tem, ainda, duas vantagens adicionais que são, reduzir o tempo de exibição da cena, além de aumentar a área disponível para a visualização do ambiente.
Uma segunda alternativa, usando-se a idéia de propriocepção, é esconder os menus virtuais em locais fixos em relação ao corpo do usuário. Colocando-os, por exemplo, acima ou abaixo da cabeça do usuário. Com isto, este usuário precisa apenas olhar para cima ou para baixo e alcançar o menu com a mão, puxando‑o para frente de seus olhos. Para interagir com o menu o usuário pode usar a outra mão ou a direção do olhar (Figura 3.17).
Figura 3.17 - Interação com menus através do olhar[Mine, 1997]
Pode-se também,
imaginar o menu comporte-se como uma cortina que ao ser puxada até um certo
ponto fixa-se nesta posição. Puxado-a mais uma vez, solta‑se e retorna à
posição original. O “soltar” do menu também pode ser feito através de uma
alavanca virtual. Esta técnica tem a vantagem de dispensar o uso de botões e de
não ocupar espaço no campo de visão do usuário quando não está em uso.
No caso de manipulação direta o uso de propriocepção requer que o objeto esteja próximo do corpo do usuário. Quando isto não ocorre, o usuário pode mover-se até o objeto e assim assumir uma posição mais próxima. Isto, entretanto, causa uma sobrecarga nos do sistema cognitivo do usuário, que num momento está tratando de um deslocamento e logo a seguir de uma manipulação.
Nestes casos, uma forma de interação que pode ser adotada é uso de miniaturas do ambiente virtual para manipulação de objetos. Estas técnicas são também classificadas como técnicas exocêntricas, pois o usuário opera sobre ambiente de fora do sistema de referência dele.
A idéia central é tornar o ambiente pequeno o suficiente para colocá-lo todo alcance da mão do usuário, permitir que este o manipule com o uso das mãos, como se estivesse trabalhando sobre uma maquete ou mapa.
Um exemplo desta técnica pode ser visto em [Stoakley, 1995] no qual o sistema “WIM - World in Miniature” é apresentado. Nele ambiente virtual é reduzido de forma a ficar sobre uma das mãos do usuário que pode, então manipular os objetos com outra mão. A colocação do ambiente virtual sobre uma das mãos do usuário permite ainda que se possa efetuar a rotações e transações neste ambiente com bastante facilidade.
O outro exemplo desta categoria de técnica de interação é a “Scale world grab” [Mine, 1997]. No método, ao selecionar-se um objeto, o ambiente virtual é automaticamente escalado de forma que o objeto fique ao alcance da mão do usuário. Feita a manipulação, uma escala inversa devolve o objeto a seu tamanho original, respeitando as transformações realizadas durante o processo de manipulação (Figura 3.18).
Figura 3.18 - Técnica “scaled world” [Mine
1997]
[Wartell, 1999] aborda o uso de mapas em miniatura para navegação em grandes volumes de dados. [Darken, 1999] por sua vez, apresenta um estudo sobre a eficácia do uso de mapas para a orientação em um ambiente virtual.
A utilização de gestos é mais uma forma de interação em
ambientes virtuais. Este processo interativo pode ir desde o reconhecimento de
gestos simples até complexas análises de como as pessoas usam as mãos para a manipulação ou descrição de objetos.
No caso de gestos simples, pode-se, por exemplo, usar o gesto de “atirar por cima do ombro” para efetuar remoção de objetos. Este método é bastante intuitivo, fácil de lembrar, não usa nenhum tipo de botão ou menu e, além disso, ainda é bastante seguro, pois não é facilmente executado por acidente, principalmente por que um ser humano não costuma manipular objetos em suas costas. Esta técnica permite também que se utilize a região nas costas do usuário como uma zona onde se podem buscar os objetos anteriormente removidos do ambiente.
No caso de análise de gestos mais complexos, um exemplo é a arquitetura TGSH (Two‑handed gesture environment shell) [Nishino, 1997] capaz de reconhecer um conjunto de até dezoito gestos usados em um modelador geométrico. A interpretação dos gestos é realizada através uso de redes neurais utilizando-se de uma técnica chamada Dynamic Gesture Recognition [Vamplew, 1995].
Outro trabalho de análise de gestos pode ser visto em [Marsh, 1998]. Este estudo foi desenvolvido com o objetivo de entender como as pessoas escrevem objetos com gestos icônicos (gestos que imitam a forma de um objeto). Nos testes uma seqüência de palavras escritas era apresentada aos usuários e estes tinham de descrever com gestos o objeto que estavam lendo.
Nos dois trabalhos acima o movimento das mãos é capturado
por luvas e rastreadores de posição. No trabalho “Gesture VR” [Segen,
1998], por outro lado, o movimento das mãos é capturado através de duas câmeras
de vídeo. Após a captura, as imagens são processadas a fim de permitir a
interação com o ambiente virtual. Na Figura
3.19
pode-se observar um exemplo do uso deste sistema em um modelador geométrico. No
sistema o usuário pode pegar, mover e largar objetos. No mundo virtual a mão é
representada por uma espécie de “pegador”.
|
|
|
|
Figura 3.19 –
Modelador geométrico com o “Gesture VR”
Autores como [Conner, 1992] propõem o uso de controles de interfaces (widgets) presos a objetos como forma de controlar suas propriedades. Estes controles, assim como os menus (seção 3.8), são, por isto, batizados de object-bound widgets.
Este tipo de recurso, entretanto pode acarretar algumas dificuldades como, por exemplo, a necessidade de estar‑se próximo do objeto para que o controle possa ser acionado. Além disto tem-se o problema do possível bloqueio da visão de parte do objeto pela imagem do widget.
Outro problema sério na interação com este tipo de recurso é a ausência de sensação tátil durante a interação. Este fator atrapalha e desorienta novos usuários tornando difícil sua interação com os objetos que lhe são apresentados.
Pensando nestes problemas algumas soluções, principalmente as que utilizam realidade aumentada [Bajura, 1995], têm conquistado espaço como ferramenta de interação com o usuário. A realidade aumentada oferece imersão mantendo, mesmo assim, algum grau de conexão com um mundo real, através do emprego de objetos reais mesclados com imagens do ambiente virtual.
Para solucionar o problema da falta de apoio para as mãos, comum aos
painéis de menus e de widgets, alguns pesquisadores estão utilizando-se
de um conceito chamado “Pen-and-Table”.
Trata-se de uma categoria de técnica de interação em que uma plataforma fixa
(como uma mesa ou um painel de parede) ou móvel (como uma prancheta), controla
a posição da janela onde devem ser exibidas opções de menus ou widgets
de interface. Com uma caneta, o usuário aponta as opções desejadas. A seguir,
são apresentados alguns exemplos desta categoria de técnica interativa.
O “Personal Interacion Panel – PIP”
[Szalavári, 1999] é formado por uma prancheta e um apontador. O usuário veste óculos transparentes nos
quais são exibidos objetos de interface (widgets)
e objetos tridimensionais do ambiente virtual. O fato de usar este tipo de
equipamento dá à ferramenta, segundo seus autores, uma maior facilidade de
aprendizado, pois o usuário não se sente isolado do mundo real ao iniciar o uso
da aplicação. O principal uso do PIP é o controle de experimentos de
visualização científica. Nestes, além de controlar alguns parâmetros da
visualização, interagindo com a caneta sobre a prancheta, esta última pode ser
utilizada para definir planos de corte sobre o objeto ou fenômeno em estudo, ou
ainda, a posição e a orientação de um objeto dentro do espaço virtual. Uma
característica interessante do dispositivo é a possibilidade de se selecionar
um objeto e trazê-lo para prancheta a fim de observá-lo, como se esta fosse uma
mesa sobre a qual se coloca um objeto de estudo.
O “Virtual
Notepad” [Poupyrev, 1998] é uma ferramenta de interfaces que permite
ao usuário, anotar textos sobre imagens,
dentro do ambiente virtual. A principal aplicação desta ferramenta é a anotação
de textos e desenhos sobre imagens de exames de raio-x. Usando uma prancheta sensível à pressão, um
rastreador de posição e uma caneta, usuário pode escrever, apagar, copiar e
alterar textos. Para permitir a correta operação de esta ferramenta, há dois
modos de trabalho. O “modo de deslocamento”, em que o usuário move a caneta
ligeiramente afastada da mesa e o “modo de escrita”, em que o usuário toca a
mesa com uma caneta e pode escrever sobre ela. Para apagar o que está escrito o
usuário vira a caneta e encosta sua extremidade oposta (onde existe uma
borracha) sobre o que já foi escrito.
Outro exemplo deste tipo de interface é o “3D Palette” [Billinghurst,
1997]. Criado especificamente para modelagem de cenários em ambientes
virtuais, o equipamento opera
com uma caneta e uma prancheta rastreadas magneticamente. Sobre a prancheta,
são exibidos objetos tridimensionais que podem ser apontados na prancheta e
instanciados no ambiente virtual. Além destes objetos tridimensionais, a
ferramenta possui um editor gráfico para a criação de texturas que podem,
posteriormente, ser aplicadas aos objetos.
Os trabalhos existentes nesta linha têm obtido bons
resultados no processo de interação com o usuário, entretanto, ainda são
extremamente específicos e difíceis de alterar para serem usados em novas aplicações.
[Pinho, 2000] apresenta uma alternativa a este problema. Neste trabalho o
desenvolvedor da aplicação pode editar a interface em um editor específico, que
gera o código necessário para seu uso em linguagens de programação com C,
Pascal e Java.
[Antoniazzi, 1999] Antoniazzi, A., Braum, M. Sommer, S. “Navegador Imersivo de Mundos Virtuais”. Porto Alegre: Faculdade de Informática da PUCRS, 1999. Trabalho de Conclusão de Curso de Graduação.
[Billinghurst, 1997] Billinghurst, M. “3D
Palette: A virtual reality content creation tool”. In: ACM
Symposium on Virtual Reality Software and Technology 1997, Lausanne,
Switzerland. Proceedings... New York, NY: ACM Press, 1997. p. 155-156.
[Billinghurst, 1998] Billinghurst, M., Put That Where? Voice and Gesture
at the Graphic Interface . Computer Graphics, New York, 1998. 32(4): pp.
60-63.
[Boff 1986] Boff, K.R., L. Kaufman and J.P. Thomas, Eds.. Handbook of
Perception and Human Performance. New York, John Wiley and Sons, 1986.
[Bowman 1997] Bowman, D. and L.F. Hodges. "An
Evaluation of Techniques for Grabbing and Manipulating Remote Objects in
Immersive Virtual Environments". In: 1997 Symposium on Interactive 3D
Graphics, Providence, RI. Proceedings… New York, ACM Press, 1997, p.
35-38.
[Bowman 1999] Bowman, D., Davis, E., Badre, A., Hodges, L., Maintaining
Spatial “Orientation during Travel in an Immersive Virtual Environment”. Presence:
Teleoperators and Virtual Environments, 1999. 8(6): pp. 618-631.
[Bowman, 1996] Bowman, D.A., Koller, D., Hodges, L.F., “Travel in
immersive virtual environments: an evaluation of viewpoint motion control
techniques”. In: IEEE Virtual Reality
Annual International Symposium, 1996, Proceedings… Los Alamitos,
CA: IEEE Computer Society Press, 1996. p.
45-52.
[Bowman, 1998] Bowman, D., Koller, D., Hodges, L., “A Methodology
for the Evaluation of Travel Techniques for Immersive Virtual Environments”. Virtual
Reality: Research, Development, and Applications, 3(2), 1998. pp. 120-131.
[Bryson 1992] Bryson, S. and C.
Levit. “The Virtual Wind Tunnel.” IEEE
Computer Graphics & Applications, Los Alamitos, CA. p:25-34.
[Burdea, 1998] Burdea, G., et alii. “Virtual reality Training for the
Diagnosis of Prostate Cancer”, In: IEEE
Virtual Reality Annual International Symposium, 1998. Atlanta, GA. Proceedings…
Los Alamitos, CA: IEEE Computer Society Press, 1998. p.
190-197.
[Chua, 1998] Chua, G.G. et alii. “Volume-based Tumor Neurosurgery
Planning”, In: IEEE Virtual Reality Annual
International Symposium, 1998, Atlanta, GA. Proceedings… Los
Alamitos, CA: IEEE Computer Society Press, 1998. p. 167-175.
[Chung 1994] Chung, J. Intuitive Navigation in the Targeting of
Radiation Therapy Treatment Beams. North Carolina: UNC, 1994,
University of North Carolina, Ph.D. Thesis.
[Chung, 1992] Chung, J.C., “A comparison of Head-tracked and
Non-head-tracked Steering Modes in the Targeting of Radio-therapy Treatment
Beams”. In: Symposium on Interactive 3D Graphics, 1992. Proceedings… New
York, NY: ACM Press, 1997. p.
193-196.
[Conner 1992] Conner, D.B., S.S. Snibbe, K.P. Herndon, D.C. Robbins,
R.C. Zeleznik and A. van Dam. “Three-dimensional widgets” In: Symposium on
Interactive 3D Graphics, 1992. Proceedings… New York, NY: ACM Press,
1997. p. 183-188.
[Darken, 1998] Darken, R., Allard, T., Achille, L., “Spatial Orientation
and Wayfinding in Large-Scale Virtual Spaces: An Introduction”. Presence:
Teleoperators and Virtual Environments, 1998. 7(2): pp. 101-107.
[Darken, 1999] Darken, R.P. “Map usage in Virtual Environment:
Orientation Issues”, In: Virtual
Reality 1999 Conference, Houston, Texas. Proceedings… Los Alamitos, CA:
IEEE Computer Society Press, 1999.
p.133-140.
[Doellner, 1998] Doellner, J., Hinrichs, K., Interactive, Animated 3D
Widgets. In: Computer Graphics International, 1998. Proceedings… Los
Alamitos, CA: IEEE Computer Society Press, 1998, pp. 278-286.
[Feiner, 1999] Feiner, S. “Windows on the World:
2D windows for 3D augmented reality”, In: ACM Symposium on User Interface
Software and Technology, 1993, Proceedings… New York, ACM Press, 1993,
p. 145-155.
[Fröhlich, 2000] Fröhlich, B. et alii.
“Physically-based manipulation on the Responsive Workbench”, In: Virtual Reality 2000 Conference, New
Brunswick, NJ. Proceedings… Los Alamitos, CA: IEEE Computer Society
Press, 2000. p.5-12.
[Gleem, 2000] GLEEM. OpenGL Extremely Easy-to-use Manipulators. Disponível em http://www.media.mit.edu/~kbrussel/gleem/ (set. 2000).
[Goebel, 1999] Goebel, M. “Digital Storytelling –
Creating Interactive Illusions with Avocado”, In: ICAT’99 – International
Conference on Artificial Reality and Telexistence. Tóquio, Japão, 1999. Proceedings… Tóquio, Japão.
Virtual Reality Society of Japan, 1999, pp. 9-22.
[Harmon, 1996] Harmon, R., Patterson, W., Ribarsky, W., Bolter, J., The
virtual annotation system. In: IEEE Virtual
Reality Annual International Symposium, 1996. Proceedings… Los Alamitos, CA: IEEE Computer Society
Press, 1996. p. 239-245.
[Iwata, 2000] Iwata, H. “Gait Master Locomotion Interface”. Institute of engineering Mechanics and Systems, University of Tsukuba, Tsukuba , Japão. Documento disponível em http://intron.kz.tsukuba,ac.jp, (sept, 2000).
[Jacoby 1992] Jacoby, R., Ellis, S., “Using Virtual Menus in a Virtual
Environment”. In: Visual Data Interpretation, 1992. Proceedings… 1992.
SPIE. pp. 39-48.
[Jayaram, 1999] Jayaram, S. “A Virtual Assembly Design Environment”, In: Virtual Reality 1999 Conference,
Houston, Texas. Proceedings… Los Alamitos, CA: IEEE Computer Society
Press, 1999. p.172-179.
[Johnson, 1998] Johnson, M. et alii. “The NICE
Project: Learning Together in a Virtual World”, In: IEEE Virtual Reality Annual
International Symposium, Atlanta, GA. Proceedings… Los Alamitos, CA: IEEE Computer
Society Press, 1998. p. 176-183.
[Julier, 1999] Julier, S. et alii. “The Software
architecture of a Real-time Battlefield Visualization Virtual Environment”. In:
Virtual Reality 1999
Conference, Houston, Texas. Proceedings… Los Alamitos, CA: IEEE Computer
Society Press, 1999. p. 29-36.
[Kessler, 1999] Kessler, G.D. "A framework
for Interactors in Immersive Virtual Environment". In: Virtual Reality 1999 Conference,
Houston, Texas. Proceedings… Los Alamitos, CA: IEEE Computer Society
Press, 1999. p. 190-97.
[Lin, 2000] Lin, C-R. Loftin, R., Nelson, H. “Interaction with
Geoscience Data in an Immersive Environment”. In: Virtual Reality 2000 Conference, New Brunswick, NJ. Proceedings…
Los Alamitos, CA: IEEE Computer Society Press, 2000. p. 55-62
[Lindermann, 1999a] Lindermann, R. “Hand-held
Windows: towards effective 2D interaction in immersive virtual environments”.
In: Virtual Reality
1999 Conference, Houston, Texas. Proceedings… Los Alamitos, CA: IEEE
Computer Society Press, 1999. p. 205-216.
[Lindermann, 1999b] Lindeman, R.
John L. Sibert, and James K. Hahn, "Towards Usable VR: An Empirical
Study of User Interfaces for Immersive Virtual Environments,", In: ACM
Conference on Human Factors in Computing Systems, 1999, Proceedings…
New York: ACM Press, 1999.
[Macedonia 1994] Macedonia, M.R., M.J. Zyda, D.R. Pratt, P.T. Barham and
S. Zeswitz. “NPSNET: A Network Software Architecture for Large Scale Virtual
Environments.” Presence: Teleoperators and Virtual Environments, 1994,
3(4): 265-287.
[Marsh, 1998] Marsh, T and Watt A. “Shape your Imagination: Iconic
Gesture-based Interaction” In: IEEE Virtual
Reality Annual International Symposium, 1998, Atlanta, Georgia. Proceedings…
Los Alamitos, CA: IEEE Computer Society Press, 1996. p. 45-52.
[Mine, 1995] Mine, M. “ISAAC: A Virtual
Environment Tool for the Interactive Construction of Virtual Worlds”. UNC
Chapel Hill Computer Science Technical Report TR95-020, 1995.
[Mine, 1995] Mine, M., Virtual environment interaction techniques. UNC
Chapel Hill CS Dept.: Technical Report TR95-018. 1995.
[Nishino, 1997] Nishino et. el. “Interactive
Two-Handed Gesture Interface in 3D Virtual Environments”. In:
ACM Symposium on Virtual Reality Software and Technology 1997, Lausanne,
Switzerland. Proceeding ... New York, NY: ACM Press, 1997. p. 1-8.
[Noma, 2000] Noma, H. et alii “Development of
Ground Surface Simulator for Tel‑E‑Merge System”, In: IEEE Virtual Reality 2000
Conference, New Brunswick, NJ. Proceedings… Los Alamitos, CA: IEEE
Computer Society Press, 2000.
p.217-224.
[Noma, 2000] Noma, H., Sugihara, Miyasato, T. “Developement of ground
surface simulator for Tel-e-merge systems”. In:
IEEE Virtual Reality 2000 Conference, New Brunswick, NJ. Proceedings…
Los Alamitos, CA: IEEE Computer Society Press, 2000. p. 217-224.
[Norman, 1988] Norman, D.A. The psychology of everyday things.
New York, Basic Books. 1988.
[OpenInventor, 2000] Open Inventor. Silicon Graphics Inc. Disponível
em:
http://www.sgi.com/Technology/Inventor/ (set. 2000).
[Pausch, 1996] Pausch, R., J. Snoddy, R. Taylor, S. Watson and E.
Haseltine. “Disney's Aladdin: First Steps Toward Storytelling in Virtual
Reality.” Proceedings of SIGGRAPH 96, New Orleans, LA, ACM:
193-202.
[Pausch, 1995] Pausch, R., Crea, T., Conway, M., A Literature Survey for
Virtual Environments: Military Flight Simulator Visual Systems and Simulator
Sickness. 1995. 1(3).
[Pierce 1997] Pierce, J.S., A. Forsberg, M.J. Conway, S. Hong, R.
Zeleznik and M.R. Mine. “Image Plane Interaction Techniques in 3D Immersive
Environments.” In: 1997 Symposium on Interactive 3D Graphics, 1997,
Providence, RI. Proceedings..., New York, NY: ACM Press, p.39-44.
[Pinho, 1999] Pinho, M. et alii “A User Interface Model for Navigation in Virtual Worlds” In: Conferência Latino-Americana de Informática, 1999, Assunción, Paraguay, Anais…
[Pinho, 2000] Pinho, M. et alii
“Painel de Interação Configurável para
Ambientes Virtuais Imersivos”, In: Workshop de Realidade Virtual, 2000,
Gramado, RS, Anais... Porto Alegre, RS:Sociedade Brasileira de
Computação.
[Poupyrev 1996] Poupyrev, I., M. Billinghurst, S.
Weghorst and T. Ichikawa. “The Go-Go Interaction Technique: Non-Linear Mapping
for Direct Manipulation in VR”. In: ACM Symposium on User Interface Software
and Technology, 1996, Seattle, WA Proceedings…, New York, NY: ACM Press,
1996, p.79-80.
[Poupyrev, 1998] Poupyrev, I., S. Weghorst.
“Virtual notepad: handwriting in
Immersive VR”. In: IEEE Virtual Reality Annual International
Symposium, 1998, Atlanta, Georgia. Proceedings… Los Alamitos, CA:
IEEE Computer Society Press, 1998, pp.
126-132.
[Poupyrev, 1999] Poupyrev, I., et al.
Manipulating objects in virtual worlds: categorization and empirical evaluation
of interaction techniques. Journal of Visual Languages and Computing,
Academic Press, 10(1), 1999. pp. 19-35.
[Rizzo, 2000] Rizzo, A. “Virtual Environment
Applications in Clinical Neuropsychology”, In: IEEE Virtual Reality 2000 Conference, New Brunswick,
NJ. Proceedings… Los Alamitos, CA: IEEE Computer Society Press,
2000. p.63-70.
[Rothbaum 1995] Rothbaum, B., L. Hodges, R. Kooper, D. Opdyke, J.
Williford and M. North. “Effectiveness of computer-generated (virtual reality)
graded exposure in the treatment of acrophobia.” American Journal of
Psychiatry 152(4): 626-628.
[Ruddle, 1998] Ruddle,
R.A., Payne, S.J., Jones, D.M. Navigating large-scale “Desk-Top” virtual
buildings: Effects of orientation aids and familiarity. Presence:
Teleoperators and Virtual Environments, 7, pp. 179-192, 1998.
[Sasaki, 1999] Sasaki, H. et alii. “Hit-wear: a
menu sytem superimposed on a humam hand for weareable computers”. In: ICAT’99 –
International Conference on Artificial Reality and Telexistence. Tóquio, Japão, 1999. Proceedings… Tóquio, Japão.
Virtual Reality Society of Japan, 1999, pp. 146-53.
[Schulz, 1998] Schulz, M. et alii. “Crashing in
Cyberspace – Evaluating Structural Behavior of Car Bodies in a Virtual
Environment”, In: IEEE Virtual Reality Annual International
Symposium, 1996, Atlanta, GA, Proceedings…
Los Alamitos, CA: IEEE Computer Society Press, 1998. p. 160-166.
[Segen, 1998] Segen, J., Kumar,
S. “GestureVR: Vision-Based 3D Hand Interface for Spatial Interaction”. In: ACM
Multimedia Conference 1998. Proceedings…
[Slater, 1995] Slater, M., Usoh, M., Steed, A. “Taking Steps, The
Influence of a Walking Metaphor on Presence in Virtual Reality”. ACM
Transactions on Computer-Human Interaction (TOCHI), New York, 2(3), p.
201-219, Sep., 1995.
[Sommerer, 1999] Sommerer, C. et alii “LIFE SPACIES II: from text to form on the
Internet using language as genetic code”, In: ICAT’99 – International
Conference on Artificial Reality and Telexistence. Tóquio, Japão, 1999. Proceedings… Tóquio, Japão.
Virtual Reality Society of Japan, 1999, pp. 215-220.
[Song, 1993] Song, D., Norman, M. Nonlinear Interactive Motion
Control Techniques for Virtual Space Navigation. In: IEEE Virtual Reality Annual International
Symposium, 1993, Proceedings… Los Alamitos, CA: IEEE Computer
Society Press, 1993. p. 111-117.
[Stansfield, 1998] Stansfield, S., et alii.
“MediSim: A Prototype VR System for Training Medical First Responders”, In: IEEE Virtual Reality Annual International Symposium, 1998. Atlanta, GA. Proceedings… Los
Alamitos, CA: IEEE Computer Society Press, 1998. pp. 198-205.
[Taylor 1993] Taylor, R.M., W. Robinett, V.L. Chi, F.P. Brooks Jr.,
W.V.Wright, S. Williams and E.J. Snyder. “The Nanomanipulator: A
Virtual-Reality Interface for a Scanning Tunnel Microscope.” In: SIGGRAPH’1993
- International Conference in Computer Graphics and Interactive Techniques,
1993, Anaheim,CA, Proceeding ... New York, NY: ACM, 1993. p. 155-156.
[Vamplew, 1995] Vamplew, P. Recognition and anticipation of hand
motions using a recurrent neural network. In: IEEE International Conference on
Neural Networks, 1995. Proceedings… Los Alamitos, CA: IEEE Computer
Society Press, 2000. p. 2904. 1995.
[Waller, 1998] Waller, D., Hunt, E., Knapp, D. The transfer of
spatial knowledge in virtual environment training. Presence:
Teleoperators and Virtual Environments, 7(2), pp. 129-143, 1998.
[Wan, 2000] Wan, M. at alii “Intercative
Stereoscpic Rendering of Voxel-based Terrain”, In: Virtual Reality 2000 Conference, New Brunswick,
NJ. Proceedings… Los Alamitos, CA: IEEE Computer Society Press,
2000. p.197-206.
[Wartell, 1999] Wartell, Z. et alii, “Third-person navigation of
Whole-Planet Terrain in Head-Tracked Stereoscopic Environment”, In: Virtual Reality 1999 Conference,
Houston, Texas. Proceedings… Los Alamitos, CA: IEEE Computer Society
Press, 1999. p.141-149.
[Wilson 1995] Wilson, J.R., D.J. Brown, S.V. Cobb, M.M. D'Cruz and R.M.
Eastgate. “Manufacturing Operations in Virtual Environments (MOVE).” Presence:
Teleoperators and Virtual Environments 4(3): 306-317.
[Shinomiya, 1997] Shinomiya, Y. et alii. “Horseback riding therapy
simulator with VR Technology”, In: ACM
Symposium on Virtual Reality Software and Technology 1999, Lausanne,
Switzerland. Proceedings... New York, NY: ACM, 1997. p. 9-14.
[Zhai, 1994] Zhai, S., Buxton, W., Milgram, P., The "Silk
cursor": investigating transparency for 3D target acquisition. In: ACM
Conference on Human Factors in Computing Systems, 1994, Proceedings…
New York: ACM Press, 1994.
[Zhu, 1999] Zhu, Y. et alii “A Virtual Reality System for Knee Diagnosis
and Surgery Planing”, In: Virtual
Reality 1999 Conference, Houston, Texas. Proceedings… Los Alamitos, CA:
IEEE Computer Society Press, 1999. p.
84.
Anotações