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

llGround

float llGround(vector offset)

offsetで指定した位置の地面の高さを返す。
offsetはオブジェクトからの相対距離である。
仮にoffsetがZERO_VECTORであれば、オブジェクトの存在する位置の地面の高さを返す。
offsetが<1.0, 0.0, 0.0>であれば、オブジェクトの位置からX方向に1mずれた位置の地面の高さを返す。

賢明なるスクリプター諸君ならお判りのことと思うが、offsetのZ値を変えても、返される地面の高さは変わらない。

なお、同様の関数にllWater?関数がある。
水面の高さを返す関数である。

同一地点の地面の高さと水面の高さを比較し、もしも地面の高さのほうが上であれば、水面は地下(=陸上)である。
水面のほうが高ければ、地面は水底(=海上)である。

指定座標が海ならTRUE、陸ならFALSEを返すユーザー関数。

integer isSea(vector p){
  if (llGround(p - llGetPos()) - llWater(p - llGetPos()) < 0.0) {
    return TRUE;
  }else{
    return FALSE;
  }
}

しかしながら、オブジェクトで陸地が作られていた場合はこの限りではない。

名前:
コメント: