ソラマメ ブログ
読者登録
メールアドレスを入力して登録する事で、このブログの新着エントリーをメールでお届けいたします。解除は→こちら
現在の読者数 4人
オーナーへメッセージ
QRコード
QRCODE

気ままな一言

ご質問等、ページへのリンクはご自由に。気軽にコメントでもどうそ~
詳しいことは角川SIMのサポートセンターまでいらっしゃいませっ

世間知らずなので逆にいろいろ教えてください♪

2007年07月01日

検知/衝突 【LSL】

llSensorセンサーを起動する。
llSensorRemoveセンサーを停止する。
llSensorRepeat永続的なセンサーを起動する。

llDetectedKey検出したオブジェクトのUUIDを取得する。
llDetectedName検出したオブジェクトの名前を取得する。
llDetectedOwner検出したオブジェクトのオーナーのUUIDを取得する。
llDetectedPos検出したオブジェクトの座標を取得する。
llDetectedRot検出したオブジェクトの回転値を取得する。
llDetectedVel検出したオブジェクトの速度を取得する。
llDetectedType検出したオブジェクトのタイプを取得する。
llDetectedLinkNumber検出したプリムのリンクナンバーを取得する。
llDetectedGroup検出したオブジェクトが同じアクティブグループか調べる。
llDetectedGrabオブジェクトのドラッグ方向を取得する。

llDetectedTouchFaceタッチした面の番号を取得する。
llDetectedTouchPosタッチした座標を取得する。
llDetectedTouchSTタッチした面上の座標を取得する。
llDetectedTouchUVタッチした面のテクスチャ上の座標を取得する。
llDetectedTouchNormalタッチした面の法線ベクトルを取得する。
llDetectedTouchBinormalタッチした面の従法線ベクトルを取得する。

llCollisionFilter衝突判定のフィルタを設定する。
llCollisionSprite衝突時のスプライトを設定する。
llVolumeDetectファントムオブジェクトの衝突を有効/無効にする。
llPassTouchesルートプリムへタッチイベントを通知する。
llPassCollisionsルートプリムへ衝突イベントを通知する。
llSetDamage衝突時のダメージ量を設定する。


llSensor(string name, key id, integer type, float range, float arc)
name検知対象名
id検知対象UUID
type検知対象種別
rangeX軸上における検知範囲[m](0 ~ 96.0)
arc検知角度(0 ~ PI)

センサーを起動します。

検出できる最大数は、センサーから近い順に16個までです。
オブジェクトオーナーは検出されません

arcはオブジェクトのX軸における範囲です。詳しくはこちらの図表がわかり易いです。
アタッチメントでのarcは、アバターの向き(マウスルックの場合はその向き)が基準になります。
type
AGENTエージェント(アバター)
ACTIVE動いている物理オブジェクト及び動いているスクリプトを含むオブジェクト
PASSIVE動いていないオブジェクト及びスクリプトの停止しているオブジェクト
SCRIPTED動いているスクリプトを含むオブジェクト

※ しばしば96mを超えて検出することがあります

▲上へ ■LSL Portal ■LSL Portal (日本語)
llSensorRemove()

センサーを停止します。

▲上へ ■LSL Portal ■LSL Portal (日本語)
llSensorRepeat(string name, key id, integer type, float range, float arc, float rate)
name検知対象名
id検知対象UUID
type検知対象種別
rangeX軸上における検知範囲[m](0 ~ 96.0)
arc検知角度(0 ~ PI)
rate検知間隔[秒]

永続的なセンサーを起動します。

▲上へ ■LSL Portal ■LSL Portal (日本語)
key llDetectedKey(integer number)
number検知リストのインデックス

検出したオブジェクトのUUIDを取得します。

▲上へ ■LSL Portal ■LSL Portal (日本語)
string llDetectedName(integer number)
number検知リストのインデックス

検出したオブジェクトの名前を取得します。

▲上へ ■LSL Portal ■LSL Portal (日本語)
llDetectedOwner(integer number)
number検知リストのインデックス

検出したオブジェクトのオーナーのUUIDを取得します。

▲上へ ■LSL Portal ■LSL Portal (日本語)
vector llDetectedPos(integer number)
number検知リストのインデックス

検出したオブジェクトの座標を取得します。

▲上へ ■LSL Portal ■LSL Portal (日本語)
rotation llDetectedRot(integer number)
number検知リストのインデックス

検出したオブジェクトの回転値を取得します。

▲上へ ■LSL Portal ■LSL Portal (日本語)
vector llDetectedVel(integer number)
number検知リストのインデックス

検出したオブジェクトの速度を取得します。

▲上へ ■LSL Portal ■LSL Portal (日本語)
integer llDetectedType(integer number)
number検知リストのインデックス

検出したオブジェクトのタイプを取得します。

▲上へ ■LSL Portal ■LSL Portal (日本語)
integer llDetectedLinkNumber(integer number)
number検知リストのインデックス

