Fandom

Second Life in Japan

スクリプターズカフェ/ログ/アバターが同一SIMにいるかどうかのチェック

483このwikiの
ページ数
新しいページをつくる
トーク0 シェアする

Scripters_cafeログ


08/10/25 編集

sit ballでアバターが立ち上がった際のアニメーション停止処理を行うかどうかの判定の話の際に、llKey2Nameを使うよりもllGetObjectMassを使った方が戻り値がfloatだから判定が高速に行える、と以前のスクリプターズカフェのオフィスアワーで話したことがありました。


→iNNX ブログ 2/23オフィスアワーの報告


しかし、内部処理を考慮すると、llGetObjectMassはアバターのシェイプなどを考慮して何らかの内部演算を行っていると推測できるのと比較し、llKey2Nameの場合はSIMサーバーがキャッシュしているUUID←→アバター名のマップから文字列を返すだけなので、戻り値の比較演算だけでなく内部処理も考慮に入れると、llKey2Nameの方がトータルの負荷は低そうです。

このことは、rpgstats.com のページにも多少注意書きがありました。

→rpstats.com LlGetObjectMass

Returns 0.0 if id is not in the sim. Because of this, llGetObjectMass should 
not be used to determine if a key is in the sim, as it is possible to have 
extremely low-mass prims. Use llKey2Name instead.
訳)idがSIMにない場合は0.0が返ります。
プリムが極端に小さな重量の場合もあるため、指定したkeyがSIMにあるかどうかを
llGetObjectMassで判断すべきではありません。


★内部処理の負荷の考慮とは違いますが、推奨しないという意図ではあるようです。


また、スクリプトの実行環境がMonoになったことで、文字列処理も含めてスクリプトそのものの実行速度はかなり速くなっています。 この点も考慮すると、(戻り値が文字列型であることはほとんど気にせずに)定番であるllKey2Nameを使ってSIM内にアバターがいるかどうかを判定すればよさそうです。


【関連リンク】



このページのTinyURL:http://tinyurl.com/SC-agent-in-sim

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


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

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

Fandomでも見てみる

おまかせWiki