Tecnologia .NET em Mundos Virtuais - Bruno Pires
-
Upload
comunidade-netponto -
Category
Technology
-
view
2.624 -
download
0
description
Transcript of Tecnologia .NET em Mundos Virtuais - Bruno Pires
Tecnologia .NET em Mundos VirtuaisBruno Pires
http://netponto.org
Bruno Pires2 anos de experiência profissional em TICisco Certified Network Associate
Agenda
• Introdução• Potencialidades dos Mundos Virtuais• Como programar para o Second Life• Exemplo de Implementação• Futuro dos Mundos Virtuais
Introdução: Os três conceitos
• Mundo Virtual• Metaverso• Avatar
Mundo Virtual
Simulação do mundo real ou realidade alternativa.
Metaverso
• Um Metaverso é um tipo de mundo virtual.• “Metaverse” significa para além do
Universo.• O exemplo mais conhecido de
metaverso é o Second Life.
Avatar
Um Avatar é a nossa representação num determinado contexto computacional, neste caso é a nossa representação num mundo virtual...
O Second Life
SecondLife
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.
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)
O Second Life: Video
http://bit.ly/second-life-o-video
O OpenSimulator
• É uma plataforma Open-Source que agrega mundos virtuais.
• Compatível com o protocolo Second Life• É desenvolvido em C#!
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)
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
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
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)
Potencialidades (cont.)
• Podemos utilizar a plataforma .NET e as suas ferramentas de desenvolvimento*–C#–VB .NET–Visual Studio 2005 / 2008 / 2010–.NET Framework / Mono
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
Exemplo de Script em LSL
default{
touch_start(integer total_number){
llSay(0, "Olá Mundo Second Life!");}
}
Limitações da LSL
• Não é orientado a objectos• Capacidade limitada a 64 Kb• Estruturas de dados estão em memória
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!
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
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.
Diagrama de Funcionamento
Diagrama de Funcionamento
Exemplo Script com libopenmv
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
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.
Exemplo de Implementação
http://bit.ly/second-life-andebol
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
Second Life 2.0
http://bit.ly/second-life-2-0
Realidade Aumentada
http://bit.ly/second-life-realidade-aumentada
Arquitectura no Second Life
http://bit.ly/second-life-arquitectura
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
Dúvidas?
Obrigado!
Bruno [email protected]://blastersystems.com/bloghttp://twitter.com/brunoacpires