3. REFERÊNCIAS
● Collins, C. Looking to the Future: Higher Education in the Metaverse.
EDUCAUSE Review, september/october 2008. disponível em:
https://net.educause.edu/ir/library/pdf/ERM0853.pdf acesso em: 19/10/2016.
● Sanders, R.L. (2007). The genesis of a virtual world - revisited. International
Journal of Web Based Communities, 3(3), pp. 271-282. Published by
Interscience. (ISSN: 1477-8394) DOI: 10.1504/IJWBC.2007.014238
disponível em:
http://libres.uncg.edu/ir/asu/f/Sanders_Robert_2007_The_Genesis.pdf
acesso em: 26/10/2016.
● Bronack, S. & Sanders, R. & Cheney, A. & Riedl, R. & Tashner, J. & Matzen,
N. Presence Pedagogy: Teaching and Learning in a 3D Virtual Immersive
World. International Journal of Teaching and Learning in Higher Education,
2008, Vol. 20, N. 1, pp. 59-69. ISSN 1812-9129. disponível em:
http://files.eric.ed.gov/fulltext/EJ895226.pdf acesso em: 19/10/2016.
4. REFERÊNCIAS
● D. Kaimaris & E. Stylianidis & N. Karanikolas. VIRTUAL REALITY:
DEVELOPING A VR SPACE FOR ACADEMIC ACTIVITIES. ISPRS Annals of the
Photogrammetry, Remote Sensing and Spatial Information Sciences, Vol. II-5,
2014, ISPRS Technical Commission V Symposium, 23–25 June 2014, Riva del
Garda, Italy. Disponível em:
http://www.isprs-ann-photogramm-remote-sens-spatial-inf-sci.net/II-5/197/2014/i
sprsannals-II-5-197-2014.pdf
acesso em: 19/10/2016.
● Peterson, M. LEARNING INTERACTION IN AN AVATAR-BASED VIRTUAL
ENVIRONMENT: A PRELIMINARY STUDY. PacCALL Journal Volume 1 No. 1
Summer 2005, pp. 29-40. disponível em:
http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.104.5544&rep=rep1&t
ype=pdf
acesso em: 26/10/2016.
● Christine Youngblut. Educational Uses of Virtual Reality Technology. Disponível
em: http://papers.cumincad.org/data/works/att/94ea.content.pdf acesso em:
19/10/2016.
5. REFERÊNCIAS
● Allison, C. & Anne Campbell, A. & Davies, C. J. & Dow, L. & Kennedy, S. & McCaffery, J.
& Miller, A. & Oliver, I. & Perera, I. Growing the use of Virtual Worlds in education : an
OpenSim perspective. Proceedings of the 2nd European Immersive Education Summit,
2012. ISSN 2325-5048. disponível em:
https://research-repository.st-andrews.ac.uk/bitstream/handle/10023/3272/Growing_th
e_Use_of_Virtual_Worlds_in_Education_revised.pdf?sequence=1&isAllowed=y
acesso em: 19/10/2016.
● Ronald A. Styron, Jr. Critical Thinking and Collaboration: A Strategy to Enhance Student
Learning. SYSTEMICS, CYBERNETICS AND INFORMATICS, vol. 12, n. 7, 2014. ISSN:
1690-4524. disponível em: http://www.iiisci.org/journal/CV$/sci/pdfs/EI597JP12.pdf
acesso em: 19/10/2016.
● Konstantinidis, A. & Tsiatsos, T. & Demetriadis, S. & Pomportsis, A. Collaborative
Learning in OpenSim by Utilizing SLoodle. Sixth Advanced International Conference on
Telecommunications (AICT), 2010.
● Bessiere, K., Seay, A.F.,Kiesler, S.: The Ideal Elf: Identity Exploration in World of
Warcraft. Cyberpsychology & Behavior, 10 (4). (2007) pp. 530-535. disponível em:
http://spartan.ac.brocku.ca/~tkennedy/COMM/Bessiere.pdf acesso em: 28/10/2016.
6. METAVERSE
● Termo cunhado por Neal Stephenson (Snow
Crash, 1992)
● Espaço virtual compartilhado que busca simular
ou aumentar a realidade física
● Designa mundos virtuais, conectados entre si e
compartilhados por agentes (ou atores),
representados por avatares, que interagem em
termos sociais e econômicos, replicando o
mundo real
7. REALIDADE VIRTUAL
● Conjunto de tecnologias de hardware e
software para gerar imagens, sons e outras
sensações que repliquem o ambiente real e
permitam ao usuário interagir com o ambiente
● Transformar a Web de 2D em 3D
● VR desktop x VR imersiva
10. ACTIVE WORLDS
● Plataforma online para distribuição de conteúdo
3D (1995)
● Aplicações empresariais e educacionais
https://www.activeworlds.com/web/index.php
11. SECOND LIFE
● Second Life e Linden Lab (2002)
● 1.000.000 de avatares (2006)
● Software disponibilizado em fonte aberto –
modalidade de software livre (2007)
12. OPENSIMULATOR
● Projeto OpenSimulator foi fundado por Darren Guard
(2007)
http://opensimulator.org/wiki/Main_Page
● Servidor fonte aberto similar ao servidor do Second Life
● Servidor disponível para sistemas Windows (usando
.NET) e Linux (usando Mono)
● Permitiu o surgimento de outros Grids alternativos ao
Grid do Second Life: aplicações educacionais; grids
acadêmicos; Exército dos EUA
13. OPENSIMULATOR
● OpenSim permite estabelecer um servidor com
regiões virtuais em um computador doméstico
sem custos
● As regiões residindo no servidor doméstico
podem ser anexadas (ou conectadas), sem
custo, a algum Grid OpenSim
14. ALGUMAS APLICAÇÕES
● Arquitetos e designers: prototipação rápida
● Engenheiros: testes de estruturas
● Artistas: performances e exposições online (dança,
escultura, pintura, etc.)
● Educadores: ambiente educacional 3D
● Médicos e terapeutas: estudo de anatomia
● Socorristas: simulação de acidentes
● Exército: jogos de guerra virtuais
15. EMPRESAS E INSTITUIÇÕES
INTERESSADAS
● Exército dos EUA (Project MOSES: Military Open Simulator
Enterprise Strategy) https://militarymetaverse.org/
● IBM
● Oxford University
● Sony Computer Entertainment
● University of California http://universalcampus.igb.uci.edu/
● University of Cincinnati
http://ucsim.uc.edu/blog/services/virtual-environments-de
velopment/opensim/
● University of Edinburgh http://vue.ed.ac.uk/openvue/
16. COMPARAÇÃO DE CUSTOS
● Custo do aluguel de uma região no Second
Life: US$ 290,00/mês
● Custo de uma região, usando o servidor
OpenSim, residindo no próprio computador
doméstico conectado a algum Grid: ZERO
● Custo de uma região em um serviço de
hospedagem de regiões OpenSim comercial:
iniciando em US$ 10,00/mês
17. COMPARAÇÃO DO SOFTWARE
SECOND LIFE OPENSIM
Sofware monolítico Software modular e expansível
Usa o motor de física (physics engine)
Havok – software proprietário pertencente
a Microsoft
Por sua natureza modular pode usar
diversos motores diferentes disponíveis
em licença software livre
Usa o sistema de voz comercial da Vivox Administradores de Grids podem instalar
diversos sistemas de voz disponíveis em
licença software livre
Teleporta apenas entre regiões do Grid do
Second Life
Teleporta entre regiões de qualquer Grid
que tenha habilitado o Hypergrid
Limitado a regiões de 256 m x 256 m Mega-Regions (sem bordas de transição)
e Variable Regions (até 32 x 32)
Software menos estável e confiável Software mais estável e confiável (menor
número de períodos de manutenção)
19. CONCEITOS BÁSICOS
● Modelo Cliente-Servidor: Servidor cria o mundo virtual e
o cliente serve para navegar no mundo e interagir com
os objetos virtuais
● Navegadores (visualizadores ou clientes): Second Life
viewer; Firestorm viewer; Singularity viewer; Kokua
viewer; etc.
● Navegadores para Windows, Linux, Mac, Android e
iPhone
● Recomendado o download do Firestorm viewer
(Windows, Mac e Linux): http://www.firestormviewer.org/
27. CONCEITOS BÁSICOS
● Grid: plataforma e tecnologia usada no Second
Life para criar o mundo virtual
● Rede de máquinas usadas para criar um
terreno plano virtual e gerenciar objetos e
avatares
● Conjunto de regiões (SIMs) que residem nas
máquinas servidoras
28. CONCEITOS BÁSICOS
● SIM: região de 256m x 256m (65.536 m2) - Contém a
terra, avatares e objetos
● Mega-região: região maior que 256m x 256m no Opensim
(exemplo: 2 x 2 ou 512m x 512m)
● Avatar: persona digital usada pelo jogador para interagir
com os outros jogadores e os objetos do jogo
● Teleporter: dispositivo que serve para transportar
(teleportar) os avatares de uma região para outra ou entre
pontos de uma mesma região
● Hypergrid: tecnologia para conectar diferentes Grids
29. CONCEITOS BÁSICOS
● Asset: Um recurso de dados tal como uma imagem, som
ou script que pode ser armazenado no servidor
● UUID: Universally Unique IDentifier é um identificador
padrão, de 128 bits, usado na construção de software; No
OpenSim é usado para identificar regiões e assets
● Script: pedaço de código de computador usado para tornar
os objetos dinâmicos de forma a reagir aos eventos inworld
● Inventário: local para armazenar os objetos, scripts, roupas
e skins/shapes de um avatar ou objeto
● Objetos podem ser renderizados ou tomados
30. CONCEITOS BÁSICOS
● Prim ou Primitivo: objeto geométrico tridimensional básico: caixa;
prisma; pirâmide; tetraedro; cilindro; semicilindro; cone; semicone;
esfera; semi-esfera; toro; tubo; anel; árvore; e grama
● Prim: um objeto virtual sem partes que serve para criar objetos virtuais:
veículos; mobília; casas; roupas; cabelos; etc.
● Link set: objeto composto por vários prims mantidos juntos e que
podem ser movidos e guardados no inventário como um objeto único
● Root Prim: prim raiz em um objeto composto por mais de um prim
● Mesh: modelo 3D criado com um software específico como o Blender
que pode ser importado para o Opensim (formato Collada)
● Sculpt ou Sculpted Prim: um prim cuja forma é determinada por uma
textura
31. CONCEITOS BÁSICOS
● Impacto no terreno: medida de prims que foram
renderizados na região corrente
● Usualmente o limite em uma região 256m X
256m é de 15.000 prims
● OpenSim permite configurar até 45.000 prims
● Permissões: Modificar/Copiar/Transferir –
refletem direitos autorais sobre os trabalhos
36. FERRAMENTA DE EDIÇÃO
●
Mover
●
Rotacionar
● Esticar
● Selecionar face
●
Alinhar
●
Editar link set
● Esticar ambos os lados
● Esticar texturas
●
Ajuste a grelha
●
Editar eixo do prim raiz
● Mostrar destaque
39. FERRAMENTA DE EDIÇÃO
● Path Cut: fatia do objeto ao
longo do eixo Z
● Hollow: centro oco
● Twist: torce o objeto ao
longo do eixo Z
● Taper: reduz o tamanho do
topo e/ou base do objeto
● Top Shear: desloca a
superfície do topo
● Slice: fatia uma esfera
40. FERRAMENTA DE EDIÇÃO
● Flexible Path: maciez;
gravidade; vento; etc.
● Física: material;
gravidade; fricção;
densidade; etc.
41. FERRAMENTA DE EDIÇÃO
● Cor
● Brilho
● Textura
● Transparência
● Mapeamento
● Escala
● Rotação
67. MESH
● Faces, arestas e vértices
● Faces: Triângulos; QUADS (quadriláteros);
outros polígonos
● Arestas e vértices das faces adjacentes são
compartilhados
79. SCULPT
● Forma do prim é determinada por uma textura (sculpt map)
● Mais eficiente e economiza prims
● O sculpt map é uma imagem plana (por exemplo 256 x 256
pixels)
● Cada pixel do sculpt map com cor em 24 bits permite
armazenar uma posição <x,y,z> no espaço, com os valores
de x, y e z em 8 bits (representando um número de 0-255)
● Cada vértice do MESH é armazenado em um pixel colorido
85. SCULPT MAPS
● Podem ser criados em programas especiais
● Archipelis
http://www.archipelis.com/home.php?
● Blender usando o plugin primstar
http://dominodesigns.info/project/primstar
98. SCRIPTS LSL
● Linden Lab Script Language (LSL)
● LSL Portal: http://wiki.secondlife.com/wiki/LSL_Portal
● Linguagem de programação orientada a eventos
● Scripts LSL são divididos em partes de código que respondem a
eventos ocorridos inworld: state_entry (desencadeado ao iniciar o
script); touch_start (ao iniciar a clicar no objeto); collision_start (ao
iniciar a colidir no objeto); timer (evento repetido em intervalos de
tempo, resultante da chamada da função llSetTimerEvent); etc.
● Scripts reajem a eventos por meio de event handlers, dependendo
do estado em que se encontram
● Estado principal é chamado de default
99. FUNÇÕES LSL
● Função pode ser entendida como uma
máquina ou dispositivo que recebe
determinado número de entradas e produz uma
saída e/ou efeito
● Linguagem LSL possui cerca de 310 funções
pré-definidas para serem usadas em scripts
LSL
100. ALGUMAS FUNÇÕES DE SCRIPT
LSL PRÉ-DEFINIDAS
● llEmail – envia um e-mail
● llFrand – gera um número pseudo-aleatório
● llPlaySound – executa um arquivo de audio armazenado no inventário
do prim
● llSetParcelMusicURL – define a stream de áudio executando no lote
● llSetPrimMediaParams – define os parâmetros de media em uma face
do prim
● llSetTexture – atribui uma textura às faces de um prim
● llSetTimerEvent – ativa um evento de timer
● llTargetOmega – rotaciona um prim em torno de um eixo definido por
meio de um vetor
101. COMANDO DE ATRIBUIÇÃO
● Define o valor de uma variável em um script
● Exemplos:
float vol = 1.0;
float time = min + llFrand(max - min);
102. CONTROLE DE FLUXO
● if (CONDIÇÃO) COMANDOS
● if (CONDIÇÃO) COMANDOS else
COMANDOS
● while (CONDIÇÃO) COMANDOS
110. APLICANDO UMA TEXTURA NAS
FACES AO CLICAR O PRIM
default
{
state_entry()
{
string TEXT = "Click here";
vector COLOR_GREEN = <0.0, 1.0, 0.0>;
float OPAQUE = 1.0;
// display text over prim
llSetText(TEXT, COLOR_GREEN, OPAQUE);
}
touch_start(integer num_detected)
{
// the first texture alphabetically inside the same prim's inventory
string texture = llGetInventoryName(INVENTORY_TEXTURE, 0);
// set it on all sides of the prim containing the script
llSetTexture(texture, ALL_SIDES);
}
}
115. JOGO DE DADOS
default
{
touch_start(integer num)
{
integer roll1 = (integer)(llFrand(6)+1);
integer roll2 = (integer)(llFrand(6)+1);
string sufix = (string) roll1 + (string) roll2;
llSetTexture("dice" + sufix,1);
}
}
116. GRILOS CANTANDO À NOITE
// Night crickers (grig) sound
// Script by Carlos Campani (Fogo Sagrado)
// Minimum amount of time (in seconds) between sounds.
float min = 10;
// Maximum amount of time (in seconds) between sounds.
float max = 30;
// This is the volume at which the sound will play. 0 = Inaudible
// Valid values are between 0.0 - 1.0
float vol = 1;
// Sound to play.
key sound = "grilos";
117. GRILOS - CONTINUAÇÃO
default // daytime state
{
state_entry()
{
llSetTimerEvent(min);
}
timer()
{
vector sun = llGetSunDirection();
if (sun.z < 0) state night;
llSetTimerEvent(min);
}
}
118. GRILOS - CONTINUAÇÃO
state night
{
state_entry()
{
llSetTimerEvent(min);
}
timer()
{
vector sun = llGetSunDirection();
if (sun.z > 0) state default; // Change back to daytime state
// Play the sound once
llPlaySound(sound, vol);
// Randomly select the next time (in seconds) to play the sound.
float time = min + llFrand(max - min);
llSetTimerEvent(time);
}
}
119. USANDO CAIXAS DE DIÁLOGO –
ESCOLHENDO A COR DO PRIM
// Dialog box to choose the prim's color
integer gListener; // Identity of the listener
default
{
...
}
120. USANDO CAIXAS DE DIÁLOGO
touch_start(integer total_number)
{
// Kill off any outstanding listener
llListenRemove(gListener);
// get the UUID of the person touching this prim
key user = llDetectedKey(0);
// Listen to any reply from that user only
gListener = llListen(-99, "", user, "");
// Send a dialog to that person using channel -99
llDialog(user, "nChoose color", ["Red", "Green", "Blue"] , -99);
// Start a 1 minute timer, after which we will stop listening for responses
llSetTimerEvent(60.0);
}
121. USANDO CAIXAS DE DIÁLOGO
listen(integer chan, string name, key id, string msg)
{
// change color
if (msg == "Red")
llSetColor(<1.0,0.0,0.0>,ALL_SIDES);
if (msg == "Green")
llSetColor(<0.0,1.0,0.0>,ALL_SIDES);
if (msg == "Blue")
llSetColor(<0.0,0.0,1.0>,ALL_SIDES);
// Make the timer fire immediately, to do clean-up actions
llSetTimerEvent(0.1);
}
122. USANDO CAIXAS DE DIÁLOGO
timer()
{
// Stop listening to reduce lag
llListenRemove(gListener);
// Stop the timer now that its job is done
llSetTimerEvent(0.0);
}
128. SERVIDOR OPENSIM: MODOS
● Modo standalone: Um sistema OpenSim
rodando o simulador de regiões e todos os
serviços de dados em um processo único
● Modo Grid: Serviços de dados rodam em
processos separados do processo de
simulação de regiões (mais eficiente no uso da
máquina)
131. COMANDOS DE SERVIDOR
Administração do servidor: adicionar e remover
regiões; adicionar e remover contas; backup
inventários (IAR) e backup regiões (OAR);
carregar e salvar terrenos; etc.
132. DISTRIBUIÇÕES OPENSIM
● Diva Distro: servidor OpenSim pré-configurado, em modo
standalone e habilitado para Hypergrid
http://metaverseink.com/Downloads.html
● Sim-on-a-Stick: servidor OpenSim + servidor MySQL +
servidor Apache (pré-configurados, sem Hypergrid,
cabendo em um pendrive) – servidor e cliente (navegador)
executam na mesma máquina
http://simonastick.com/
● OSGrid Distro – otimizada para usar o maior grid
OpenSim: OSGrid
133. SLOODLE
● Projeto Fonte Aberto que integra Second Life
e/ou OpenSim com o Moodle
● Fornece ferramentas para apoiar ensino e
aprendizado em um mundo virtual
135. REALIDADE VIRTUAL
● OpenSim possui suporte a Oculus Rift
● OpenSim + versão gratuíta do Unity 3D
development kit com Google Cardboard plugin
+ celular Android + Google Cardboard =
Realidade Virtual para as massas
136. METODOLOGIA DE
ENSINO/APRENDIZADO
● Presence Pedagogy (P2)
● Proposta por Stephen Bronack, Robert Sanders,
Amelia Cheney, Richard Riedl, John Tashner e Nita
Matzen
● Construtivismo e holística
137. PRINCÍPIOS DA P2
●
Fazer perguntas e corrigir equívocos;
●
Estimular o conhecimento e a experiência prévia;
●
Capitalizar a presença de outras pessoas;
●
Facilitar as interações e incentivar a comunidade;
●
Apoio a cognição distribuída;
●
Compartilhar ferramentas e recursos;
●
Incentivar a exploração e descoberta;
●
Delinear contexto e objetivos para agir;
●
Fomentar a prática reflexiva; e
●
Utilizar a tecnologia para atingir e divulgar os resultados.
138. IMPORTÂNCIA DO AVATAR
● Representa o usuário
● Capaz de produzir gestos e exibir respostas
emocionais
140. IMPORTÂNCIA DO AVATAR
● Aparência: realístico x fantasioso
● Psicologia “Big Five”: Neuroticismo;
extroversão; amabilidade; escrupolosidade;
abertura para experiência
141. IMPORTÂNCIA DO AVATAR
● Referencial nas interações sociais/econômicas
● Referencial nas interações aluno/professor e
aluno/aluno
142. APRENDIZADO E DESIGN
COLABORATIVO EM MUNDOS
VIRTUAIS● Explorar o trabalho colaborativo em sala de aula –
interações colaborativas são de grande valor para a
melhora no aprendizado dos estudantes
● Estudo e aplicação de metodologias de ensino usando
mundos virtuais e Realidade Virtual
● Explorar as potencialidades do ambiente virtual como
ferramenta didático-pedagógica para arquitetura, arte e
design
● Usar a ferramenta para desenvolver a percepção
espacial e o uso de métricas no projeto arquitetônico
143. APRENDIZADO E DESIGN
COLABORATIVO EM MUNDOS
VIRTUAIS● Desenvolvimento de trabalhos em design/arquitetura/arte
usando as facilidades da distribuição Sim-on-a-Stick
● Programação em scripts LSL (linguagem orientada a
eventos)
● Criação de um Grid acadêmico para fins didático-
pedagógicos
● Exposição de trabalhos dos alunos no ambiente virtual
● Uso de VR no processo de ensino-aprendizado de alunos
com necessidades especiais
● Suporte às escolas de Pelotas no uso do OpenSim