Mundos Virtuais/Opensim

144
MUNDOS VIRTUAIS/OPENSIM Prof. Dr. Carlos Campani (Fogo Sagrado)

Transcript of Mundos Virtuais/Opensim

Page 1: Mundos Virtuais/Opensim

MUNDOS VIRTUAIS/OPENSIM

Prof. Dr. Carlos Campani(Fogo Sagrado)

Page 2: Mundos Virtuais/Opensim

ESTA APRESENTAÇÃO

http://www.slideshare.net/campani/mundos-virtuaisopensim

Page 3: Mundos Virtuais/Opensim

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.

Page 4: Mundos Virtuais/Opensim

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/isprsannals-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&type=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.

Page 5: Mundos Virtuais/Opensim

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_the_Use_of_Virtual_Worlds_in_Education_revised.pdf?sequence=1&isAllowed=yacesso 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.

Page 6: Mundos Virtuais/Opensim

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

Page 7: Mundos Virtuais/Opensim

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

Page 8: Mundos Virtuais/Opensim

OCULUS RIFT

Page 9: Mundos Virtuais/Opensim

GOOGLE CARDBOARD

Page 10: Mundos Virtuais/Opensim

ACTIVE WORLDS

● Plataforma online para distribuição de conteúdo 3D (1995)

● Aplicações empresariais e educacionais

https://www.activeworlds.com/web/index.php

Page 11: Mundos Virtuais/Opensim

SECOND LIFE

● Second Life e Linden Lab (2002)● 1.000.000 de avatares (2006)● Software disponibilizado em fonte aberto –

modalidade de software livre (2007)

Page 12: Mundos Virtuais/Opensim

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

Page 13: Mundos Virtuais/Opensim

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

Page 14: Mundos Virtuais/Opensim

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

Page 15: Mundos Virtuais/Opensim

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-development/opensim/

● University of Edinburgh http://vue.ed.ac.uk/openvue/

Page 16: Mundos Virtuais/Opensim

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

Page 17: Mundos Virtuais/Opensim

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)

Page 18: Mundos Virtuais/Opensim

MODELO CLIENTE-SERVIDOR

Page 19: Mundos Virtuais/Opensim

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/

Page 20: Mundos Virtuais/Opensim

NAVEGADOR FIRESTORM

Page 21: Mundos Virtuais/Opensim

NAVEGADOR FIRESTORM

Page 22: Mundos Virtuais/Opensim

NAVEGADOR FIRESTORM

Page 23: Mundos Virtuais/Opensim

NAVEGADOR FIRESTORM

Page 24: Mundos Virtuais/Opensim

NAVEGADOR FIRESTORM

Page 25: Mundos Virtuais/Opensim

NAVEGADOR FIRESTORM

Page 26: Mundos Virtuais/Opensim

NAVEGADOR FIRESTORM

Page 27: Mundos Virtuais/Opensim

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

Page 28: Mundos Virtuais/Opensim

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

Page 29: Mundos Virtuais/Opensim

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

Page 30: Mundos Virtuais/Opensim

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

Page 31: Mundos Virtuais/Opensim

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

Page 32: Mundos Virtuais/Opensim

PRIM

Page 33: Mundos Virtuais/Opensim

OBJETO DE 1 PRIM COM TEXTURA E TRANSPARÊNCIA

Page 34: Mundos Virtuais/Opensim

FERRAMENTA DE EDIÇÃO

● Ferramenta de Foco● Ferramenta para

Mover● Ferramenta de

Edição● Ferramenta para criar● Ferramenta de

terraplanagem

Page 35: Mundos Virtuais/Opensim

FERRAMENTA DE EDIÇÃO

● Caixa● Prisma● Pirâmide● Tetraedro● Cilindro● Semicilindro● Cone● Semicone● Esfera● Semi-esfera● Toro● Tubo● Anel

Page 36: Mundos Virtuais/Opensim

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

Page 37: Mundos Virtuais/Opensim

FERRAMENTA DE EDIÇÃO

● Trancado● Físico● Temporário● Fantasma

Page 38: Mundos Virtuais/Opensim

FERRAMENTA DE EDIÇÃO

● Posição (em metros)● Tamanho (em metros)● Rotação (em graus)

Page 39: Mundos Virtuais/Opensim

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

Page 40: Mundos Virtuais/Opensim

FERRAMENTA DE EDIÇÃO

● Flexible Path: maciez; gravidade; vento; etc.

● Física: material; gravidade; fricção; densidade; etc.

Page 41: Mundos Virtuais/Opensim

FERRAMENTA DE EDIÇÃO

● Cor● Brilho● Textura● Transparência● Mapeamento● Escala● Rotação

Page 42: Mundos Virtuais/Opensim

FERRAMENTA DE EDIÇÃO

● Inventário do prim: scripts; texturas; áudio; etc.

Page 43: Mundos Virtuais/Opensim

