Este documento fornece uma introdução aos mundos virtuais e ao Second Life, discutindo seu potencial, como programar neles usando LSL e libOpenMetaverse, e exemplos de implementação. O documento também discute o futuro dos mundos virtuais, incluindo a integração entre eles e a realidade aumentada.
7. Metaverso Um Metaverso é um tipo de mundo virtual. “Metaverse” significa para além do Universo. O exemplo mais conhecido de metaverso é o Second Life.
8. Avatar Um Avatar é a nossa representação num determinado contexto computacional, neste caso é a nossa representação num mundo virtual...
10. 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.
11. O Second Life (cont.) 15 milhõesde 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)
13. O OpenSimulator É uma plataforma Open-Source que agrega mundos virtuais. Compatível com o protocolo Second Life É desenvolvido em C#!
14. O OpenSimulator (cont.) Pode correr numa máquina em casa com o nosso simulador, ou ligado a uma gridcomposta 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)
15. 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
16. 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
17. 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)
18. Potencialidades (cont.) Podemos utilizar a plataforma .NET e as suas ferramentas de desenvolvimento* C# VB .NET Visual Studio 2005 / 2008 / 2010 .NET Framework / Mono
19. Como programar para o SL? LSL (Linden Scripting Language) - Linguagem de programação para o SecondLife Estrutura similar ao Java e C Programação orientada a estados e eventos Scripts são colocados dentro de um objecto no mundo virtual
20. Exemplo de Script em LSL default { touch_start(integertotal_number) { llSay(0, "Olá Mundo Second Life!"); } }
21. Limitações da LSL Não é orientado a objectos Capacidade limitada a 64 Kb Estruturas de dados estão em memória
22. 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!
23. 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
24. 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.
28. 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
29. 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.
31. 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
35. 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