gonta
2008年12月28日
06:30
さぶろさんの記事に触発されてフラクタルの木を作ってみました。
integer me=1;
float scale=1.0;
float scale1=0.866;
float scale2=0.5;
float th1=-0.524;
float th2=1.047;
rez()
{
llRezObject(
"branch",
llGetPos()+
*scale*llGetRot()+
*scale*scale1*llEuler2Rot()*llGetRot(),
ZERO_VECTOR,
llEuler2Rot()*llGetRot(),
me*2
);
llRezObject(
"branch",
llGetPos()+
*scale*llGetRot()+
*scale*scale2*llEuler2Rot()*llGetRot(),
ZERO_VECTOR,
llEuler2Rot()*llGetRot(),
me*2+1
);
}
default
{
on_rez(integer num)
{
if(num==0){
me=1;
llSetRot(ZERO_ROTATION);
llSetScale();
}else{
me=num;
while(num>=2){
if(num%2==0){
scale*=scale1;
}else{
scale*=scale2;
}
num/=2;
}
llSetScale(*scale);
llSleep(me*0.5);
if(me
llSleepを指定しないと,処理が追いつかずエラーが出ます。
シリンダを作成し,サイズをにします。
スクリプトを仕込んだあと,いったんテイクし,"branch"と名前を付けます。
再度rezしてから,テイクしてある"branch"をコンテンツ内に追加します。
タッチすると木がムクムク成長していきます!!
やた〜♪