Fandom

Scratchpad

PPI09 Assignment 05 Pepe Luckstone

215,861pages on
this wiki
Add New Page
Discuss this page0 Share

Ad blocker interference detected!


Wikia is a free-to-use site that makes money from advertising. We have a modified experience for viewers using ad blockers

Wikia is not accessible if you’ve made further modifications. Remove the custom ad blocker rule(s) and the page will load as expected.

Pepe Luckstone

Pepe Luckstone

O trabalho proposto tem como objectivo a construção e a aplicação de scripts que permitam mover, empilhar, desempilhar, armazenar e recuperar unidades de carga.

A utilização de scripts permite animar e criar formas de interagir entre os Avatares e os objectos construídos no mundo virtual do Second Life. Um script corresponde a um código (na liguagem LSL) que atribui características especiais a determinado objecto.

De forma a concretizar o que é pedido neste trabalho, serão realizadas três tipos de animação. No primeiro tipo pretende-se demonstrar de que forma e possível mover um objecto através de comandos manuais "Subir", "Descer", "Frente", "Trás", "Esquerda" e "Direita". Na segunda parte do trabalho serão programados movimentos associados a copos que têm de se deslocar entre uma mesa e outra, empilhar e voltar a distribuir-se no mesmo lugar onde se situavam anteriormente.

Por último, será feita uma aplicação prática de um script num dos objectos já construídos na terceira proposta de trabalho.


Movimentação de objectos utilizando comandos de texto

MovimentoScript

Figura 1.1. Script de movimentação criado no Scratch for Second Life.

Nesta animação pretende-se demonstrar de que forma se pode animar um objecto para que este reaja a comandos de texto (introduzidos no Chat) de forma a deslocar-se nas várias direcções possíveis.

Para começar, criou-se uma esfera e atribuí-se uma textura azulada. Recorrendo ao software "Scratch for Second Life", foi convertida uma sequência lógica programada em linguagem LSL do Second Life. A sequência baseia-se essencialmente na escrita de comandos como "Sobe", "Desce", "Frente", "Trás", "Esquerda"; e como resposta, a esfera desloca-se um metro na direcção indicada.

Foi também introduzida condição de que se o Avatar que está a comandar estiver a mais do que 20 metros do objecto, o objecto emite a mensagem "Vem para o pé de mim" e não se move.

O código utilizado pode ser visualizado na Figura 1.1.


Movimentação programada das operações "Mover", "Empilhar", "Armazenar" e "Recuperar"

Para demonstrar a aplicação de scripts de forma a mover, empilhar, armazenar e restaurar objectos foi criado um cenário constituído por duas mesas em que cada uma delas possui 4 cadeiras (construídas no Assignment 02), e o objecto em estudo: 4 copos colocados sobre uma das mesas. O objectivo deste cenário é demonstrar os movimentos pretendidos aplicados aos copos que se moverão de uma mesa para a outra, serão empilhados no centro da mesa e restaurados às posições iniciais.

1.Movimentação dos copos

De forma a mover os copos de uma mesa para a outra foram programados no Scratch for Second Life movimentos coordenados de forma a que ao se enviar o comando "Todos para a outra mesa!" os copos se movem para a outra mesa permanecendo nas localizações homólogas à da primeira mesa.

2.Empilhar copos

Para empilhar os copos foi atribuído o comando de texto "Arrumar a louça" à qual os copos reagem de forma diferente. Por aplicação de 4 scripts diferentes (um a cada copo) ao se digitar o comando de texto indicado os copos irão-se mover, um a um, para o centro da mesa, sem chocar, dispondo-se numa pilha de copos.

3.Desfazer a pilha de copos

O comando "Por a mesa" foi atribuído ao script "Empilhar copos" invertido. Isto é, o conjunto de operações programadas no comando "Empilhar" foi escrito ao contrário de forma a que os copos se movimentem desde o primeiro copo da pilha até ao ultimo que retornam, um a um, para as posições iniciais.

4.Recuperar posições iniciais

A operação recuperar posições inicias consiste na introdução de um elemento de memória que grava a posição inicial dos copos. Ao utilizar o comando "Todos os copos para a outra mesa!" antes dos objectos se moverem, é gravada a posição inicial em que estes estão dispostos. Posteriormente, quando se pretende que todos os copos retornem às posições de origem, é digitado o comando "Voltem para a mesa" e estes, independentemente do sítio onde estejam, retornam à sua posição original.

5.Demonstração

De forma a demonstrar a aplicação das operações foi criado um video do Second Life em que se podem visualizar as operações anteriormente descritas.

Aplicação de uma animação ao moinho do Assignment 03

No Assignment 03 começou-se a construção de equipamentos da indústria produtiva de cerveja, tendo-se construído um moinho. Tal como foi descrito nesse trabalho, o moinho é constituído por um mecanismo que permite moer cereais o qual está associado a um motor externo que faz operar o mecanismo das mós.

Moinho 002

Figura 3.1. Criação de duas correias de distribuição no moinho.

A primeira melhoria aplicada foi a construção de duas correias de distribuição que ligam as polias duas a duas. Esta correia é constituída por 2 meios-arcos e 2 segmentos de recta (ver Figura 3.1).

Como proposta de melhoria, foi introduzido um comando de rotação no eixo do motor e das mós de forma a que estes se movam no Second Life. Para tal, o código escrito foi o seguinte:

default
{
state_entry()
{
llTargetOmega(<1,0,0>,PI,1.0);
}
}

Este comando permite que o objecto se mova em torno do eixo XX à velocidade de 1 ciclo por segundo. Para dar a ideia de que o motor acciona realmente as mós foi atribuído um valor de velocidade inferior ao das mós.

O resultado final foi um moinho que, aparentemente, parece estar em funcionamento tal como é visualizável no video 2.

File:PPI 09 Assignment 05 Moinho

Also on Fandom

Random wikia