- LLSD 形式のメッシュデータ
- llmeshデータ = LLSD ヘッダ(LLSDバイナリ) + deflateデータ
llsd ヘッダ †[edit]
- LLSD 形式のバイナリ
- ヘッダサンプル
- 以下のサンプルは llmesh のヘッダを JunkBox_Lib で XMLに変換したもの.
<llsd>
<map>
<key>high_lod</key>
<map>
<key>offset</key>
<integer>38760</integer>
<key>size</key>
<integer>82221</integer>
</map>
<key>low_lod</key>
<map>
<key>offset</key>
<integer>5356</integer>
<key>size</key>
<integer>7734</integer>
</map>
<key>lowest_lod</key>
<map>
<key>offset</key>
<integer>1210</integer>
<key>size</key>
<integer>4146</integer>
</map>
<key>medium_lod</key>
<map>
<key>offset</key>
<integer>13090</integer>
<key>size</key>
<integer>25670</integer>
</map>
<key>physics_convex</key>
<map>
<key>offset</key>
<integer>805</integer>
<key>size</key>
<integer>405</integer>
</map>
<key>skin</key>
<map>
<key>offset</key>
<integer>0</integer>
<key>size</key>
<integer>805</integer>
</map>
</map>
</llsd>
- deflate で圧縮された LLSD バイナリ
- 以下のサンプルは llmesh のボディを JunkBox_Lib で XMLに変換したもの.
- <binary> の内容は長いので,省略している.
- 座標などのバイナリデータは 符号なし16bit整数を Min,Max 間で正規化したもの.法線ベクトルは -1.0~1.0 間で正規化.
<llsd>
<array>
<map>
<key>Normal</key>
<binary>QF2Il+v48r68nh...</binary>
<key>Position</key>
<binary>4KLPjv/prrfPjp...</binary>
<key>PositionDomain</key>
<map>
<key>Max</key>
<array>
<real>0.500000</real>
<real>0.500000</real>
<real>0.500000</real>
</array>
<key>Min</key>
<array>
<real>-0.500000</real>
<real>-0.500000</real>
<real>-0.500000</real>
</array>
</map>
<key>TexCoord0</key>
<binary>/Fq5goNaFnY/a8...</binary>
<key>TexCoord0Domain</key>
<map>
<key>Max</key>
<array>
<real>0.983160</real>
<real>0.987910</real>
</array>
<key>Min</key>
<array>
<real>0.003640</real>
<real>0.009650</real>
</array>
</map>
<key>TriangleList</key>
<binary>AAABAAIAAgADA...</binary>
<key>Weights</key>
<binary>Bv///wb///8G/...</binary>
</map>
<map>
<key>Normal</key>
<binary>NJn/f4ECe2wSk...</binary>
<key>Position</key>
<binary>tIG7flu4QnWYh...</binary>
<key>PositionDomain</key>
<map>
<key>Max</key>
<array>
<real>0.500000</real>
<real>0.500000</real>
<real>0.500000</real>
</array>
<key>Min</key>
<array>
<real>-0.500000</real>
<real>-0.500000</real>
<real>-0.500000</real>
</array>
</map>
<key>TexCoord0</key>
<binary>3+CJrOLaOJnN...</binary>
<key>TexCoord0Domain</key>
<map>
<key>Max</key>
<array>
<real>0.993510</real>
<real>0.985410</real>
</array>
<key>Min</key>
<array>
<real>0.007760</real>
<real>0.006590</real>
</array>
</map>
<key>TriangleList</key>
<binary>AAABAAIAAwA...</binary>
<key>Weights</key>
<binary>Bv///wb///8...</binary>
</map>
<map>
<key>Normal</key>
<binary>HO2LnwK78MJ...</binary>
<key>Position</key>
<binary>RNUAiErWI88...</binary>
<key>PositionDomain</key>
<map>
<key>Max</key>
<array>
<real>0.500000</real>
<real>0.500000</real>
<real>0.500000</real>
</array>
<key>Min</key>
<array>
<real>-0.500000</real>
<real>-0.500000</real>
<real>-0.500000</real>
</array>
</map>
<key>TexCoord0</key>
<binary>FB1RibIfWZZ...</binary>
<key>TexCoord0Domain</key>
<map>
<key>Max</key>
<array>
<real>0.689960</real>
<real>0.993080</real>
</array>
<key>Min</key>
<array>
<real>0.001510</real>
<real>0.015280</real>
</array>
</map>
<key>TriangleList</key>
<binary>AAABAAIAA...</binary>
<key>Weights</key>
<binary>Bv///wb/8...</binary>
</map>
<map>
<key>Normal</key>
<binary>Nn5CoNn7k...</binary>
<key>Position</key>
<binary>U7WMgE+uV...</binary>
<key>PositionDomain</key>
<map>
<key>Max</key>
<array>
<real>0.500000</real>
<real>0.500000</real>
<real>0.500000</real>
</array>
<key>Min</key>
<array>
<real>-0.500000</real>
<real>-0.500000</real>
<real>-0.500000</real>
</array>
</map>
<key>TexCoord0</key>
<binary>rwRMHrYDWB6...</binary>
<key>TexCoord0Domain</key>
<map>
<key>Max</key>
<array>
<real>0.998020</real>
<real>0.999050</real>
</array>
<key>Min</key>
<array>
<real>0.007630</real>
<real>0.000000</real>
</array>
</map>
<key>TriangleList</key>
<binary>AAABAAIAgA...</binary>
<key>Weights</key>
<binary>BP///wT///...</binary>
</map>
<map>
<key>Normal</key>
<binary>zHuw+jikCI...</binary>
<key>Position</key>
<binary>7qe3lX0Dkr...</binary>
<key>PositionDomain</key>
<map>
<key>Max</key>
<array>
<real>0.500000</real>
<real>0.500000</real>
<real>0.500000</real>
</array>
<key>Min</key>
<array>
<real>-0.500000</real>
<real>-0.500000</real>
<real>-0.500000</real>
</array>
</map>
<key>TexCoord0</key>
<binary>sNIaTrXZyF...</binary>
<key>TexCoord0Domain</key>
<map>
<key>Max</key>
<array>
<real>0.993160</real>
<real>1.000000</real>
</array>
<key>Min</key>
<array>
<real>0.000000</real>
<real>0.005020</real>
</array>
</map>
<key>TriangleList</key>
<binary>AAABAAIAAwAE...</binary>
<key>Weights</key>
<binary>EP9/D/9//xD/...</binary>
</map>
<map>
<key>Normal</key>
<binary>CPN2nTpQwO3/...</binary>
<key>Position</key>
<binary>2r+cjsp4vcP/...</binary>
<key>PositionDomain</key>
<map>
<key>Max</key>
<array>
<real>0.500000</real>
<real>0.500000</real>
<real>0.500000</real>
</array>
<key>Min</key>
<array>
<real>-0.500000</real>
<real>-0.500000</real>
<real>-0.500000</real>
</array>
</map>
<key>TexCoord0</key>
<binary>E6TCIeOjtCg...</binary>
<key>TexCoord0Domain</key>
<map>
<key>Max</key>
<array>
<real>0.991700</real>
<real>0.995860</real>
</array>
<key>Min</key>
<array>
<real>0.007720</real>
<real>0.010140</real>
</array>
</map>
<key>TriangleList</key>
<binary>AAABAAIAADAA...</binary>
<key>Weights</key>
<binary>DP///wz///8M...</binary>
</map>
</array>
</llsd>