ソラマメブログ

2008年06月21日

ランダム マッシュルーム - Mushrian(その2)

少し作業しようか と島に行ってみたら そうだ キノコ生えさせよう と思い付き 置いてみたら
-----
これは 予め 予測されていたことではあるんだが
-----

-----
本体の位置で z軸方向の位置を定めているので でこぼこがあると 埋まってしまうものがでてくる
-----
LlGround - lslWiki
-----
を見るとしかし 土地の高さを調べることはできそうである
-----
そこで簡単なスクリプトを作って試してみた
-----

-----
move_end というのは 動かした後 呼ばれる関数で
-----
このスクリプトを入れたオブジェクトを 編集し 動かしていくとその場所の土地の高さが 表示される
-----
結構細かく変化しているようなので この値で キノコの z軸方向の位置を設定するようにすると こうなった
-----

-----
これだと少し分かりにくいので もう少し横から見ると
-----

-----
斜面に沿って生えるようになっていることがわかる... というわけで
-----
修正版のキノコのソース
//
// File: 1upmushroom.lsl
// Date Author number of nodes
// 2008/6/21 walkinglint 26
// 2008/6/20 walkinglint 24
//
integer steps = 5;
integer tick = 1;
float final_size = 0.2;
vector pos;
set_scale() {
tick++;
vector scale;
scale.x = final_size / steps * tick;
scale.y = final_size / steps * tick;
scale.z = final_size / steps * tick;
llSetScale(scale);
llSetPos(<pos.x, pos.y, llGround(ZERO_VECTOR) + scale.z / 2.0>);
}
default {
state_entry() {
llSetTimerEvent(60.0 / steps);
pos = llGetPos();
set_scale();
}
on_rez(integer param) {
llResetScript();
}
timer() {
set_scale();
if (tick > steps) {
llSetTimerEvent(0);
}
}
}

同じカテゴリー(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)
上の画像に書かれている文字を入力して下さい
 
<ご注意>
書き込まれた内容は公開され、ブログの持ち主だけが削除できます。