Desenvolvimento - LSL (Second Life)

Usando mega prims para criar grandes construções no Second Life

Conheça o que são mega prims e aprenda como utilizá-la para criar grandes construções no Second Life com um número reduzido de prims. O autor apresenta como exemplo a criação de um Sky Deck (plataforma suspensa) de 50 m x 50 m usando uma única primitiva!

por Cláudio Ralha



Megaprims ou prims gigantes são um dos assuntos que mais geraram polêmica na história do Second Life. Oficialmente, a Linden Lab não autoriza e nem recomenda o uso de primitivas que excedam o limite de 10 metros, alegando que a presença das mesmas tende a desestabilizar o software de simulação que executa as regiões. Para mais detalhes sobre a visão da Linden Lab sobre mega prims, consulte o post de Michael Linden intitulado The Big Prim problem através do seguinte link:

http://blog.secondlife.com/2007/10/12/the-big-prim-problem/

Ainda que exista um fundo de verdade nos argumentos apresentados neste post, considerando o uso de prims maiores que os próprios limites das regiões (256 m x 256 m), a criação de barreiras invisíveis e o mau uso destas primitivas por griefers, o principal motivo pelo qual as mega prims tem sido combatidas está na redução da necessidade de compra de terras para a construção. Como o número máximo de primitivas permitidas é diretamente proporcional ao tamanho do terreno, obrigar os construtores a trabalhar com um tamanho menor de prim indiretamente cria a necessidade de compra de terrenos maiores para que seja possível criar obras mais complexas.

As mega prims surgiram no Second Life pelas mãos de Plastic Duck, que se tornou conhecido posteriormente como Gene Replacement. Brilhante desenvolvedor com espírito cracker, Duck percebeu que o limite do tamanho das prims era forçado pelo cliente do Second Life e não pelo simulador em si. De posse desta informação, o construtor realizou alterações no código fonte do cliente e removeu a limitação. O resultado deste trabalho de engenharia reversa foi um conjunto de primitivas gigantes que podem ser vistas até hoje em vários pontos do Second Life.

Tão logo descobriu o fato, a equipe de desenvolvimento da Linden Lab entrou em ação e adicionou código de checagem que impede a criação de mega prims do lado do servidor. Com isso, se tornou impossível para meros mortais fora da Linden Lab criar novas prims com tamanhos que excedam em muito o limite de 10m.

Este seria o final triste de uma história promissora se a Linden não tivesse mantido as mega prims existentes em seu metaverso. Por conta disso, as mega prims que foram criadas antes que o exploit fosse corrigido foram disponibilizadas pelo seu autor como freebies e podem ser encontradas na maioria dos locais que oferecem brindes para os visitantes.

Megaprims oferecidas como freebies

Essas megaprims são consideradas como verdadeiros tesouros pelos profissionais de criação e a cada dia se torna mais difícil para Linden Lab removê-las do Second Life, uma vez que seu uso já foi consagrado pela maioria dos principais construtores que ajudaram a construir a história do mundo virtual.

Para que você tenha uma idéia do que é possível construir usando megaprims, compare na imagem a seguir o tamanho do avatar do autor (sinalizado pelo cursor de tela) com o da esfera posicionada atrás dele. O globo em questão tem 40 metros de diâmetro...

Comparação de tamanho entre o avatar do autor e a esfera de 40 metros – Meteora (157,131,41)

Você já imaginou o malabarismo que seria necessário para construir uma esfera deste tamanho se não pudéssemos recorrer a megaprims? A genial Aimee Weber explica em um post intitulado What to do with megaprims publicado no blog Second Life Insider uma forma de construir esferas gigantes sem megaprims, mas eu não recomendaria a solução apresentada nem para um grande inimigo. Se quiser saber o que ela propôs apenas para entender a dificuldade de se viver sem esta alternativa, visite:

http://www.secondlifeinsider.com/2007/10/12/what-to-do-with-megaprims/

Ainda que não esteja interessado neste exercício de masoquismo, vale conferir o post, pois Aimee menciona vários usos interessantes para megaprims relacionados à animação de texturas na simulação de fenômeno de Aurora boreal e ondas do mar, dentre várias outras possibilidades. Para conferir isto na prática, recomendamos que você recorra a algum tipo de acessório que permita voar acima da altitude de 200 metros (máximo permitido para os avatares em vôo livre) e inspecione o gigantesco redemoinho de nuvens existente na região de Meteora na altitude de 360 metros. O visual é fantástico, com direito inclusive a um avião perdido entre as nuvens.

Para saber mais sobre Plastic Duck e uma pouco de sua história relacionada ao Second Life, visite:

plastic-duck-our-hero-a-case-for-megaprims

interview-plastic-duck-gene-replacement

Importante: ainda que não seja mais possível criar novas megaprims usando o exploit mencionado, ainda podemos criar prims com mais de 10 metros usando as técnicas de torture prims não abordadas neste artigo. No entanto, o número de possibilidades é bastante reduzido e não é possível criar a variedade de prims obtidas por Plastic Duck e nem ultrapassar o limite de 20 metros. Logo, a melhor alternativa continua sendo obter a sua cópia do pacote de megaprims disponibilizado por seu autor.

Tutorial: Criando um Sky deck

