ソラマメブログ

2008年03月17日

リングの作り方、えっ、まじかよ

リングの作り方、えっ、まじかよ

標準オブジェクトを200個リンクして、リングを作成してみました。
まじ、こんな作り方しか出来ません。
本当は、どうやってつくるのでしょうかね。
おかげさまで、リンクの最大数は、254個であることを知りました。あはは。
こんなの手作業でリンクなんかしてたら、日が暮れます。
って、言うことで、スクリプトで生成してから、ちょっと手直しします。

//----------------------------------------

float a = 1;
float b = 0;string bead = "ring";
integer numbeads = 50;
vector offsetrot = <0,0,0>;
float  r = 0.5;


make()
{
    integer n;
    float t;
    float d;
    vector p;
    vector re;
    rotation rot;
    for(n = 1;n <= numbeads;n++) {
        t = TWO_PI * ((float)n/(float)numbeads);
        llOwnerSay((string)n);
        p.x = r*llCos(t);
        p.y = r*a * llSin(t);
        p.z = b * llCos(t)*llCos(t) + 1;
        p = p + llGetPos();
        re.x = -1 * llSin(t) + DEG_TO_RAD * offsetrot.x;
        re.y = llCos(t) + DEG_TO_RAD * offsetrot.y;
        re.z = t + DEG_TO_RAD * offsetrot.z;
        rot = llEuler2Rot(re);
        if (n % 2 == 0 )
        {
            llRezObject(bead, p, ZERO_VECTOR, llGetRot() * llEuler2Rot(<PI/4,PI/4,PI/4>), 5);
        }
        else
        {
            llRezObject(bead, p, ZERO_VECTOR, llGetRot() * llEuler2Rot(<PI_BY_TWO,PI_BY_TWO,PI_BY_TWO>), 5);
        }
    }
}
       


default
{
    state_entry()
    {
        llSay(0, "Touch to generate a Necklace");
    }


    touch_start(integer total_number)
    {
        make();
    }
}



同じカテゴリー(オブジェクト)の記事
 大きいオブジェクト (2008-03-20 22:14)

Posted by jinkocyan at 18:36│Comments(0)オブジェクト
 
<ご注意>
書き込まれた内容は公開され、ブログの持ち主だけが削除できます。