Criando um Pose Stand para Fotos
Posted by VOITENA Millet | Posted in ::: Scripts | 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.
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 scriptCOLE 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.