llCollisionFilter
llCollisionFilter(string name, key id, integer accept)
衝突判定にフィルターを設定する。
フィルターとは、特定のアバターやオブジェクトの衝突判定を有効にしたり無効にしたりすることを言う。
フィルターとは、特定のアバターやオブジェクトの衝突判定を有効にしたり無効にしたりすることを言う。
引数name及びidにはフィルター対象となるアバター/オブジェクトの名前/UUIDを指定する。
引数acceptがTRUEの場合は衝突判定を有効とし、FALSEの場合は無効とする。
引数acceptがTRUEの場合は衝突判定を有効とし、FALSEの場合は無効とする。
以下のようにすると"Miz Cremorne"の衝突判定を無効とし、無敵状態にする。
llCollisionFilter("Miz Cremorne", "xxxx...xxxxx", FALSE); (注:UUIDは適当に書いてあるので実際には効果なし)
nameに""を指定した場合はあらゆる名前のアバター/オブジェクトが対象である。
idにNULL_KEYを指定した場合はあらゆるUUIDのアバター/オブジェクトが対象である。
idにNULL_KEYを指定した場合はあらゆるUUIDのアバター/オブジェクトが対象である。
つまり、以下は全アバター/オブジェクトの衝突判定を有効とする(=フィルターを解除する)。
llCollisionFilter("", NULL_KEY, TRUE);
逆に、以下のようにすると全アバター/オブジェクトの衝突判定を無効化する。
llCollisionFilter("", NULL_KEY, FALSE);
なお、衝突フィルターはステートを変更するとリセットされる。
ステートをまたがってフィルターを使用したい場合はstate_entryイベント内で再設定する必要がある。
ステートをまたがってフィルターを使用したい場合はstate_entryイベント内で再設定する必要がある。