EDIÇÃO DE PRIMS INWORLD

Page 44: Mundos Virtuais/Opensim

EDIÇÃO DE PRIMS INWORLD

Page 45: Mundos Virtuais/Opensim

EDIÇÃO DE PRIMS INWORLD

Page 46: Mundos Virtuais/Opensim

EDIÇÃO DE PRIMS INWORLD

Page 47: Mundos Virtuais/Opensim

EDIÇÃO DE PRIMS INWORLD

Page 48: Mundos Virtuais/Opensim

EDIÇÃO DE PRIMS INWORLD

Page 49: Mundos Virtuais/Opensim

EDIÇÃO DE PRIMS INWORLD

Page 50: Mundos Virtuais/Opensim

USANDO TRANSPARÊNCIA

Page 51: Mundos Virtuais/Opensim

USANDO TRANSPARÊNCIA

Page 52: Mundos Virtuais/Opensim

USANDO TRANSPARÊNCIA

Page 53: Mundos Virtuais/Opensim

DEFININDO UM LINKSET

Page 54: Mundos Virtuais/Opensim

DEFININDO UM LINKSET

Page 55: Mundos Virtuais/Opensim

COLUNA: FUSTE CILÍNDRICO

Page 56: Mundos Virtuais/Opensim

COLUNA: ESTICANDO

Page 57: Mundos Virtuais/Opensim

COLUNA: APLICANDO TEXTURA

Page 58: Mundos Virtuais/Opensim

COLUNA: BASE E CAPITEL

Page 59: Mundos Virtuais/Opensim

COLUNA: USANDO TAPER

Page 60: Mundos Virtuais/Opensim

COLUNA: COPIANDO

Page 61: Mundos Virtuais/Opensim

COLUNA: COPIANDO

Page 62: Mundos Virtuais/Opensim

COLUNA: GIRANDO O CAPITEL

Page 63: Mundos Virtuais/Opensim

COLUNA: ALINHANDO

Page 64: Mundos Virtuais/Opensim

COLUNA: ALINHANDO

Page 65: Mundos Virtuais/Opensim

COLUNA: POSICIONANDO

Page 66: Mundos Virtuais/Opensim

USANDO FLEXIBLE PATH

Page 67: Mundos Virtuais/Opensim

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

Page 68: Mundos Virtuais/Opensim

MESH

Page 69: Mundos Virtuais/Opensim

MESH

Page 70: Mundos Virtuais/Opensim

BLENDER

Page 71: Mundos Virtuais/Opensim

BLENDER: CÁLICE SIMPLES

Page 72: Mundos Virtuais/Opensim

BLENDER: CÁLICE SIMPLES

Page 73: Mundos Virtuais/Opensim

BLENDER: CÁLICE SIMPLES

Page 74: Mundos Virtuais/Opensim

BLENDER: CÁLICE SIMPLES

Page 75: Mundos Virtuais/Opensim

BLENDER: CÁLICE SIMPLES

Page 76: Mundos Virtuais/Opensim

BLENDER: CÁLICE SIMPLES

Page 77: Mundos Virtuais/Opensim

IMPORTANDO O MESH

Page 78: Mundos Virtuais/Opensim

IMPORTANDO O MESH

Page 79: Mundos Virtuais/Opensim

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

Page 80: Mundos Virtuais/Opensim

SCULPTED PRIM - EXEMPLOS

Page 81: Mundos Virtuais/Opensim

SCULPT MAP

Page 82: Mundos Virtuais/Opensim

SCULPT - CILINDRO

Page 83: Mundos Virtuais/Opensim

SCULPT - TORO

Page 84: Mundos Virtuais/Opensim

SCULPT MAP - GEOMETRIA EXEMPLO

Page 85: Mundos Virtuais/Opensim

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

Page 86: Mundos Virtuais/Opensim

ARCHIPELIS

Page 87: Mundos Virtuais/Opensim

ARCHIPELIS - EXEMPLO

Page 88: Mundos Virtuais/Opensim

ARCHIPELIS - EXEMPLO

Page 89: Mundos Virtuais/Opensim

ARCHIPELIS - EXEMPLO

Page 90: Mundos Virtuais/Opensim

IMPORTANDO O SCULPT

Page 91: Mundos Virtuais/Opensim

IMPORTANDO O SCULPT

Page 92: Mundos Virtuais/Opensim

IMPORTANDO O SCULPT

Page 93: Mundos Virtuais/Opensim

IMPORTANDO O SCULPT

Page 94: Mundos Virtuais/Opensim

IMPORTANDO O SCULPT

Page 95: Mundos Virtuais/Opensim

IMPORTANDO O SCULPT

Page 96: Mundos Virtuais/Opensim

IMPORTANDO O SCULPT

Page 97: Mundos Virtuais/Opensim

IMPORTANDO O SCULPT

Page 98: Mundos Virtuais/Opensim

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

