LSLのお勉強メモ(センサーについて)

| | コメント(0) | トラックバック(0)

Snapshot_001.JPG

セカンドライフ内では、作ったオブジェクトにプログラムを組み込むことで、いろいろなモノを創造することが出来ます。
今回は、センサー(sensor)について分かったことをメモしておきます。

センサーを使うと、指定した範囲内に任意のオブジェクトが入った場合に特定の動作を行うような処理を行うことが出来ます。
たとえば、キャッチボール用に、ボールとミットを作成するとしましょう。
投げたボールがミットに収まったかどうかの判断は、センサーで行う必要がありそうです。
なぜなら、ボールからみると、自分に触れたミットに対して収まってあげる必要があるからです。
この「触れた」を実現するのがセンサーです。
まあ、キャッチボールなんていう高度な処理は置いておいて、今回はセンサーに限ってテストしてみました。

調べたところ、イベントに「sensor」「no_sensor」というものが存在し、
センサーの設定を行う「llSensor」と「llSensorRepeat」という関数があることがわかりました。

つまり、llSensorで初期設定を行い、実際にセンサーに反応があると、sensorイベントで拾えるということです。

テストとして、以下のようなスクリプトを実装してみました。
組み込むオブジェクトは何でもOKです。

1:default
2:{
3:
4: state_entry()
5: {
6: llSay(DEBUG_CHANNEL,"TestStart");
7: llSensorRepeat("",NULL_KEY,AGENT,5.0,PI,0.5);
8: }
9:
10: // SensorTest
11: sensor(integer total_number)
12: {
13: llSay(DEBUG_CHANNEL, (string)total_number + " avatars detected" );
14: integer i;
15: for (i = 0; i < total_number; i++)
16: {
17: llSay(DEBUG_CHANNEL, llDetectedName(i));
18: }
19: }
20: }

state_entry()はオブジェクトが現れた際に実行されます。
ここでは、TestStartというデバッグ出力を行ってから、
llSensorRepeat("",NULL_KEY,AGENT,5.0,PI,0.5);
で、センサーの設定を行っています。
llSensorRepeat()関数は、Sensor処理を繰り返し行う処理です。
(llSensorであれば、一度だけ処理を行うようです)
第1引数は、対象となるオブジェクトの名前を指定します。
第2引数は、対象となるオブジェクトのIDです。
ここでは、""とNULL_KEYにしているので、あらゆるオブジェクトが対象です。
3つ目は、対象となるオブジェクトの種類のようです。
AGENTは、人ということでしょうか。
その後の2つの引数はセンサーの動作範囲を指定しています。
第4引数で、距離を指定します。(最大値は96mです)
第5引数で、角度ですが、これはここのページの下の図を見てもらうと分かりやすいです。
ここではPIとしているので、球状の範囲となります。
第6引数は、センサーを繰り返し動作させるインターバル時間です。

11行目からは、センサーに反応があった場合の処理になります。
sensorイベントの引数は、引っかかったオブジェクトの総数です。
13行目で何個見つかったか出力し、
その後に、見つかったすべてのオブジェクトの名前を羅列しています。
llDetectedName()で見つかったオブジェクトの名前を取得可能です。

しかし、結構簡単でした。
これがあれば、キャッチボールという複雑な動作も簡単に実現できるかもしれません。

範囲に入っただけで動作を行うことができるセンサーは使いでがありそうな機能です。
使い方によっては、「罠」も簡単ですね。

試しに、肥溜めでもつくろうかしらw
近くを通ると肥溜めにハマり、強制的にウ○コが装備されるとかw

あと、武器系もこれで作れそうな気がします。

トラックバック(0)

このブログ記事を参照しているブログ一覧: LSLのお勉強メモ(センサーについて)

このブログ記事に対するトラックバックURL: http://nishik-t.com/mt/mt-tb.cgi/318

コメントする

超便利ツール!

リンク集


GPPointer
ゲームパッドでマウス操作と一部キーボード操作を行うための自作ソフトです。
アナログスティックで気持ちよくカーソルが動きます。
寝ながら快適にパソコンを操作する為に作りましたw
良ければ使ってください。

完全に動かなくなるまで乗りますよ?
車(日産パルサー)関係はこちらへ
走行22万キロを越した老車の記録です。
パーツインプレッションなども書いています。

ほくろぐ
友達のブログです。自作PC系の話題が豊富です。

陶器職人@momo
友達のブログです。自作陶器を製作&販売しています。
近辺にお住まいの方はお店(チャレンジショップ)に行ってみては?

ヌーディストライフ
ヌーディストの知り合いですw
僕はヌーディストではありませんがっw
BIGLOBEのブログランキングで常にTOP10に入るお化けブログですよ。

アーカイブ

ウェブページ

Powered by Movable Type 4.1

ログール

Amazon

AD

このブログ記事について

このページは、nishik-tが2007年2月15日 00:26に書いたブログ記事です。

ひとつ前のブログ記事は「SecondLifeをはじめてみた」です。

次のブログ記事は「links for 2007-05-03」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。