Criando um Pose Stand para Fotos

Posted by VOITENA Millet | Posted in | Posted on 10.1.10

Olá..

Neste tutorial irei ensinar vocês a fazer um Pose Stand para ser usado em fotos dentro do Second Life, com este Stand você poderá ter seu próprio estúdio em casa.

Inserindo assim as poses que desejarem, e assim manter a originalidade de sua foto, lembrem de uma regra básica, qualidade X quantidade de poses dentro de seu Stand.

De nada vai adiantar você ter 300 poses, sendo destas apenas umas 20 serão realmente boas. Ensinarei também a inserir poses em seu Stand, para assim você poder ficar independente e livre para criar quanta Pose Stands julgar necessário, pode ter um Stand para poses femininas outro para masculinas e assim por diante.

Vamos iniciar construindo a base de seu Pose Stand:


Primeiro crie um cilindro com as seguintes especificações conforme imagem acima.
Na aba objeto edite o tamanho para:
X - 0.500
Y - 0.500
Z -0.100

Ao lado de onde você editou o tamanho do objeto tem uam caixa chamada AFINAR nos valores X e Y insira os valores X = 0.20 e Y = 0.20.

Na aba Textura deixe ela Branca.

Ainda editando o objeto, iremos para aba Conteúdo e iremos inserir um Novo Script clicando no botão respectivo.
Dentro da pasta Contents aparecerá um arquivo com o nome New Script, abra-o clicando duas vezes sobre ele.

Com a janela de ediçao de script aberta, selecione todo o conteúdo existe nele e APAGUE-O.

Agora copie o script abaixo desde onde diz //início do scripta até //fim do script.

________________________

// início do script

// Animation Stand (Stand Script)
// by Teddy Wishbringer

vector animation_offset = <0,0,2>; // Posição do avatar no Pad de Pose
string base_float_text = "";
vector color_float_text = <100,100,100>; // Cor do Texto Flutuante
float alpha_float_text = 1.0;
integer animation_qty;
integer animation_current;
string animation_name;
string new_animation_name;
string float_text;
key avatar;
update_inventory()
{
llSetText("Updating animation list...", color_float_text,alpha_float_text);
animation_qty = llGetInventoryNumber(INVENTORY_ANIMATION);
if (animation_qty > 0)
{
llWhisper(0, "Total animations loaded in this stand: " + (string)animation_qty);
set_anim(0);
}
else
{
llSetText("No Animations Found.. Offline", color_float_text,alpha_float_text);
}
}
set_anim(integer inventory_number)
{
new_animation_name = llGetInventoryName(INVENTORY_ANIMATION,inventory_number);
float_text = base_float_text + new_animation_name + "\n(" + (string)(animation_current + 1) + " of " + (string)animation_qty + ")";
llSetText(float_text, color_float_text,alpha_float_text);
avatar = llAvatarOnSitTarget();
if (avatar != NULL_KEY)
{
llStopAnimation(animation_name);
llStartAnimation(new_animation_name);
}
animation_name = new_animation_name;
}
default
{
on_rez(integer num)
{
llResetScript();
}
state_entry()
{
update_inventory();
if (animation_qty > 0)
{
llSetSitText("Pose");
llSitTarget(animation_offset,ZERO_ROTATION);
animation_name = llGetInventoryName(INVENTORY_ANIMATION, 0);
set_anim(animation_current);
}
}
touch_start(integer num)
{
string where = llGetLinkName(llDetectedLinkNumber(0));
if (where == "avancar") // Botão de avancar uma pose
{
animation_current++;
if ((animation_current + 1) > animation_qty)
{
animation_current = 0;
}
set_anim(animation_current);
}
else if (where == "voltar") // Botão de voltar uma pose
{
animation_current--;
if (animation_current < 0)
{
animation_current = animation_qty - 1;
}
set_anim(animation_current);
}
}
changed(integer change)
{
if (change & CHANGED_INVENTORY)
{
update_inventory();
}
if (change & CHANGED_LINK)
{
avatar = llAvatarOnSitTarget();
if(avatar != NULL_KEY) // Is that changed link an avatar?
{
llRequestPermissions(avatar,PERMISSION_TRIGGER_ANIMATION);
}
else
{
if (llGetPermissionsKey() != NULL_KEY)
{
llStopAnimation(animation_name);
}
}
}
}
run_time_permissions(integer perm)
{
if (perm & PERMISSION_TRIGGER_ANIMATION)
{
llStopAnimation("sit");
llStartAnimation(animation_name);
}
}
}

//fim do script

COLE dentro da Janela de script no SL e clique em Salvar.

Renomeie o Script em seu objeto para Pose Fotos e depois insira as poses que você já possua em seu inventário na mesma pasta o objeto.

Atenção: algumas poses podem ser No Copy (não copiaveis) ao serem inseridas no seu Pose Stand elas podem sair de seu inventário e ficarem somente no objeto.


Agora crindo mais 2 objetos agora na forma de PRISMA faremos as setas de avancar e voltar poses.

Sim é avancar memso sem cedinha, pois a linguagem de programaçao nao reconhece caracteres especiais, logo o nome das setas devem ser.
voltar e avancar
(tudo em caixa baixa)

Tamanho dos Objetos (setas) X- 0.200 Y -0.100 Z -0.200

Depois de construídas as formas, edite as cores sendo, avancar Verde, e voltar Vermelho, não esquecendo que as setas devem estar apontando para fora do objeto central.

Depois de construídas e posicionadas as formas, vamos uní-las e renomera para Pose Stand.

Unindo as formas:
1 - Mantenha a tecla CRTL pressionada e com o botão da ESQUERDA do mouse clique na seta da Esquerda depois na da Direita e por último na forma Circular Branca.

2 - Depois das três formas selecionadas usando o teclado pressione CRTL + L (tecla control depois a tecla "L" ) isso deve unir as formas, observe que as setas tem um contorno em Azul e a forma em cilindro central com o contorno amarelo, isso significa que foram unidas com sucesso.

Agora basta renomer a forma unida para Pose Stand.

Pronto agora você tem seu Pose Stand Particular, para usá-lo, clique nele com o botão da DIREITA do mouse e no menu vá em Pose e boas fotos.

Espero que este Tutorial tenha sido útil, qualquer problema postem aqui.

Sucesso a Todos!

Tutoriais mais consultados: