QRコード
QRCODE
アクセスカウンタ
読者登録
メールアドレスを入力して登録する事で、このブログの新着エントリーをメールでお届けいたします。解除は→こちら
現在の読者数 0人
オーナーへメッセージ
slMame › 一日一膳腹八分目 › 2011年09月

  

Posted by at

2011年09月21日

llCastRay()実装

されたみたいですね。
和訳がまだないようですので簡単にまとめておきます。


list llCastRay( vector start, vector end, list options )



リージョン座標startからendを結ぶ直線上を調査して、検出されたオブジェクト、アバター、地面等について、optionsで指定された属性とUUIDと座標をlistで返します。
また、戻りリストの末尾はエラーコードまたは検出された物の数となります。
末尾の数(integer)が負の値の場合は、以下の意味となります。

RCERR_UNKNOWN(-1)
理由が分かりませんがエラーです。バグレポートをリンデンに送りましょう。

RCERR_SIM_PERF_LOW(-2)
SIMが重すぎて実行できませんでした。

RCERR_CAST_TIME_EXCEEDED(-3)
地区やアバターで許されている実行用のリソースが使い切られていて実行できませんでした。
少し時間を空けると実行できるようになります。


オプション設定


RC_REJECT_TYPES
無視するものを以下のフラグのビット和( | )で指定できます。
RC_REJECT_AGENTS アバターを無視します
RC_REJECT_PHYSICAL 物理プリムを無視します
RC_REJECT_NONPHYSICAL 通常プリムを無視します
RC_REJECT_LAND 地面を無視します

RC_DATA_FLAGS
取得するデーターにいくつかの追加、変更を行えます。以下のフラグのビット和( | )で指定できます。
RC_GET_NORMAL 検出地点(プリムの表面で起こります)の法線ベクトル(面に垂直な単位ベクトル)を追加して返します。
RC_GET_ROOT_KEY 指定すると検出したプリムのリンクセットのルートプリムのUUIDを返します。デフォルトでは検出したプリムそのもののUUIDが返ります。
RC_GET_LINK_NUM 指定するとそのリンクセットのプリム数を追加して返します。

戻るlistの値は、

指定なし
[uuid , 検出されたプリム表面のリージョン座標 , ・・・・・・,検出した数]

RC_GET_LINK_NUMを指定
[uuid , リンク数 , 検出されたプリム表面のリージョン座標 , ・・・・・・,検出した数]

RC_GET_NORMALを指定
[uuid , 検出されたプリム表面のリージョン座標 , 法線ベクトル , ・・・・・・,検出した数]

RC_GET_LINK_NUMとRC_GET_NORMALを指定
[uuid , リンク数 , 検出されたプリム表面のリージョン座標 , 法線ベクトル , ・・・・・・,検出した数]

と並びます。検出したオブジェクトが複数の場合の、飛び石リストの並び順はstartからendへ向かう順になっているようです。(※地面にあたるとNULL_KEYが入るのでしょうか。また、地面の中からスタートするとNULL_KEYは入らずのようです。同様にプリムの中からスタートするとそのプリムは無視するのかもしれません。)


RC_MAX_HITS
ヒットさせる最大数を指定します。デフォルトは1で、出来るだけ小さい数が当然望ましいらしいです。


RC_DETECT_PHANTOM
TRUEを指定するとファントムとVolume Detectプリムを検出の対象にするようになります。



という感じみたいです。
これ、斜面でも斜面に沿って足を下ろす、ちゃんと歩行して見える乗り物が作れますね。。(笑
あんまり激しく使うとすぐエラー-3が返ってきますが・・・  


Posted by RBK Drachnyd(しお) at 20:59Comments(6)忘れない為に。。