Page 99: Mundos Virtuais/Opensim

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

Page 100: Mundos Virtuais/Opensim

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

Page 101: Mundos Virtuais/Opensim

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);

Page 102: Mundos Virtuais/Opensim

CONTROLE DE FLUXO

● if (CONDIÇÃO) COMANDOS● if (CONDIÇÃO) COMANDOS else

COMANDOS● while (CONDIÇÃO) COMANDOS

Page 103: Mundos Virtuais/Opensim

ROTACIONANDO UM PRIM

default{ state_entry() { llTargetOmega(<0.0,0.0,1.0>,0.1,1); }}

Função llTargetOmega:● vetor de rotação: <0.0,0.0,1.0> (rotação no eixo Z);● velocidade de giro;● ganho;

Page 104: Mundos Virtuais/Opensim

EDITANDO O SCRIPT

Page 105: Mundos Virtuais/Opensim

EDITANDO O SCRIPT

Page 106: Mundos Virtuais/Opensim

EDITANDO O SCRIPT

Page 107: Mundos Virtuais/Opensim

EDITANDO O SCRIPT

Page 108: Mundos Virtuais/Opensim

EDITANDO O SCRIPT

Page 109: Mundos Virtuais/Opensim

EDITANDO O SCRIPT

Page 110: Mundos Virtuais/Opensim

APLICANDO UMA TEXTURA NAS FACES AO CLICAR O PRIMdefault{ 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); }}

Page 111: Mundos Virtuais/Opensim

APLICANDO UMA TEXTURA NAS FACES AO CLICAR O PRIM

Page 112: Mundos Virtuais/Opensim

APLICANDO UMA TEXTURA NAS FACES AO CLICAR O PRIM

Page 113: Mundos Virtuais/Opensim

JOGO DE DADOS

Page 114: Mundos Virtuais/Opensim

JOGO DE DADOS

Page 115: Mundos Virtuais/Opensim

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);

}

}

Page 116: Mundos Virtuais/Opensim

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";

Page 117: Mundos Virtuais/Opensim

GRILOS - CONTINUAÇÃO

default // daytime state

{

state_entry()

{

llSetTimerEvent(min);

}

timer()

{

vector sun = llGetSunDirection();

if (sun.z < 0) state night;

llSetTimerEvent(min);

}

}

Page 118: Mundos Virtuais/Opensim

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);

}

}

Page 119: Mundos Virtuais/Opensim

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

{

...

}

Page 120: Mundos Virtuais/Opensim

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);

}

Page 121: Mundos Virtuais/Opensim

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);

}

Page 122: Mundos Virtuais/Opensim

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);

}

Page 123: Mundos Virtuais/Opensim

USANDO CAIXAS DE DIÁLOGO

Page 124: Mundos Virtuais/Opensim

ESTRUTURA DO OPENSIM

OpenSim + MySQL + Apache + Wifi

Servidor MySQL(Banco de dados)

Servidor OpenSim

ServidorApache (HTTP)

Wifi

Navegador WWW

Cliente

Navegador OpenSim

Servidor

Page 125: Mundos Virtuais/Opensim

WIFI

Wifi (Web Interface For... I) – Interface web simples para gerenciamento de contas, grupos e regiões

Page 126: Mundos Virtuais/Opensim

WIFI

Page 127: Mundos Virtuais/Opensim

WIFI

Page 128: Mundos Virtuais/Opensim

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)

Page 129: Mundos Virtuais/Opensim

MODO STANDALONE

Page 130: Mundos Virtuais/Opensim

MODO GRID

Page 131: Mundos Virtuais/Opensim

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.

Page 132: Mundos Virtuais/Opensim

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

Page 133: Mundos Virtuais/Opensim

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

Page 134: Mundos Virtuais/Opensim

SLOODLE

Page 135: Mundos Virtuais/Opensim

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

Page 136: Mundos Virtuais/Opensim

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

Page 137: Mundos Virtuais/Opensim

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.

Page 138: Mundos Virtuais/Opensim

IMPORTÂNCIA DO AVATAR

● Representa o usuário● Capaz de produzir gestos e exibir respostas

emocionais

Page 139: Mundos Virtuais/Opensim

IMPORTÂNCIA DO AVATAR

Page 140: Mundos Virtuais/Opensim

IMPORTÂNCIA DO AVATAR

● Aparência: realístico x fantasioso● Psicologia “Big Five”: Neuroticismo;

extroversão; amabilidade; escrupolosidade; abertura para experiência

Page 141: Mundos Virtuais/Opensim

IMPORTÂNCIA DO AVATAR

● Referencial nas interações sociais/econômicas● Referencial nas interações aluno/professor e

aluno/aluno

Page 142: Mundos Virtuais/Opensim

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

Page 143: Mundos Virtuais/Opensim

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

Page 144: Mundos Virtuais/Opensim

“Seja criativo!”