Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Tecnologia .NET em Mundos Virtuais - Bruno Pires

Tecnologia .NET em Mundos Virtuais - Bruno Pires

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, por Bruno Pires.

Comunidade NetPonto

August 15, 2009
Tweet

More Decks by Comunidade NetPonto

Other Decks in Programming

Transcript

  1. Agenda • Introdução • Potencialidades dos Mundos Virtuais • Como

    programar para o Second Life • Exemplo de Implementação • Futuro dos Mundos Virtuais
  2. Metaverso • Um Metaverso é um tipo de mundo virtual.

    • “Metaverse” significa para além do Universo. • O exemplo mais conhecido de metaverso é o Second Life.
  3. Avatar Um Avatar é a nossa representação num determinado contexto

    computacional, neste caso é a nossa representação num mundo virtual...
  4. 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.
  5. 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)
  6. O OpenSimulator • É uma plataforma Open-Source que agrega mundos

    virtuais. • Compatível com o protocolo Second Life • É desenvolvido em C#!
  7. 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)
  8. 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
  9. 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
  10. 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)
  11. Potencialidades (cont.) • Podemos utilizar a plataforma .NET e as

    suas ferramentas de desenvolvimento* –C# –VB .NET –Visual Studio 2005 / 2008 / 2010 –.NET Framework / Mono
  12. 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
  13. Limitações da LSL • Não é orientado a objectos •

    Capacidade limitada a 64 Kb • Estruturas de dados estão em memória
  14. 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!
  15. 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
  16. 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.
  17. 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
  18. 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.
  19. 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
  20. 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