■今でもビュワーによって身長の値が違っている
LSLのスクリプトから見る場合llGetAgentSizeの関数の返却値のZ軸方向の大きさを元にしてアバターの身長を得るのですが、このAgentSizeで得られる値がビュワー上での「見た目の大きさ」と異なるために、より正確に表現する目的で一部のTPVでは数値に補正をしています。
(各ビュワーのソースコードはこの記事時点での最新版を参照しました)
①補正値が無くAgentSizeそのままの値を身長とするもの
・Linden lab - official viewer
・Restrained Love Viewer
・Black Dragon viewer
・Alchemy viewer
・Catznip viewer
・Kokua viewer
②AgentSizeに0.17mを加算した値を身長とするもの
・Cool VL viewer
よく見たらこのビュワーだけ靴の分の高さを減算してますね。
・Singularity viewer
③AgentSizeに0.195mを加算した値を身長とするもの
・FireStorm viewer
このように公式ビュワーに準ずる仕様のビュワーが多数。(そもそもビュワーの種類自体が減ったというのもあるが・・・)
実際、llGetAgentSizeからの返却値を実体としてアバターと比較すると、この画像のようになります。右の水色がllGetAgentSizeそのままのもの。左の緑色がllGetAgentSizeのZ軸に0.17mを加算した箱のプリムです。(なお、横幅と奥行きのサイズ=XとY軸の値はどんなスリムな人でも、肥満なアバターでも固定値なので、こんなおデブじゃなーい、と嘆かないように)
この状態だとプリムの位置をアバターの中心位置に高さを合わせているため足下から離れて見えていますが、それでも明らかにアバター本体より水色(右側)は小さいという事実が見て取れます。
見た目の正確さを図るため
足下の床位置で
アバターと箱プリムの底面の
高さを合わせてみます
さらに比較用にllGetAgentSizeのZ軸に0.195m (FireStorm仕様)を後ろに追加してます(紫色)
どうです?公式仕様とはいえ、見た目のアバターの背丈とllGetAgentSizeでの背丈が、かなり違っていることが分かります。そりゃ17cm~19cmも違ったら大きな差だよねってことで、プリムの見た目に合わせて正確に5フィート3インチのアバターを作っても、5フィート以下の子供じゃんって事になる訳なのです。
このことから精密にリアルサイズで家具や建物を作っても「アバターの大きさに合わない」という結果になってしまうのは、この為ではないでしょうかねぇ。
もう一つ比較用の追加でllGetAgentSizeのZ軸に1.125を乗算した物を追加(橙色) このZ軸に固定値を加算するのではなく係数で乗算するという考えは元のアバターの身長に影響を受けず、見た目と近い値になるということで先人が考えたものなのですが、残念ながらどこにも(viewer系では)採用例が無いという状況にあります。 (元ネタ → LSL WIKI - llGetAgentSize)
参考までに各色の箱プリムが示している数値としての高さは
水色 → 1.41892m (AgentSize.Zそのまま)
緑色 → 1.58892m (AgentSize.Z + 0.17)
橙色 → 1.59628m (AgentSize.Z * 1.125)
紫色 → 1.61392m (AgentSize.Z + 0.195)
注:アバターのサイズ値は±3cmの誤差を生じる場合があるので常に厳密ではありません → 精度が3cm毎らしいです
■10年経っても変わってない LOL
というわけで周りの物がMESH化で、より精密に、より正確に再現できてもアバターは昔のままであるという、ちょっとした落とし穴じゃないかな。新人泣かせというか、通過儀礼なのかもww 多くの人が利用しているFireStorm viewerですが、FireStormのそれは今では独自仕様の1つになってしまっているという事実なのでした。しかしながらアバターの身長の扱いが異なるビュワーが存在すること、ましてや実際の見た目と数値をプリムで実体化したものでは違っていることを、もはや慣例として受け入れてはいても、新しいSecondLife住民は知らない事なのかも知れませんね。そもそもがアバターのBounding Boxの大きさからX,Y,Zのスケールとして返却しているだけという仕組みだから「アバターの見た目と数値を実体化した物が等しくないことは当然である」というか、そういう仕様だという認識が浸透すればいいのですが、そのためには公式のビュワーから対処して欲しいですね。。。:p
■身長200cm越が多い理由 (2019-10-06 追記)
左から
素の状態
+0.17m
+0.195m
×1.125
また、Second Lifeでのアバターの身長など見た目の調整(シェイプの調整)は、中央値を50とした値から増減した結果から最終的な見た目が生成されます。
左図では身長=50指定の男性体型で靴無し状態にて身長=1.93mとなっています。(CoolVLViewerで表示(身長+0.17m仕様)最終的な身長は各部の値により増減します)左図では身長=50指定の女性体型で靴無し状態にて身長=1.84mとなっています。(CoolVLViewerで表示(身長+0.17m仕様)最終的な身長は各部の値により増減します)
このように身長=中央値とした状態から、その付近の身長が多いのでしょう。
ライブラリーにある初期アバターの身長を数値で190cmにすると
見た目での身長は214cm程になることから
この固定数値で係数を乗算する方法は
一見すると良さそうに見えますが
ある範囲を超える場合に正しく算出しなくなるので
固定数値(0.17または0.195)を加算する方法が正解です。
このことについて検証した記事は次の3つです。
・Compare Realistic looking prim height detector1
・Compare Realistic looking prim height detector2
・Compare Realistic looking prim height detector3
3つの記事から結論だけ示すと
+0.17mというのは、この記事でも画像で示すとおり見た目の実像の身長です。
+0.195mというのは、0.17 + 0.025の値であり、0.025というのは実際にはアバターは物体表面から僅かに浮いて描画されるので(その高さが0.025) その分を加算して見た目の身長とした値です。
+0.17mというのは、この記事でも画像で示すとおり見た目の実像の身長です。
+0.195mというのは、0.17 + 0.025の値であり、0.025というのは実際にはアバターは物体表面から僅かに浮いて描画されるので(その高さが0.025) その分を加算して見た目の身長とした値です。
まぁ世の中、こんな10等身を遙かに超える
キャラも居るのですから
表現の自由ですが・・・ LOL
この問題唱えてる方にたどり着きました。
返信削除そうですよね。リアルサイズで建築やインテリアの設計にSL使ってるんですが、
アバターをリアルサイズにしてます。
ワールド遊びに行く時は2割マシの身長で出かけます。さもないとお尻の大きさや足サイズなど、プロポーション調整に限界ありますね。
ノーマルアバターだと調整できる範囲に限界がありますが
返信削除色々なMESHアバターにすることで更なる変化を楽しめますよ。
MESHアバターの作り手さんによっては乳マシだったり尻マシだったり
米国人好みのような、どちらもマシマシだったりと製品毎に味付けが異なるので
各自の好みに合うボディーを選択するのも1つの楽しみになっています。
そのように個性がある反面、服のアイテムが各々での専用品となってしまうという状況になっています。