3. Criação e visualização de conteúdos multissensoriais
3.3. Implementação dos protótipos
3.3.2. Reprodutor multissensorial
Para a reprodução das experiências é essencial ter a capacidade de controlar a reprodução de vídeos que serão mostrados ao cliente. Para facilitar este controlo, foi decidido usar a framework XNA da Microsoft.
Esta aplicação, (Figura 21), tem de permitir ao cliente consumidor viver a simulação da experiência real. Para isso é necessário que ela consiga conectar e operar o equipamento apropriado para a reprodução dos estímulos. Neste caso, foi usado o Sony 3D glasses HMZ-T1 para a visão e audição pois possui capacidade de reprodução som 3D, para captar os movimentos da cabeça foi usado o TrackIR 5 e uma máquina de cheiros da Daleair2 para libertar os cheiros adicionados.
Figura 21 - Janela de reprodutor multissensorial
Aqui nesta aplicação o cliente consumidor carrega a experiência criada pelo cliente produtor, ou seja, todos os elementos guardados dentro da pasta do servidor com o nome da experiência são adicionados ao projeto (ficheiros de som, XML e o vídeo).
2
Daleair – é uma empresa de reprodução de aromas e máquinas de cheiros. Referência:
42
Tendo todos os ficheiros adicionados ao projeto, inicialmente são carregadas, através da leitura do XML, todas as variáveis respeitantes aos sentidos como som, cheiro, visão e brisa.
Logo que comece a ser reproduzida a experiência, de forma sincronizada com o tempo do vídeo, são libertados os estímulos de acordo com os tempos carregados anteriormente. Para isso, é necessário haver comunicação com os dispositivos.
A máquina de cheiros utilizada, (Figura 22), é composta por quatro slots, dando assim para colocar quatro cheiros distintos. Cada slot contém uma pequena ventoinha controlada pelo computador. Neste caso, a comunicação com a máquina é feita através de uma DLL. Esta comunicação é feita através de números enviados para o dispositivo.
Figura 22- Máquina de cheiros Daleair.
Para uma correta comunicação foi desenvolvido um controlador com os estados possíveis em que a máquina se pode-se encontrar, (Figura 23).
43
Figura 23 - Estados da máquina de cheiros.
Logo que inicia aplicação a máquina é ligada com o estado ALL_OFF, posteriormente de acordo com o XML carregado, os estados vão-se alterando para libertar os cheiros descritos nas respetivas ventoinhas e no fim volta ao estado ALL_OFF. Os cheiros têm que ser colocados na máquina previamente antes de começar a ser reproduzida aplicação, esses cheiros são pequenas pastilhas com o cheiro introduzido próprios para esta máquina. A propagação do cheiro é feita quando a ventoinha da slot em que está colocado o cheiro começar a rodar. Para uma melhor entrega deste sentido o ideal é ter algo como um tubo que leve o cheiro diretamente até ao nariz.
A captação dos movimentos da cabeça é feita através do TrackIR 5, (Figura 24). Este dispositivo permite o rastreamento da cabeça com 6 DOF (Six degrees of freedom), conseguindo-se assim um movimento real.
ALL_OFF = 255, ALL_ON = 0, FOURTH_ON = 14, THIRD_ON = 22, SECOND_ON = 26, FIRST_ON = 28, SECOND_THIRD_FOURTH_ON = 2, FIRST_THIRD_FOURTH_ON = 4, FIRST_SECOND_FOURTH_ON = 8, FIRST_SECOND_THIRD_ON = 16, THIRD_FOURTH_ON = 6, SECOND_FOURTH_ON = 10, FIRST_FOURTH_ON = 12, SECOND_THIRD_ON = 18, FIRST_THIRD_ON = 20, FIRST_SECOND_ON = 24
44
Figura 24 – Controlador de rastreamento da cabeça, TrackIR 5.
O TrackIR 5 é composto por uma pequena câmara que é ligada ao computador e um dispositivo no qual a camara vai rastrear. A camara é colocada em frente ao utilizador e o dispositivo que vai ser rastreado à altura da cabeça do utilizador.
A aplicação comunica com o TrackIR 5 através de uma DLL. Neste caso a DLL fornecida era em C++ e foi necessário fazer o wrapping de C++ para C# dessa mesma DLL para aplicação conseguir comunicar com o dispositivo.
O dispositivo TrackIR é ligado juntamente com a aplicação, os valores do dispositivo são retornados de forma continua através da DLL. Posteriormente, é feita uma conversão dos valores lidos do dispositivo de forma a fazer movimentar a câmara virtual da experiência.
Os valores do dispositivo são muito limitados, como é utilizada uma câmara para captar os graus do dispositivo, a camara não é capaz de captar uma rotação horizontal superior a 90 graus, impossibilitando uma experiencia totalmente 360º.
O dispositivo Sony 3D glasses HMZ-T1, (Figura 25), foi usado para visão e audição. Em relação à reprodução dos sons, funciona da seguinte forma: logo que é iniciada aplicação é carregado o XML como já referenciado; depois, de forma sincronizada com o vídeo e de acordo com os tempos carregados são reproduzidos os sons com a duração exata como descrito nas variáveis carregadas respeitantes ao som.
45
Figura 25 - Sony 3D glasses HMZ-T.
Para a visão, o Sony 3D glasses HMZ-T1 reproduz tudo o que mostra no ecrã do computador, então simplesmente basta colocar a aplicação em fullscreen e reproduzir no dispositivo. O dispositivo liga ao computador por um cabo HDMI não havendo a necessidade de nenhuma DLL para a comunicação. Contudo para a exibição imersiva do vídeo foi desensolvido um visualizador panoramico de 360 graus. Sendo possível a visualização através de uma visualização imersiva esférica ou cilíndrica.
A tecnologia utilizada para o seu desenvolvimento foi a tecnologia XNA juntamente com o DirectX. Inicialmente é criada uma malha em forma de Grid 2D. Depois, é feito o carregamento da imagem como textura. No caso do vídeo é retirado de forma cíclica o
frame atual do vídeo carregando-o como textura. Seguidamente mapeia-se a textura para
a Grid e passa-se a Grid e a textura para a Placa Gráfica. Tendo a Grid texturizada no
vertex shader, transforma-se os vértices de acordo com a equação paramétrica da esfera
ou do cilindro. Por fim posiciona-se a camara no centro da superfície paramétrica. Em relação ao panorama esférico não há qualquer restrição na camara podendo o utilizador olhar para qualquer lugar sem pontos cegos, já no panorama cilíndrico há somente no eixo dos Y por causa dos limites verticais.
Em relação à sensação do efeito brisa, a aplicação está preparada para comunicar com uma ventoinha, mas devido à falta de hardware não foi possível testar.
46