FANDOM


Scripters_cafeログ


08/04/05 編集

Second Lifeで様々なオブジェクトの識別に使用されているUUIDですが、そのUUIDがアバターのものなのか、通常オブジェクトのものなのかといった区別をUUID自身が保有しているのか?といった話。


ごく一部のLindenアバターには手動で割り当てたようなUUIDが振られていますが、その他のUUID、例えばテクスチャに割り当てられているUUIDには特定の値の範囲内であったり、特定のフラグがONになっているというような法則は一見見受けられません。

オフィスアワー参加者のみなさんの見解も、UUIDは単純に共通の生成ロジックにて生成しており、分類などの情報は含まれていないだろうという感じでした。


ただし、LSL関数にはUUID(キー)を引数としているものがいくつかあり、このような関数ではアバターのUUIDを渡した場合とオブジェクトのUUIDを渡した場合とで動作が異なるものがほとんどです。

例えば「llGetAgentInfo」にアバターのUUIDではなくてオブジェクトのUUIDを渡した場合、内部でどういう処理が行われているのかは不明ですが、現時点では常に0が返ってきます。

もしUUIDに分類の情報が含まれているとすれば、データベースへの問い合わせを行うことなく、「アバターのキーではないから0を返す」という処理を行うことができます。

しかし、UUIDに分類の情報が含まれていないので、渡されたUUIDに対してデータベース(llGetAgentInfoの場合はおそらくリージョンのシミュレータ)に問い合わせて対象アバターの情報を取得しようとします。オブジェクトのUUIDを渡した場合は当然対象のアバターが存在しないので結果を取得できず、0を返すのだと想像できますが、明らかに無駄が多そうです。


※というyouさんの意見です。

広告ブロッカーが検出されました。


広告収入で運営されている無料サイトWikiaでは、このたび広告ブロッカーをご利用の方向けの変更が加わりました。

広告ブロッカーが改変されている場合、Wikiaにアクセスしていただくことができなくなっています。カスタム広告ブロッカーを解除してご利用ください。

FANDOMでも見てみる

おまかせWiki