ソラマメブログ

2008年06月18日

ランダム 3D モンドリアン - Randrian

掲題のようなものを作ろうと思った
-----
rez したものをリンクしようとも思ったのだが というか リンクの機能を試してみたかったんだが
-----
案外リンクするのって面倒そうだったので やっぱり 臨時オブジェクトにし 1分毎に rez し直す事にした
-----
後 ウェアして 自動生成するアクセサリみたいなことも考えたが パーミッションの加減で だめそうだなとか
-----
で こんな感じになった
-----

-----

-----
まあ ちょっとした 飾りとしては使えるかな w
-----
作り方は ほとんど ヒルベルトと同じ
-----
キューブな臨時オブジェクト(でファントムなもの)をコンテンツに入れておき それを rez する
-----
キューブにはスクリプトを入れておき それにより rez 時に ランダムに サイズ 色 アルファ 輝き を設定する
-----
で それを特定の個数 ランダムな位置に rez する
-----
キューブな臨時オブジェクトの中に入れておくスクリプトがこれ
//
// File: cube.lsl
// Date Author number of nodes
// 2008/6/18 walkinglint 8
//
default {
on_rez(integer param) {
vector scale;
scale.x = llFrand(1.0) * 0.1;
scale.y = llFrand(1.0) * 0.1;
scale.z = llFrand(1.0) * 0.1;
llSetScale(scale);
vector color;
color.x = llFrand(1.0);
color.y = llFrand(1.0);
color.z = llFrand(1.0);
llSetColor(color, ALL_SIDES);
llSetAlpha(llFrand(1.0), ALL_SIDES);
llSetPrimitiveParams([25, ALL_SIDES, llFrand(1.0) * 0.1]); // too bright
}
}

適当なプリムに入れ キューブな臨時オブジェクトを バラバラと rez するスクリプトがこれ
//
// File: randrian.lsl
// Date Author number of nodes
// 2008/6/18 walkinglint 13
//
integer i;
integer num_of_box = 50;
float range = 0.5;
float distance = 0.7;
default {
state_entry() {
llSetTimerEvent(0.0);
}
on_rez(integer param) {
llResetScript();
}
touch_start(integer total_number) {
for (i = 0; i < num_of_box; i++) {
llRezObject("cube", llGetPos() + <0.0, 0.0, distance>
+ <(llFrand(1.0) - 0.5) * range, (llFrand(1.0) - 0.5) * range, (llFrand(1.0) - 0.5) * range>,
ZERO_VECTOR, ZERO_ROTATION, 0);
}
llSetTimerEvent(60.0);
}
timer() {
for (i = 0; i < num_of_box; i++) {
llRezObject("cube", llGetPos() + <0.0, 0.0, distance>
+ <(llFrand(1.0) - 0.5) * range, (llFrand(1.0) - 0.5) * range, (llFrand(1.0) - 0.5) * range>,
ZERO_VECTOR, ZERO_ROTATION, 0);
}
}
}
タッチすると rez しだすようにしてある

同じカテゴリー(walking のスクリプティング講座)の記事
 プロフィール写真の表示に問題 (2009-11-30 20:55)
 ミニ太陽系 (2009-03-21 06:03)
 関数から文字列を返したら何か問題になる? (2009-03-18 18:02)
 llListFindList って型って関係ないんだったっけ (2009-03-18 14:02)
 夏時間(PDT)の実験 (2009-03-08 22:04)
 15パズルの作り方(その3) (2009-03-08 06:03)
上の画像に書かれている文字を入力して下さい
 
<ご注意>
書き込まれた内容は公開され、ブログの持ち主だけが削除できます。