37
Tecnologia .NET em Mundos Virtuais Bruno Pires http:// netponto.org

Tecnologia .NET em Mundos Virtuais - Bruno Pires

Embed Size (px)

DESCRIPTION

Apresentação de sobre Mundos Virtuais como Second Life e Open Simulator e a plataforma Microsoft .NET na primeira reunião presencial da comunidade NetPonto

Citation preview

Page 1: Tecnologia .NET em Mundos Virtuais - Bruno Pires

Tecnologia .NET em Mundos VirtuaisBruno Pires

http://netponto.org

Page 2: Tecnologia .NET em Mundos Virtuais - Bruno Pires

Bruno Pires2 anos de experiência profissional em TICisco Certified Network Associate

Page 3: Tecnologia .NET em Mundos Virtuais - Bruno Pires

Agenda

• Introdução• Potencialidades dos Mundos Virtuais• Como programar para o Second Life• Exemplo de Implementação• Futuro dos Mundos Virtuais

Page 4: Tecnologia .NET em Mundos Virtuais - Bruno Pires

Introdução: Os três conceitos

• Mundo Virtual• Metaverso• Avatar

Page 5: Tecnologia .NET em Mundos Virtuais - Bruno Pires

Mundo Virtual

Simulação do mundo real ou realidade alternativa.

Page 6: Tecnologia .NET em Mundos Virtuais - Bruno Pires

Metaverso

• Um Metaverso é um tipo de mundo virtual.• “Metaverse” significa para além do

Universo.• O exemplo mais conhecido de

metaverso é o Second Life.

Page 7: Tecnologia .NET em Mundos Virtuais - Bruno Pires

Avatar

Um Avatar é a nossa representação num determinado contexto computacional, neste caso é a nossa representação num mundo virtual...

Page 8: Tecnologia .NET em Mundos Virtuais - Bruno Pires

O Second Life

SecondLife

Page 9: Tecnologia .NET em Mundos Virtuais - Bruno Pires

O Second Life (cont.)

• Foi desenvolvido pela Linden Lab e lançado em exclusivo para os USA em Junho de 2003.

• Os utilizadores (residentes) podem interagir entre eles, explorar o mundo virtual, participar em actividades, criar e vender objectos e serviços virtuais entre os residentes e até comprar, alugar e vender terrenos virtuais.

Page 10: Tecnologia .NET em Mundos Virtuais - Bruno Pires

O Second Life (cont.)

• 15 milhões de utilizadores registados em Setembro de 2008.

• Second Life tem moeda própria, o Linden Dollar (L$), utilizada para as transacções dentro do mundo virtual

• Alguns “residentes” obtiveram de lucro anual acima de 1 milhão de dólares (Maio 2009)

Page 12: Tecnologia .NET em Mundos Virtuais - Bruno Pires

O OpenSimulator

• É uma plataforma Open-Source que agrega mundos virtuais.

• Compatível com o protocolo Second Life• É desenvolvido em C#!

Page 13: Tecnologia .NET em Mundos Virtuais - Bruno Pires

O OpenSimulator (cont.)

• Pode correr numa máquina em casa com o nosso simulador, ou ligado a uma grid composta por vários servidores

• Permite melhor performance e complexidade do simulador

• É extensível e suporta uma grande variedade de plugins (Suporte para som, chat, entre outros)

Page 14: Tecnologia .NET em Mundos Virtuais - Bruno Pires

Potencialidades Mundos Virtuais

• Integração de aplicações entre o mundo real e um ou vários mundos virtuais.–Instant Messaging (IM)–HelpDesk–e-Learning / b-Learning–CAD Rendering

Page 15: Tecnologia .NET em Mundos Virtuais - Bruno Pires

Potencialidades (cont.)

• Permite testar situações reais num ambiente virtual. Alguns exemplos:– Desenhar uma casa numa ferramenta de CAD e fazer

uma visita virtual ao interior e exterior da casa.– Treino de primeiros socorros.– Simular situações em desporto (andebol, futebol, etc) .– Planificação urbanística

Page 16: Tecnologia .NET em Mundos Virtuais - Bruno Pires

Potencialidades (cont.)

• Motor 3D e funcionalidades básicas já implementadas pelo mundo virtual.– Criar, editar objectos– Movimentos básicos de um avatar (andar, pegar

objectos, etc...)– Voar (!)– Comunicação entre avatares (IM e áudio)– Suporte de áudio e vídeo (Quicktime, YouTube)