検出したプリムのリンクナンバーを取得します。

▲上へ ■LSL Portal ■LSL Portal (日本語)
integer llDetectedGroup(integer number)
number検知リストのインデックス

検出したオブジェクトが同じアクティブグループであるかを調べます。

▲上へ ■LSL Portal ■LSL Portal (日本語)
vector llDetectedGrab(integer number)
number検知リストのインデックス

アバターがオブジェクトをドラッグした方向を取得します。
取得した値はタッチした位置からドラッグした方向へのオフセットになります。

▲上へ ■LSL Portal ■LSL Portal (日本語)
integer llDetectedTouchFace(integer index)
index検知リストのインデックス

アバターがタッチしたプリムの面の番号を取得します。
タッチ位置が無効な場合にはTOUCH_INVALID_FACE (-1)を返します。

▲上へ ■LSL Portal ■LSL Portal (日本語)
vector llDetectedTouchPos(integer index)
index検知リストのインデックス

アバターがタッチした位置のリージョン座標を取得します。
タッチ位置が無効な場合にはTOUCH_INVALID_VECTOR (<0.0, 0.0, 0.0>)を返します。

▲上へ ■LSL Portal ■LSL Portal (日本語)
vector llDetectedTouchST(integer index)
index検知リストのインデックス

アバターがタッチしたプリムの面におけるst座標を取得します。
st座標は左下を(0.0, 0.0)右上を(1.0, 1.0)とする座標系です。
戻り値(vector)のxとyに設定されます。(<s, t, 0.0>)
タッチ位置が無効な場合にはTOUCH_INVALID_TEXCOORD(<-1.0, -1.0, 0.0>)を返します。

▲上へ ■LSL Portal ■LSL Portal (日本語)
vector llDetectedTouchUV(integer index)
index検知リストのインデックス

アバターがタッチしたプリムの面に貼られているテクスチャのuv座標を取得します。
uv座標は貼り付け基準テクスチャの左下を(0.0, 0.0)右上を(1.0, 1.0)とする座標系です。
テクスチャの面に対するオフセットやサイズを変更した場合、uv値は0.0~1.0の範囲を超えます。反転した場合は座標系も反転します。
タッチ位置が無効な場合にはTOUCH_INVALID_TEXCOORD(<-1.0, -1.0, 0.0>)を返します。

▲上へ ■LSL Portal ■LSL Portal (日本語)
vector llDetectedTouchNormal(integer index)
index検知リストのインデックス

アバターがタッチしたプリムの面の正規化された法線ベクトルを取得します。
タッチ位置が無効な場合にはTOUCH_INVALID_VECTOR (<0.0, 0.0, 0.0>)を返します。

▲上へ ■LSL Portal ■LSL Portal (日本語)
vector llDetectedTouchBinormal(integer index)
index検知リストのインデックス

アバターがタッチしたプリムの面の従法線ベクトルを取得します。
タッチ位置が無効な場合にはTOUCH_INVALID_VECTOR (<0.0, 0.0, 0.0>)を返します。

▲上へ ■LSL Portal ■LSL Portal (日本語)
llCollisionFilter(string name, key id, integer accept)
nameフィルタ対象名
idフィルタ対象UUID
acceptTRUE … フィルタ有効(デフォルト)
FALSE … フィルタ無効

衝突判定のフィルタを設定します。
collisioncollision_start及びcollision_endイベントの発生に影響します。

▲上へ ■LSL Portal ■LSL Portal (日本語)
llCollisionSprite(string impact_sprite)
impact_spriteテクスチャ名もしくはテクスチャUUID

衝突時のスプライトを設定します。

▲上へ ■LSL Portal ■LSL Portal (日本語)
llVolumeDetect(integer detect)
detectTRUE … 衝突イベントを発生させる
FALSE … 衝突イベントを発生させない(デフォルト)

ファントムオブジェクトの衝突でイベント(collisioncollision_start及びcollision_end)を発生させるかどうかの設定をします。

▲上へ ■LSL Portal ■LSL Portal (日本語)
llSetDamage(float damage)
damageダメージ量(1~100)

衝突時にエージェントへ与えるダメージ量を設定します。
オブジェクトはダメージを与えると消滅します。
この関数はダメージ有効エリアのみで動作します。
ファントムオブジェクトでダメージを与えることはできません。

▲上へ ■LSL Portal ■LSL Portal (日本語)


同じカテゴリー(LSLリファレンス)の記事画像
イベント 【LSL】
同じカテゴリー(LSLリファレンス)の記事
 LSLリファレンスマニュアル (2007-07-01 18:28)
 型【LSL】 (2007-07-01 07:45)
 定義値【LSL】 (2007-07-01 07:23)
 イベント 【LSL】 (2007-07-01 06:16)
 アバター 【LSL】 (2007-07-01 05:35)
 オブジェクト 【LSL】 (2007-07-01 05:25)
Posted by れむ at 03:47 │LSLリファレンス