Previsão do Tempo para São Paulo

Pesquisar este blog

terça-feira, 7 de dezembro de 2010

* Saia Prims Flexi com Attachament Set

                                   Vestido Preto Básico.

     Toda mulher que se preze tem um pretinho básico no seu guarda-roupa.
     O second life tem um grave problema com as saias quando sentamos, e andamos as pernas ficam á mostra.
     Infelizmente, este é um problema comum com as saias flexis  (e outros acessórios prim).
     Alguns acessórios funcionam bem em uma posição, como por exemplo quando você está em pé, mas em outras posições (como quando você está sentado).

    Seria tão bom se as saias  flexi pudesse  ajustar-se quando estão em posições diferentes...

    Veja isso!!! Minha saia desapareceu, e o shorts ficou á mostra...Que coisa mais feia... Que deselegante...
   
    Como já disse infelizmente esse é um problema comum com as saias flexis..

   Você já foi num casamento SL? Notou as mulheres elegantíssimas, em seus vestidos longos? Enquanto em pé, porque quando sentadas que desastre...


   Bem, mas agora esse problema acabou! Graças ao AttachmentSet da maravilhosa Virrginia Tombola

   Note a diferença, minha saia está perfeitamente no lugar, não deixa meu shorts á mostra...
 
   Falemos um pouco sobre o Attachament set.

   Attachament Set é um script que irá ajustar a posição de um anexo de prims. Você pode ter diferentes posições, sentada, em pé, andando, correndo, etc...
Suas pernas não ficarão mais a mostra.
  Attachament é simples de usar e o melhor de tudo é grátis.

  Você poderá copiar e colar o script Attachament Set.  a seguir.
  Abra seu iventário, clique no menu criar e selecione script. Na pasta script ache "new script" e renomeie para " AttachamentSet "
     De dois cliques para abrir a janela de edição. Apague todo o conteúdo do script e copie as configurações a seguir.

// AttachmentSet -- Attachment Positioning & Rotating Script

// by Carricre Wind
// released as an OSS
integer set = FALSE;
string anim;
string lanim;
string adjust;
string user;
vector v1;
vector v2;
vector v3;
vector v4;
vector v5;
rotation r1;
rotation r2;
rotation r3;
rotation r4;
rotation r5;
default
{
state_entry()
{
llSetTimerEvent(0.0);
}
attach(key av)
{
if (av != NULL_KEY)
{
if (set == FALSE)
{
v1 = llGetLocalPos();
v2 = llGetLocalPos();
v3 = llGetLocalPos();
v4 = llGetLocalPos();
v5 = llGetLocalPos();
r1 = llGetLocalRot();
r2 = llGetLocalRot();
r3 = llGetLocalRot();
r4 = llGetLocalRot();
r5 = llGetLocalRot();
set = TRUE;
}
llListen(66,"",llGetOwner(),"");
llSetTimerEvent(0.2);
}
else
{
llSetTimerEvent(0.0);
}
}
timer()
{
string anim=(llGetAnimation(llGetOwner()));
if (anim==lanim)
{
return;
}
else if(anim=="Standing")
{
llSetPrimitiveParams([PRIM_POSITION, v1, PRIM_ROTATION, r1]);
lanim=anim;
}
else if(anim=="Sitting")
{
llSetPrimitiveParams([PRIM_POSITION, v2, PRIM_ROTATION, r2]);
lanim=anim;
}
else if(anim=="Sitting on Ground")
{
llSetPrimitiveParams([PRIM_POSITION, v3, PRIM_ROTATION, r3]);
lanim=anim;

}
else if(anim=="Walking")
{
llSetPrimitiveParams([PRIM_POSITION, v4, PRIM_ROTATION, r4]);
lanim=anim;
}
else if(anim=="Running")
{
llSetPrimitiveParams([PRIM_POSITION, v5, PRIM_ROTATION, r5]);
lanim=anim;
}
}
listen(integer channel, string name, key id, string msg)
{
user = llToLower(msg);
adjust = llGetSubString(user,0,5);
if (adjust == "suspen")
{
llSetTimerEvent(0.0);
llOwnerSay("Skirt animations stopped.");
}
else if (adjust == "resume")
{
llSetTimerEvent(0.2);
llOwnerSay("Skirt animations restarted.");
}
else if (adjust == "set st")
{
v1 = llGetLocalPos();
r1 = llGetLocalRot();
set = TRUE;
llOwnerSay("Standing position and rotation edited and reset.");
}
else if (adjust == "set si")
{
v2 = llGetLocalPos();
r2 = llGetLocalRot();
set = TRUE;
llOwnerSay("Sitting position and rotation edited and reset.");
}
else if (adjust == "set gr")
{
v3 = llGetLocalPos();
r3 = llGetLocalRot();
set = TRUE;
llOwnerSay("Sitting on Ground position and rotation edited and reset.");
}
else if (adjust == "set wa")
{
v4 = llGetLocalPos();
r4 = llGetLocalRot();
set = TRUE;
llOwnerSay("Walking position and rotation edited and reset.");
}
else if (adjust == "set ru")
{
v5 = llGetLocalPos();
r5 = llGetLocalRot();
set = TRUE;
llOwnerSay("Running position and rotation edited and reset.");
}
}
}

   Salve e espere a confirmação. Caso prefira, eu posso lhe enviar uma copia, basta me mandar um notcards ou solicitar aqui pelo blog.
    
                         Vestido Preto

    
  Vamos começar pela blusa do SL.
   Botão direito do mouse sobre seu avatar e selecione "Aparência ...". Selecione a guia "camisa".  
   Se você já está vestindo uma camisa, selecione a opção "Remover". Clique no botão "criar nova camisa".
  Clique no quadrado de cor e selecione a cor preta.

  Digite as seguintes configurações:

