quinta-feira, 28 de abril de 2011

Criando uma saia flex

Nessa parte da aula iremos aprender a criar uma saia flex usando o prim flex da outra aula.
Vamos precisar também do script looprez, encontrado nesse blog.




Looprez script otimizado para a aula:


////////////////////////////////////////////////////////////////////////////////
// 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 = "saia"; // objeto a ser copiado
integer numObjects = 12; // quantidade de objetos
float xRadius = 0.23; // elipse eixo-x
float yRadius = 0.17; // elipse eixo-y
float flareAngle = 40.0; // grau de inclinacao
float bendCoefficient = 0.0; // coeficiente de dobramento
vector rotOffset = <0.0, 180.0, 0.0>; // rotacao
vector posOffset = <0.0, 0.0, 0.6>; // posicao



////////////////////////////////////////////////////////////////////////////////
// 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(<rotOffset.x*DEG_TO_RAD, rotOffset.y*DEG_TO_RAD, rotOffset.z*DEG_TO_RAD>); // 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();
}
}
}

quinta-feira, 14 de abril de 2011

Criando um sculpt prim

Sculpt prims ou primitivos esculpidos são especiais porque é possível criar objetos mais realísticos com muito menos material. Isso é muito importante, pois todo terreno tem um limite de prims que o dono pode colocar.
Neste tutorial iremos aprender apenas o básico para que vocês entendam como funciona o processo.
Iremos usar dois programas gratuitos: o Rokuro, para criar alguns sculpties simêtricos, e o SculptySpace para pré-visualizar as criações.

Assista o vídeo abaixo:

quarta-feira, 13 de abril de 2011

Criando um prim flexível

Vamos aprender a criar um flex prim (primitivo flexível).
Flex prims são muito usados para criar cabelos, bandeiras, saias e vários outros objetos.
A criação de flex prims é bem simples para quem já domina as técnicas básicas de construção no Second Life.



Após construir qualquer prim, vocês devem marcar a opção "Phantom" na aba Object.


E na aba Features vocês devem marcar opção "Flexible path"


As principais opções que vocês mais irão mexer é Gravity (Gravidade) e Wind (Vento).

E é isso. Brinquem com as outras opções para ver o que acontece com o prim.