llRezObject
llRezObject(string inventory, vector pos, vector vel, rotation rot, integer param)
引数inventoryで指定した名前のオブジェクトをrezする。
オブジェクトはコンテンツ内になければならない。
コンテンツ内に無いオブジェクトをrezしようとすると、
オブジェクトはコンテンツ内になければならない。
コンテンツ内に無いオブジェクトをrezしようとすると、
Couldn't find object XXXX
というエラーが発生する。
また、rez不可能なアイテム(テクスチャとかサウンドなど)を指定すると、
また、rez不可能なアイテム(テクスチャとかサウンドなど)を指定すると、
Unable to create requested object. Object is missing from database.
と叱られるんだそうだ(未確認)。
rezする位置は引数posで指定するが、posはワールド座標なので注意すること。
呼び出し元オブジェクトからの相対距離ではない。
また、呼び出し元から10m以上離れた位置にはrezすることができない。
10m以上離れた位置にrezしようとすると、関数は何の警告もなく失敗する。
引数posが10m以上離れているかどうかを判定するには、
呼び出し元オブジェクトからの相対距離ではない。
また、呼び出し元から10m以上離れた位置にはrezすることができない。
10m以上離れた位置にrezしようとすると、関数は何の警告もなく失敗する。
引数posが10m以上離れているかどうかを判定するには、
if (llVecDist(pos, llGetPos()) < 10.0){ // 10m以内 }
引数velはrezするオブジェクトの速度である。
rezするオブジェクトが物理オブジェクトの場合のみ有効。
物理オブジェクトでなければ無視される。
速度の最大値は250(llVecMag(vel) = 250)だそうだ。
rezするオブジェクトが物理オブジェクトの場合のみ有効。
物理オブジェクトでなければ無視される。
速度の最大値は250(llVecMag(vel) = 250)だそうだ。
引数rotはrezするオブジェクトの回転である。
引数paramはrezするオブジェクトに引き渡すパラメータとなる。
オブジェクトがrezされたとき、rezされたオブジェクトのスクリプトではon_rez?イベントが発生するが、on_rezに渡される引数がparamである。
また、この値はrezされたオブジェクトのスクリプトにてllGetStartParameter関数を使って取得することもできる。
オブジェクトがrezされたとき、rezされたオブジェクトのスクリプトではon_rez?イベントが発生するが、on_rezに渡される引数がparamである。
また、この値はrezされたオブジェクトのスクリプトにてllGetStartParameter関数を使って取得することもできる。
この関数はrezするオブジェクトのmass(重さ)と引数vel(速度)に応じて処理時間が変わるらしい。
JeffreyGomezの実験(公式フォーラム)によると、ディレイ時間は以下の式で求められる。
JeffreyGomezの実験(公式フォーラム)によると、ディレイ時間は以下の式で求められる。
delay = llGetMass() * llVecMag(vel) / 10
rezするオブジェクトはコピー可にしておくべきである。
さもなければ一度rezした後、コンテンツ内から消えてしまうので、二度とrezできない。
特に「次のオーナーがコピー可」にチェックを忘れた場合、クリエイターがテストしている時は問題なく動作していても、誰かに渡した時点で1発限りのrezになってしまう。
また、コピー不可なオブジェクトはアタッチメントからrezすることができない。
さもなければ一度rezした後、コンテンツ内から消えてしまうので、二度とrezできない。
特に「次のオーナーがコピー可」にチェックを忘れた場合、クリエイターがテストしている時は問題なく動作していても、誰かに渡した時点で1発限りのrezになってしまう。
また、コピー不可なオブジェクトはアタッチメントからrezすることができない。
また、大量にrezするようなオブジェクトの場合、「一時オブジェクト」にしておくべきである。
うっかりこれを忘れると、最悪の場合スパム扱いされてしまう。
うっかりこれを忘れると、最悪の場合スパム扱いされてしまう。
オブジェクトのrezを行うと、rezを行った側のスクリプトではobject_rez?イベントが起こる。
このイベントではrezしたオブジェクトのUUIDを取得可能である。
このイベントではrezしたオブジェクトのUUIDを取得可能である。
rezのサンプルは初級スクリプト解説記事を参照。