Sleeve Length: 27
Shirt Bottom: 100
Collar Front: 78
Collar Back: 78
e os demais 0
Clique no botão "Salve as" e na guia geral da edição de o nome de "Blusa Preta ST"

Se preferi você pode criar uma blusa usando o Gimp ou ainda Photoshop

   Em seguida, faremos  o "shorts", que servirá de base  para a saia flexi  (e fornecer alguma ... cobertura o que é essenciais:).


    Na janela Aparência, selecione a opção "Calça". Se você já está vestindo calças, selecione a opção "Remover".
   Clique no botão "Criar nova calça" .
   Clique no quadrado acima "Cor / Matiz". Selecione o  preto.

Digite a seguir as configurações:
Pants Length: 20
Waist Height: 100
as demais 0
Clique no botão "Salve as" e na guia geral da edição de o nome de "Shorts Preto ST".

                     Criando a Saia

   Você pode usar praticamente qualquer saia  com AttachmentSet. Mas desde que a saia seja  rodada para cima, quando você se senta, os painéis da saia tendem a se abrir. Se os painéis da saia são estreitos, eles vão deixar  grandes buracos ...

   Precisamos criar uma saia flexi com maior numero de painéis e mais curvas.

   Crie um prim cilindro

Na guia "Objeto", introduza as seguintes definições:


Tamanho X: 0,158
Tamanho Y: 0,300
Tamanho Z: 0,440

Recorte inicio e fim I: 0,150
Recorte inicio e fim F: 0,850

Vazio: 0,95

Afinar X: -0,75
Afinar Y: -0,75

Na guia "Recursos", insira as seguintes configurações:

Suavidade: 2,000
Gravidade: 4,000
Drag: 4,000
Vento: 1,000
Tensão: 1.000
   Na aba "Textura", clique no quadrado acima "textura". Na Pick: Janela de textura, clique em "branco" e "Selecionar".

   Clique no quadrado acima "cor". Na janela "Color Picker", clique no quadrado preto e depois em "Selecionar".
   Vá até a aba "Geral". Mudar o nome para "Tutorial Painel ".

Agora com o botão direito do mouse sobre o objeto "Tutorial Painel"  e selecione "Pegar" para levá-lo em seu inventário.


Agora vamos fabricar o nosso próprio LoopRez V0.6.

  Crie uma esfera ou uma caixa.

  Edite, e na guia conteúdo clique em criar novo script  e renomeie para "Script LoopRez"
   De dois clique para abrir a janela de edição do script, selecione todo o conteúdo para apagar.
  Copie e cole as configurações a seguir dentro da janela do script que você acabou de renomear.





//////////////////////////////////////////////////////////////////////////////


// LoopRez v0.6, by Ged Larsen, 20 December 2006
//
// - rez a number of objects in an ellipse, whose size is determined by xRadius and yRadius
// - all facing "outwards", along a tangent to the ellipse
// - can set how much the objects flare outwards
// - properly handles object rotation corrections (for example, X-axis 180 degree rotation helps for flexi-prim skirts)
// - can also get a 'saddle' bend, to generate a bend that might help for necklaces (from Ariane Brodie)
//
// To use:
// 1) create a prim that will contain this script and the object to use
// 2) put the script into the prim
// 3) create an object that will be used, and name it "Object"
// 4) put "Object" into the prim containing the script, by dragging it from your inventory
// 5) get out of Edit Mode, and touch the prim
//
// Random note:
// - this version does NOT insure equal spacing of objects along the perimeter of the ellipse
// - i.e., objects "bunch up" at the long ends of an ellipse; the effect should be acceptable for non-extreme ellipses
// - even spacing of objects can be accomplished, but requires simulation of integral calculus, which slows down the script
//
// References:
// - tangent formulas from: http://mathworld.wolfram.com/Ellipse.html
////////////////////////////////////////////////////////////////////////////////
// CONFIGURATION PARAMETERS, change these to your liking
string objectName = "sample-short"; // object to use; will need to be in the inventory of the prim containing this script
integer numObjects = 16; // how many objects
float xRadius = .16; // ellipse x-axis radius in meters
float yRadius = .27; // ellipse y-axis radius in meters
float flareAngle = 60.0; // how many DEGREES the bottom of object will flare outwards, the "poof" factor

float bendCoefficient = 0.0; // makes a "saddle shape", bends DOWN this number of meters at extremes of X-axis

vector rotOffset = <0.0, 180.0, 0.0>; // rotation offset in DEGREES -- fixes the rotation of ALL objects; for flexi prims, often you will want <180.0, 0.0, 0.0>
vector posOffset = <0.0, 0.0, 1.0>; // position offset
////////////////////////////////////////////////////////////////////////////////
// No need to mess with anything below here
makeLoop()
{
integer n; // which object is being placed
float theta; // angle in radians
vector pos; // position
rotation rot; // rotation in quaternion format
for(n = 0; n < numObjects; n++) {
theta = TWO_PI * ( (float)n / (float)numObjects );
pos.x = xRadius * llCos(theta); // ellipse: 2x xRadius meters wide
pos.y = yRadius * llSin(theta); // ellipse: 2x yRadius meters wide
pos.z = -bendCoefficient*llCos(theta)*llCos(theta); // saddle shape, bending downwards on X-axis
pos = pos + llGetPos() + posOffset;
rot = llEuler2Rot(); // user-chosen rotation offset correction
rot = rot * llEuler2Rot(<0, -1*flareAngle*DEG_TO_RAD, 0>); // flare generation (poof)
// the following make the objects face outwards properly for an ellipse; using theta alone is only correct for a circle
// the scary formula calculates a unit vector TANGENTIAL to the ellipse, and llRotBetween is used to figure out how much the object needs to rotate to lie parallel to the tangent
rot = rot * llRotBetween(<0.0,1.0,0.0>, <-1.0 * xRadius * llSin(theta) / ( llSqrt ( (yRadius*yRadius * llCos(theta) * llCos(theta)) + (xRadius*xRadius * llSin(theta) * llSin(theta))) ),yRadius * llCos(theta) / ( llSqrt ( (yRadius*yRadius * llCos(theta) * llCos(theta)) + (xRadius*xRadius * llSin(theta) * llSin(theta))) ),0.0>);
if ( n== (numObjects/2) ) // LSL's implementation of llRotBetween at theta = pi radians is reversed at 180 degrees, so this manually corrects it
rot = rot * llEuler2Rot( <0,PI,0> );
llRezObject(objectName, pos, ZERO_VECTOR, rot, 0);
}
}
default
{
touch_start(integer total_number)
{
if (llDetectedOwner(0) == llGetOwner())
{
makeLoop();
}
}
}
Salve as configurações, espere o script aceitar para depois fechar a janela
Se preferir é só me enviar um notcards solicitando uma copia, terei imenso prazer em lhe oferecer.

Use as seguintes configurações para o script LoopRez ( configurações para "amostra do painel da saia curta"):