Page 17: Tecnologia .NET em Mundos Virtuais - Bruno Pires

Potencialidades (cont.)

• Podemos utilizar a plataforma .NET e as suas ferramentas de desenvolvimento*–C#–VB .NET–Visual Studio 2005 / 2008 / 2010–.NET Framework / Mono

Page 18: Tecnologia .NET em Mundos Virtuais - Bruno Pires

Como programar para o SL?

• LSL (Linden Scripting Language) - Linguagem de programação para o Second Life

• Estrutura similar ao Java e C• Programação orientada a estados e eventos• Scripts são colocados dentro de um objecto

no mundo virtual

Page 19: Tecnologia .NET em Mundos Virtuais - Bruno Pires

Exemplo de Script em LSL

default{

touch_start(integer total_number){

llSay(0, "Olá Mundo Second Life!");}

}

Page 20: Tecnologia .NET em Mundos Virtuais - Bruno Pires

Limitações da LSL

• Não é orientado a objectos• Capacidade limitada a 64 Kb• Estruturas de dados estão em memória

Page 21: Tecnologia .NET em Mundos Virtuais - Bruno Pires

LibOpenMetaverse (libopenmv)

• Alternativa à Linden Scripting Language (LSL)• Permite manipular objectos, avatares e bots• Começou em Maio de 2006 através de

reverse-engineering do protocolo do Second Life

• Permite utilizar a plataforma .NET!

Page 22: Tecnologia .NET em Mundos Virtuais - Bruno Pires

LibOpenMetaverse (cont.)

• Em 2007, a Linden Lab libertou o código-fonte do Second Life Client, que assim potenciou a rápida evolução de esta biblioteca.

• Mantém a compatibilidade com o protocolo do Second Life

Page 23: Tecnologia .NET em Mundos Virtuais - Bruno Pires

LibOpenMetaverse (cont.)

• Utilizada para desenvolver clientes ou processos para o Second Life, OpenSimulator ou qualquer mundo virtual que utilize o protocolo do Second Life.

• Compatível com o .NET Framework 2.0 e com o Mono 1.9.

Page 24: Tecnologia .NET em Mundos Virtuais - Bruno Pires

Diagrama de Funcionamento

Page 25: Tecnologia .NET em Mundos Virtuais - Bruno Pires

Diagrama de Funcionamento

Page 26: Tecnologia .NET em Mundos Virtuais - Bruno Pires

Exemplo Script com libopenmv

Page 27: Tecnologia .NET em Mundos Virtuais - Bruno Pires

Limitações da libopenmv

• Não suportada oficialmente pela Linden Lab• Ainda em desenvolvimento. Versão mais

recente é a 0.7• Pouca documentação disponível

Page 28: Tecnologia .NET em Mundos Virtuais - Bruno Pires

Solução: LSL + libopenmv

• Por vezes a melhor solução, dependendo do objectivo que se quer atingir, é utilizar scripts em objectos em LSL e complementar com o controlo remoto que oferece a libopenmv.

Page 29: Tecnologia .NET em Mundos Virtuais - Bruno Pires

Exemplo de Implementação

http://bit.ly/second-life-andebol

Page 30: Tecnologia .NET em Mundos Virtuais - Bruno Pires

O Futuro dos Mundos Virtuais

• Os Mundos Virtuais estão numa fase de amadurecimento

• A unificação entre os vários Mundos Virtuais pode ser um dos caminhos a seguir.

• Realidade aumentada pode ser o passo seguinte

Page 31: Tecnologia .NET em Mundos Virtuais - Bruno Pires

Second Life 2.0

http://bit.ly/second-life-2-0

Page 33: Tecnologia .NET em Mundos Virtuais - Bruno Pires

Arquitectura no Second Life

http://bit.ly/second-life-arquitectura

Page 34: Tecnologia .NET em Mundos Virtuais - Bruno Pires

Referências

• Second Life– http://www.secondlife.com

• Open Simulator– http://opensimulator.org

• Open Metaverse Foundation (libopenmv)– http://www.openmetaverse.org

• Second Life LSL Portal– http://wiki.secondlife.com/wiki/LSL_Portal

Page 35: Tecnologia .NET em Mundos Virtuais - Bruno Pires

Dúvidas?

Page 36: Tecnologia .NET em Mundos Virtuais - Bruno Pires

Patrocinador desta reunião

http://ciclo.pt