SecondLifeの最近のブログ記事

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

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

Snapshot_001_320.jpg

勧められてやってます。セカンドライフ。
上は、セカンドライフ内の「Akiba」です。

しかし、Akibaという名前の通り、それっぽい看板が多いですw

前に登録は済ませてあり、少しだけ入ったこともあるんだけど、
昨日は、まとまった時間があったので少しやってみようと思い、ログインしたんですけど、

無一文なんですよ。
何も買えません。

ということで、通貨であるL$(リンデンダラーと呼ぶ)の購入にチャレンジしました。
実際、支払方法を登録してあげれば簡単に購入(実際の通貨とL$の交換)できるんですけど、
何故か、クレジットカード情報の登録が出来ず、試行錯誤で一日無駄にしました・・・。

サーバーのトラブルとふんで、一日待ってから再度チャレンジしたところ、あっさり購入できました・・・。
やはり、昨日はサーバーのトラブルだったのでしょう。

L$の購入はセカンドライフのサイトから行えます。
先に、支払い方法を設定しておく必要がありますが、通常はクレジットカードでいいでしょう。
(PayPalも選べますが、少しややこしい)
アカウント登録時にクレジットカードを設定した人はそのままL$の購入ができます。
(初期にクレカ情報を入れるとボーナスで250L$もらえます)

secondlife.comにログイン後、右上のMyAccountをクリックし、
右のメニューから、Update Payment Methodをクリックします。

クレジットカード情報を入力するフォームが表示されますので、

お決まりの、

・クレジットカードの種類
・カード番号
・有効期限
・カード名義(カード上に記載されている名前)
・セキュリティコード(カードの署名欄などにある3~4桁の数字)

と、自分の住所などの情報を入力して、
「SaveChanges」をクリックで完了です。

ちなみに、昨日はここでエラー出て進めませんでした。

支払い方法の登録が完了したら、左のメニューから、
Buy L$
をクリックします。

Buy Linden Dollarsの欄に、欲しいL$の額を入れるか、使用するUS$数を記入すると自動で購入できるL$数が表示されます。
※これ以外に、交換レートを指定して買い(売り)注文を入れることもできるようです。

うまくすると、L$の売り買いだけで儲けることも可能かも?

今回は、500L$買ってみましたが、対価はUS$2.18でした。
この場合、US$1=L$229.36というレートになりますね。

とりあえず、これでL$500手に入ったということになります。

今度は、このL$を使ってセカンドライフ内で買い物をしてみようと思います。

超便利ツール!

リンク集


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

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

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

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

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

2007年2月: 月別アーカイブ

アーカイブ

ウェブページ

Powered by Movable Type 4.1

ログール

Amazon

AD

このアーカイブについて

このページには、過去に書かれたブログ記事のうちSecondLifeカテゴリに属しているものが含まれています。

前のカテゴリはSOFTです。

次のカテゴリはServerです。

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