objectName string = "Tutorial Painel";
numObjects inteiro = 12;
xRadius float = 0,16;
yRadius float = 0,27;
float flareAngle = 60,0;
float bendCoefficient = 0,0;
rotOffset vetor = <0,0,>;
posOffset vetor = <0,0,>;

Arraste do seu iventário para dentro da guia conteúdo o "tutorial painel" que fizemos, provavelmente estará na pasta objeto.


   Toque o LoopRes e quando terminar, você terá uma saia parecida com esta.
   Tire uma copia do LoopRez e apague todo seu conteúdo para com isso evitarmos acidentes, diminua o tamanho e posicione bem no centro da saia.
   Edite qualquer parte e clique em ferramentas no topo da janela selecione "apenas selecionar meus objetos" desenhe um quadrado em torno da saia, e com a tecla shift precionada deselecione o loopRez copia, clique nele novamente para seleciona-lo. Isso fará do LoopRez copia a raiz dos prims.
Clique em ferramentas e selecione unir.

  Vá em frente e anexe sua saia  na pélvis. Ajuste a saia, se necessário.


Para mim, a saia fica bem com as configurações de rotação a seguir:

Rotação X: 180,00
Rotação Y: 74,00
Rotação Z: 180,00
Usando as setas coloridas para a posição da saia. Usando os números na parte superior central da tela como um guia, a posição seguinte cabe-me bem - X: 0,043, Y: 0,000, Z: 0,306.

Agora você deve ter um pequeno vestido preto é tudo pronto para AttachmentSet:)


             Adicionando AttachmentSet a saia


   Enquanto você estiver vestindo a saia, botão direito do mouse sobre ela,  vá para a aba "Conteúdo".

   Arraste e solte o script "AttachmentSet OSS"  que criamos do seu inventário na guia "Conteúdo" da saia.
   Botão direito do mouse sobre a saia e selecione "Desanexar". (Este passo é muito importante! O script vai funcionar depois que você  Desanexar!)
  Ache a saia em seu inventário e "vestir" novamente.


  Agora, estamos prontos para configurar a saia com AttachmentSet:)

  Em sua janela do chat , digite "/ 66 suspend" (sem as aspas, escreva em inglês). Você deverá ver uma resposta do AttachmentSet que diz: "[you shirt]:. Animações Saia parada"

Em seguida digite "/66 set stand". Isso configura a sua posição em pé / rotação.

Encontre uma confortável cadeira  e sente-se nela:) Você deve usar uma cadeira sem poseballs ou poses instalada. Quando em dúvida, você pode simplesmente criar um prim caixa e sentar-se sobre ela.
Você pode notar que a saia ainda continua ruim.
Botão direito do mouse sobre a saia e selecione "Editar ..."


Clique no botão "Rotação (Ctrl)"  na parte superior da janela de edição. Use a roda verde para girar a saia para cima.
Alternativamente, você pode digitar as seguintes definições:


Rotação X: 0,00
Rotação Y: 38,00
Rotação Z: 0,00

Clique no botão "Posição" botão na parte superior da janela de edição. Use a seta vermelha para deslizar para a frente e saia na seta azul para deslizar a saia para baixo.

Usando os números na parte superior central da tela como um guia, a posição seguinte cabe-me bem - X: -0,052, Y: 0.000, Z: 0,191.
Uma vez que nossa posição sentada / rotação parece estar bem, precisamos  dizer AdjustmentSet encima dela ...

Em sua janela de conversação, digite "/66 set sit".
Clique no botão "Stand Up" botão na parte inferior da tela. Repare que a saia está em uma posição estranha:

Em sua janela de conversação, digite "/66 resume".

Caminhe para a frente um pouco. Você vai notar que sua saia agora vai voltar para a posição normal em pé.

Vá em frente e sentar-se novamente. Observe a magia:)

A maioria das saias flexi vai entrar em suas pernas quando você anda. Isso normalmente é difícil de você ver a si mesmo, mas todos em torno de você pode vê-lo:


Você pode corrigir este problema, rodando a saia um pouco usando os mesmos passos acima. Quando estiver pronto, basta dizer "/66 set walk".

    Não esqueça de verificar Virrginia Tombola em attachmentset tutorial. para mais detalhes e informações sobre AttachmentSet.

Nenhum comentário:

Postar um comentário