2017 年 8 月 22 日、LSL(Linden Script Language)に下記の新機能が追加されました
- llGetObjectDetails に「OBJECT_CREATION_TIME」「OBJECT_SELECT_COUNT」「OBJECT_SIT_COUNT」パラメータが追加
Release Notes/Second Life Server/17 - Second Life Wiki
llGetObjectDetails は、オブジェクト(プリム)の情報を取得したり設定を行う関数です。
LlGetObjectDetails - Second Life Wiki
今回は、下記のパラメータが追加されました。
OBJECT_CREATION_TIME | オブジェクトの作成日時 |
OBJECT_SELECT_COUN | オブジェクトがアバターに選択されている人数 |
OBJECT_SIT_COUNT | オブジェクトに座っているアバターの数 |
llGetObjectDetails(OBJECT_CREATION_TIME)
OBJECT_CREATION_TIME を指定すると、オブジェクトの作成日が取得出来ます
ここで言う“オブジェクトの作成日”は、Rez された日時では無くて、アセットとしてオブジェクトを作成した日時になります。
そのため、作成したオブジェクトを複数 Rez しても、OBJECT_CREATION_TIME の値は全て同じになります。
通常はオブジェクトの作成日は特に気にする必要は無いと思うのですが、オブジェクトの作成はメッシュアップロードなどの際にも行われますので、そのオブジェクトがオリジナルであるかどうかのチェックに使えそうな感じなのかな?という気がします。
llGetObjectDetails(OBJECT_SELECT_COUNT)
OBJECT_SELECT_COUNT を指定すると、そのオブジェクトが何人のアバターから選択されているかを取得することが出来ます。
オブジェクトが選択されているか(編集状態になっているか)どうかは、これまで取得することは出来ませんでした。
この機能を使うことで、誰かがオブジェクトを選択しているかどうかを LSL で判別出来るようになります。
オブジェクトが選択状態かを知りたいというケースは普通はほとんどないと思いますが…、
乗り物を編集状態にすると動きが止まってしまうという状態を検出することがこの OBJECT_SELECT_COUNT を使えば出来ますので、そういった用途では非常に重宝される機能のように思います^^
llGetObjectDetails(OBJECT_SIT_COUNT)
OBJECT_SIT_COUNT を指定すると、オブジェクトにアバターが何人座っているかを取得することが出来ます。
これまでも、llGetNumberOfPrims の数からオブジェクト自身のプリム数を引くことでアバターが何人座っているかを求めることが出来ましたが、これからはOBJECT_SIT_COUNT だけで取得出来るようになります。
今回も、あったら便利かなという機能が追加されました。
気になる方はぜひ試してみてください^^