BlackSheep-LSL@Wiki llDetectedGrab

※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

llDetectedGrab

vector llDetectedGrab(integer number)

タッチイベントにおいて、オブジェクトがドラッグ移動されている方向を取得する。
どういうことかと言うと、移動可能なワールド内のオブジェクトの上でマウス左ボタンをホールドし、そのままマウスを動かすとオブジェクトを移動させることができるが、そのときの移動方向を取得する関数である。
オブジェクトは物理オブジェクトである必要はない。

この関数で取得されるのはあくまでもドラッグ移動されている方向だけであり、例えばインパルスやフォースなどで物理的に動かされている場合はZERO_VECTORが返る。

llDetectedGrabはデテクト系の関数の一つである。
デテクト系関数についてはllDetectedKeyの説明もしくは初級スクリプト第二十回「センサーを使おう」のセンサーイベントについての説明を参照のこと。
ただしllDetectedGrabはtouch?イベント内でしか効果がない。
touch_start?イベントやtouch_end?イベントでも無効である。

この関数の面白みは「ユーザーがマウスを動かしている方向を取得できる」という点にある。
HUDにおいても使うことができるため、アナログジョイスティック的な入力インターフェースの実装も不可能ではない。
ビークルに組み込んで、操縦菅をマウスで動かして飛ばすなんていう仕組みも考えられる。
あるいはテクスチャのオフセット値と連動させて「マウスでスクロールできる地図」のようなものも作れるだろう。

使っている人をあまり見かけないのだが、いろいろと可能性のある関数だと思う。