Development for Collada[edit]
- <.... /> は省略表示
- // 以降はコメント
<?xml version="1.0" encoding="utf-8"?>
<COLLADA xmlns="http://www.collada.org/2005/11/COLLADASchema" version="1.4.1">
<asset />
<library_images />
<library_effects />
<library_materials />
<library_geometries />
<library_controllers />
<library_effects />
<library_physics_models />
<library_physics_scenes />
<library_visual_scenes />
<scene />
</COLLADA>
library_geometries[edit]
<library_geometries>
<geometry id="Leg-mesh" name="Leg">
<mesh>
<source id="Leg-mesh-positions"> // POSITION
<float_array id="Leg-mesh-positions-array" count="3783">
0.2856968 -0.05897897 0.08308792 .......
</float_array>
<technique_common />
</source>
<source id="Leg-mesh-normalsp"> // NORMAL
.....
</source>
<source id="Leg-mesh-map"> // UVMAP
.....
</source>
<source id="Leg-mesh-colors-colorSet0" name="colorSet0"> // COLOR
.....
</source>
<vertices>
<input semantic="POSITION" source="#Leg-mesh-positions"/>
</vertices>
<polylist material="body-material" count="2322"> // 2322 は <vcount> の要素数
<input semantic="VERTEX" source="#Leg-mesh-vertices" offset="0"/>
<input semantic="NORMAL" source="#Leg-mesh-normals" offset="1"/>
<input semantic="TEXCOORD" source="#Leg-mesh-map" offset="2" set="0"/>
<input semantic="COLOR" source="#Leg-mesh-colors-colorSet0" offset="3" set="0"/>
<vcount> // 1頂点の属性の数の並び
3 3 3 3 3 ....
</vcount>
<p> // <accessor> に対するインデックス番号
1 0 0 0 71 1 1 1 67 2 2 2 67 2 3 3 31 3 4 4 0 4 5 5 7 5 6 6 31 6 7 7 25 7 8 8 9 8 .....
..... 827 1211 6963 6963 776 1117 6964 6964 777 1118 6965 6965
// VERTEX (1, 71, 67), (67, 31, 0), (7, 31, 25), ......, (827, 776, 777)
// NORMAL (0, 1, 2), ( 2, 3, 4), (5, 6, 7), ......, (1211, 1117, 1118)
// TEXCOORD (0, 1, 2), ( 3, 4, 5), (6, 7, 8), ......, (6938, 6964, 6965)
// COLOR (0, 1, 2), ( 3, 4, 5), (6, 7, 8), ......, (6938, 6964, 6965)
// (A, B, C) は一個のポリゴンに相当.
// VERTEX は A, B, C の各インデックス番号について,<source><float_array> のインデクス番号x3 の場所から 3個のデータ(X座標, Y座標, Z座標)を取得する.
// NORMAL は A, B, C の各インデックス番号について,<source><float_array> のインデクス番号x3 の場所から 3個のデータ(X成分, Y成分, Z成分)を取得する.
// TEXCOORD は A, B, C の各インデックス番号について,<source><float_array> のインデクス番号x2 の場所から 2個のデータ(U, V)を取得する.
// COLOR は A, B, C の各インデックス番号について,<source><float_array> のインデクス番号x3 の場所から 2個のデータ(R, G, B)を取得する.
</p>
</polylist>
</mesh>
</geometry>
<geometry /> // 繰り返し
</library_geometries>
source (POSITION)[edit]
<source id="Leg-mesh-positions"> // POSITION
<float_array id="Leg-mesh-positions-array" count="3783">
0.2856968 -0.05897897 0.08308792 .......
</float_array>
<technique_common>
<accessor source="#Leg-mesh-positions-array" count="1261" stride="3"> // 1261 = 3783/3
<param name="X" type="float"/>
<param name="Y" type="float"/>
<param name="Z" type="float"/>
</accessor>
</technique_common>
</source>
source (TEXCOORD)[edit]
<source id="Leg-mesh-map"> // UVMAP
<float_array id="Leg-mesh-map-array" count="13932">
0.008199989 0.26107 0.01946997 0.2534 .....
</float_array>
<technique_common>
<accessor source="#Leg-mesh-map-array" count="6966" stride="2"> // 6966 = 13932/2
<param name="S" type="float"/>
<param name="T" type="float"/>
</accessor>
</technique_common>
</source>
source (COLOR)[edit]
<source id="Leg-mesh-colors-colorSet0" name="colorSet0"> // COLOR
<float_array id="Leg-mesh-colors-colorSet0-array" count="20898">
1 1 1 1 .....
</float_array>
<technique_common>
<accessor source="#Leg-mesh-colors-colorSet0-array" count="6966" stride="3"> // 6966 = 20898/3
<param name="R" type="float"/>
<param name="G" type="float"/>
<param name="B" type="float"/>
</accessor>
</technique_common>
</source>