Para que você tenha uma idéia do que podemos fazer com megaprims, vamos demonstrar neste exercício como utilizá-las para criar uma plataforma suspensa, assumindo que você já obteve o pacote de mega prims disponível gratuitamente em vários pontos do metaverso. Construídas normalmente em uma altitude elevada para dificultar o acesso de outros avatares, estes esconderijos no céu são chamados de Sky decks ou Sky boxs e usados tanto como moradia quanto como laboratório de experiências.

Como avatares só conseguem voar até a altitude de 200 metros sem a ajuda de equipamentos especiais, o acesso a um Sky deck só será possível via teleporte direto ou usando objetos contendo scripts que permitem voar a grandes altitudes. Para aqueles que ainda não dispõe de acessórios deste tipo, vamos demonstrar como mover a plataforma para a altitude de 600 metros e como chegar até a mesma sem quedas.

Atente para o fato de que tentativas de se teleportar via mapa do ponto onde o seu avatar se encontra no momento até o ponto em que a plataforma se encontra irão falhar. Caso possua equipamento de vôo, sinta-se a vontade para pular os passos que foram adicionados ao tutorial apenas para burlar as limitações impostas pela Linden Lab. De posse dessas informações, vamos construir e posicionar a nossa plataforma, executando os seguintes passos:

1. Arraste da pasta megaprims do inventário para o terreno a mega prim nomeada como Box 50x50x1. Você verá que a mesma será posicionada na altitude de aproximadamente 59 metros, valor calculado pelo cliente do Second Life tomando por base a prim original usada para criar a placa gigante (um cubo de 50 m de lado).

2. Voe até a primitiva e caminhe até a sua borda.

Avatar posicionado sobre a plataforma gigante ainda em baixa altitude

3. Clique com o botão do mouse e selecionar Sentar. Este passo é vital, pois iremos reposicionar a primitiva em relação ao eixo Z. Ao fazermos isto, caso não estejamos presos a prim, iremos despencar da altitude atual até o solo. Mantendo-se sentado, seremos reposicionados junto com a primitiva.

Sentando na borda da primitiva para não cair durante o reposicionamento

4. Para alterar a altitude da plataforma, selecione a prim e a seguir clique na guia Objeto da janela de construção de objetos. No campo Z do conjunto de controles Posição, informe o valor 600. Veja que a plataforma é imediatamente posicionada na altitude desejada.

Plataforma posicionada na altitude desejada

5. Muito cuidado agora! Para não cair ao tentar levantar da borda da plataforma, crie um cubo na superfície da primitiva, um pouco afastado da borda. Em seguida, clique com o botão direito do mouse sobre o mesmo e selecione Sentar sem levantar da primeira prim. Após o cliente do Second Life colocar o seu avatar sentado sobre o cubo criado, você já poderá se levantar sem cair.

Estes são os passos necessários para colocar a sua construção na altitude desejada de forma independente do terreno existente abaixo e sem sofrer com a janela de mapa ou recorrer a um script. Caso deseje manter o Sky deck em seu terreno de forma permanente, não esqueça de criar uma landmark para retornar facilmente a ele no futuro.

Saiba que as dificuldades extras que surgem quando estamos construindo enquanto voamos levam a maioria dos construtores a preferir efetuar as suas obras no solo e após finalizá-las movê-las para o local definitivo.

Importante: não tente redimensionar uma megaprim. Caso o faça, verá que ela assume automaticamente o maior valor permitido pelo cliente do Second Life para cada eixo. A plataforma de 50 m x 50 m x 1 m usada neste tutorial, por exemplo, seria automaticamente redimensionada para 10 m x 10 m x 1 m.

Conclusão

No atual estágio do Second Life em que o grid se mostra cada vez mais estável, desconheço a existência de um motivo real para não usarmos as mega prims que são oferecidas como freebies. Além disso, com a futura integração do Second Life com outros mundos virtuais criados através do OpenSim (sobre o qual falaremos em futuros artigos) é inevitável que a criação de novas megaprims volte a ser possível.

Muito cuidado apenas com o tamanho da mega prim que irá rezzear em relação ao tamanho do seu terreno para não ter problemas com os vizinhos! Caso não possua terras e deseje experimentar este recurso, utilize o beta grid para seus testes.

Abraços e até a próxima!

Cláudio Ralha

Autor do livro Dominando o Second Life

MCP – MCAD – MCTS – MCPD

Palestrante .NET Microsoft Brasil e Culminis

Cláudio Ralha

Cláudio Ralha - http://linhadecodigo.com.br/cs2/blogs/ClaudioRalha/default.aspx
Autor dos livros Dominando o Second Life e Segredos do Visual Studio.NET, profissional certificado Microsoft (MCP,MCAD,MCTS e MCPD) e palestrante Microsoft Brasil e Culminis. Já atuou como colunista do Informática etc do Jornal O GLOBO, editor da Revista Infomania e colaborador de várias revistas e sites. No mercado corporativo já desenvolveu para grandes clientes como Petrobras, Shell, Esso, Rede Globo, Furnas, Brascan, ONS, Unibanco e Bolsa de Valores pelas consultorias Accenture, Stefanini, Arcon, ATT/PS, Informaker, Relacional, Value Team e Softtek.