- llGetAttachedList 関数
- llGetObjectDetails 関数に OBJECT_CLICK_ACTION 定数
llGetAttachedList()
llGetAttachedList では、アバターに装着されているオブジェクトの情報を取得出来ます。
LlGetAttachedList - Second Life Wiki
取得出来るのは、装着しているオブジェクトの key(UUID) の一覧です。
頭/手/足/腰など、アバター自身に装着されているオブジェクトの情報が取得出来ます。
HUD に装着されているオブジェクトの情報は、取得することは出来ません。
llGetAttachedList で取得出来る情報は、オブジェクトの key(UUID)のみですが、そこから llGetObjectDetails を介してオブジェクトの名称などを取得することも出来ます。
![]() |
わたしが装着しているオブジェクトの名称を表示してみたところ |
llGetAttachedList では自分のアバターだけでは無く、任意のアバターを指定して、そのアバターが装着しているオブジェクトの情報を取得することが出来ます。
この機能を使うことで、
- イベントやゲームなどでのアイテムの装着確認
- メモリー使用量の多いアイテムやレーティング上の装備品制限、セキュリティー対策といった目的でのアイテムの装着確認(身体検査)
- 装着しているメッシュオブジェクトの情報も取得出来ますので、気になる他の人のメッシュ装着物の情報の確認
インワールドのゲームで、アイテムを装着していないとドアが開かなくて進行出来ないといった仕掛けを作ることが出来るようになります。
(今までもオブジェクト同士で不可視チャンネルでの Say を行なうことで疑似的には可能でしたが、今度は直接装着の確認が出来るようになります)
また、負荷が高いオブジェクトを装着している場合に、これまでは
「メモリーを○○KBまで減らしてください」
というアナウンスしかスクリプト側からは出来ませんでしたが、
「○×というアイテムは負荷が高いので外してください」
と、より具体的なアナウンスを出すといったことも出来るようになります。
地味な機能ですけれど、応用範囲は広い機能かもしれません。
個人的には LSL でここまで出来るなら、公式ビュアーでアバターを右クリックした際のメニューに、「アバターの装着物一覧」を表示出来る項目を追加して欲しいですね。
プリム製のオブジェクトであれば、装着物を右クリックしてそのオブジェクトの詳細を見ることはこれまでも出来ましたけれど、メッシュ製になってからはそれが出来なくなってしまいましたので…。
LSL だけではその辺を簡単に確認出来るようにするのは難しいですので、そこはぜひビュアー側でも対応して欲しいなーっと思いました^^
llGetObjectDetails(OBJECT_CLICK_ACTION)
llGetObjectDetails() に OBJECT_CLICK_ACTION 定数が追加されました。
LlGetObjectDetails - Second Life Wiki
LlGetObjectDetails のフラグに OBJECT_CLICK_ACTION を指定すると、オブジェクトに設定されたクリックアクションの状態を取得することが出来ます。
取得出来る値は、編集ウインドウまたは llSetClickAction で設定可能な値(数値)です。
編集ウインドウ
![]() |
編集ウインドウでのクリックアクションの設定 |
llSetClickAction
LlSetClickAction - Second Life Wiki
使用方法としては、編集可能なオブジェクトに入れたスクリプトから、ユーザーがオブジェクトに対して適切なクリックアクションを設定しているかどうかを確認する場合に使用する感じなのかな?と思いました。
その際、結果に応じて、「適切なクリックアクションを設定してください」というメッセージを表示したり、llSetClickAction で自動的にクリックアクションの設定を変更するということが可能になりますので、よりユーザーフレンドリーな使い勝手を提供出来るようになると思います。
細かいところですけれど、こういう進化も大事なことだと思います^^
ツイート |
0 件のコメント:
コメントを投稿