skin_and_morph.dae 35 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <COLLADA xmlns="http://www.collada.org/2005/11/COLLADASchema" version="1.4.1">
  3. <asset>
  4. <contributor>
  5. <author>gcorson</author>
  6. <authoring_tool>Maya8.5 | ColladaMaya v3.03</authoring_tool>
  7. <comments>Collada Maya Export Options:
  8. bakeTransforms=0;exportPolygonMeshes=1;bakeLighting=0;isSampling=0;
  9. curveConstrainSampling=0;removeStaticCurves=1;exportCameraAsLookat=0;
  10. exportLights=1;exportCameras=1;exportJointsAndSkin=1;
  11. exportAnimations=1;exportTriangles=0;exportInvisibleNodes=0;
  12. exportNormals=1;exportTexCoords=1;
  13. exportVertexColors=1;exportVertexColorsAnimation=0;exportTangents=0;
  14. exportTexTangents=0;exportConstraints=1;exportPhysics=1;exportXRefs=1;
  15. dereferenceXRefs=0;cameraXFov=0;cameraYFov=1</comments>
  16. <source_data>
  17. file:///C:/Documents%20and%20Settings/gcorson/Desktop/Crystal%20Content/AmandaCrush/untitled
  18. </source_data>
  19. </contributor>
  20. <created>2007-04-04T23:08:51Z</created>
  21. <modified>2007-06-21T18:50:45Z</modified>
  22. <unit meter="0.01" name="centimeter"/>
  23. <up_axis>Y_UP</up_axis>
  24. </asset>
  25. <library_materials>
  26. <material id="lambert1" name="lambert2">
  27. <instance_effect url="#lambert1-fx"/>
  28. </material>
  29. </library_materials>
  30. <library_effects>
  31. <effect id="lambert1-fx">
  32. <profile_COMMON>
  33. <technique sid="common">
  34. <lambert>
  35. <emission>
  36. <color>0 0 0 1</color>
  37. </emission>
  38. <ambient>
  39. <color>0 0 0 1</color>
  40. </ambient>
  41. <diffuse>
  42. <color>0.9 0.5 0.5 1</color>
  43. </diffuse>
  44. <transparent opaque="RGB_ZERO">
  45. <color>0 0 0 1</color>
  46. </transparent>
  47. <transparency>
  48. <float>1</float>
  49. </transparency>
  50. <index_of_refraction>
  51. <float>1</float>
  52. </index_of_refraction>
  53. </lambert>
  54. </technique>
  55. </profile_COMMON>
  56. </effect>
  57. </library_effects>
  58. <library_geometries>
  59. <!--
  60. *******************************************************************************************
  61. This is a pretty standard mesh for the same as used in the skinning example. It's a 6
  62. sided cylinder divided into 6 sections with a total of 42 vertices. It is used as the
  63. base mesh (source) in the morph controller.
  64. *******************************************************************************************
  65. -->
  66. <geometry id="pCylinderShape1" name="pCylinderShape1">
  67. <mesh>
  68. <source id="pCylinderShape1-positions" name="position">
  69. <float_array id="pCylinderShape1-positions-array" count="126">20 -90 -34.641
  70. -20 -90 -34.641 -40 -90 -0.000005 -20 -90 34.641 20 -90 34.641 40 -90 0 20 -60 -34.641
  71. -20 -60 -34.641 -40 -60 -0.000005 -20 -60 34.641 20 -60 34.641 40 -60 0 20 -30 -34.641
  72. -20 -30 -34.641 -40 -30 -0.000005 -20 -30 34.641 20 -30 34.641 40 -30 0 20 0 -34.641
  73. -20 0 -34.641 -40 0 -0.000005 -20 0 34.641 20 0 34.641 40 0 0 20 30 -34.641 -20 30 -34.641
  74. -40 30 -0.000005 -20 30 34.641 20 30 34.641 40 30 0 20 60 -34.641 -20 60 -34.641
  75. -40 60 -0.000005 -20 60 34.641 20 60 34.641 40 60 0 20 90 -34.641 -20 90 -34.641
  76. -40 90 -0.000005 -20 90 34.641 20 90 34.641 40 90 0</float_array>
  77. <technique_common>
  78. <accessor source="#pCylinderShape1-positions-array" count="42" stride="3">
  79. <param name="X" type="float"/>
  80. <param name="Y" type="float"/>
  81. <param name="Z" type="float"/>
  82. </accessor>
  83. </technique_common>
  84. </source>
  85. <source id="pCylinderShape1-normals" name="normal">
  86. <float_array id="pCylinderShape1-normals-array" count="468">0 0 -1 0 0 -1
  87. 0 0 -1 0 0 -1 -0.866025 0 -0.5 -0.866025 0 -0.5 -0.866025 0 -0.5 -0.866025
  88. 0 -0.5 -0.866026 0 0.5 -0.866026 0 0.5 -0.866026 0 0.5 -0.866026 0 0.5 0 0 1 0 0 1
  89. 0 0 1 0 0 1 0.866026 0 0.5 0.866026 0 0.5 0.866025 0 0.5 0.866025 0 0.5 0.866026
  90. 0 -0.5 0.866026 0 -0.5 0.866026 0 -0.5 0.866026 0 -0.5 0 0 -1 0 0 -1 0 0 -1 0
  91. 0 -1 -0.866025 0 -0.5 -0.866025 0 -0.5 -0.866025 0 -0.5 -0.866025 0 -0.5 -0.866026
  92. 0 0.5 -0.866026 0 0.5 -0.866026 0 0.5 -0.866026 0 0.5 0 0 1 0 0 1 0 0 1 0 0 1 0.866025
  93. 0 0.5 0.866025 0 0.5 0.866025 0 0.5 0.866025 0 0.5 0.866026 0 -0.5 0.866026
  94. 0 -0.5 0.866026 0 -0.5 0.866026 0 -0.5 0 0 -1 0 0 -1 0 0 -1 0 0 -1 -0.866025
  95. 0 -0.5 -0.866025 0 -0.5 -0.866025 0 -0.5 -0.866025 0 -0.5 -0.866026 0 0.5 -0.866026
  96. 0 0.5 -0.866026 0 0.5 -0.866026 0 0.5 0 0 1 0 0 1 0 0 1 0 0 1 0.866025 0 0.5 0.866025
  97. 0 0.5 0.866025 0 0.5 0.866025 0 0.5 0.866026 0 -0.5 0.866026 0 -0.5 0.866026
  98. 0 -0.5 0.866026 0 -0.5 0 0 -1 0 0 -1 0 0 -1 0 0 -1 -0.866025 0 -0.5 -0.866025
  99. 0 -0.5 -0.866025 0 -0.5 -0.866025 0 -0.5 -0.866026 0 0.5 -0.866026 0 0.5 -0.866026
  100. 0 0.5 -0.866026 0 0.5 0 0 1 0 0 1 0 0 1 0 0 1 0.866025 0 0.5 0.866025 0 0.5 0.866025
  101. 0 0.5 0.866025 0 0.5 0.866026 0 -0.5 0.866026 0 -0.5 0.866026 0 -0.5 0.866026
  102. 0 -0.5 0 0 -1 0 0 -1 0 0 -1 0 0 -1 -0.866025 0 -0.5 -0.866025 0 -0.5 -0.866025
  103. 0 -0.5 -0.866025 0 -0.5 -0.866026 0 0.5 -0.866026 0 0.5 -0.866026 0 0.5 -0.866026
  104. 0 0.5 0 0 1 0 0 1 0 0 1 0 0 1 0.866025 0 0.5 0.866025 0 0.5 0.866025 0 0.5 0.866025
  105. 0 0.5 0.866026 0 -0.5 0.866026 0 -0.5 0.866026 0 -0.5 0.866026 0 -0.5 0 0 -1 0 0 -1
  106. 0 0 -1 0 0 -1 -0.866025 0 -0.5 -0.866025 0 -0.5 -0.866025 0 -0.5 -0.866025
  107. 0 -0.5 -0.866026 0 0.5 -0.866026 0 0.5 -0.866026 0 0.5 -0.866026 0 0.5 0
  108. 0 1 0 0 1 0 0 1 0 0 1 0.866025 0 0.5 0.866025 0 0.5 0.866026 0 0.5 0.866026
  109. 0 0.5 0.866026 0 -0.5 0.866026 0 -0.5 0.866026 0 -0.5 0.866026 0 -0.5 0
  110. -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0</float_array>
  111. <technique_common>
  112. <accessor source="#pCylinderShape1-normals-array" count="156" stride="3">
  113. <param name="X" type="float"/>
  114. <param name="Y" type="float"/>
  115. <param name="Z" type="float"/>
  116. </accessor>
  117. </technique_common>
  118. </source>
  119. <source id="pCylinderShape1-map1" name="map1">
  120. <float_array id="pCylinderShape1-map1-array" count="122">0.578125 0.020933
  121. 0.421875 0.020933 0.34375 0.15625 0.421875 0.291566 0.578125 0.291566 0.65625 0.15625
  122. 0.375 0.3125 0.416667 0.3125 0.458333 0.3125 0.5 0.3125 0.541667 0.3125 0.583333
  123. 0.3125 0.625 0.3125 0.375 0.375157 0.416667 0.375157 0.458333 0.375157 0.5 0.375157
  124. 0.541667 0.375157 0.583333 0.375157 0.625 0.375157 0.375 0.437813 0.416667 0.437813
  125. 0.458333 0.437813 0.5 0.437813 0.541667 0.437813 0.583333 0.437813 0.625 0.437813
  126. 0.375 0.50047 0.416667 0.50047 0.458333 0.50047 0.5 0.50047 0.541667 0.50047 0.583333
  127. 0.50047 0.625 0.50047 0.375 0.563127 0.416667 0.563127 0.458333 0.563127 0.5 0.563127
  128. 0.541667 0.563127 0.583333 0.563127 0.625 0.563127 0.375 0.625783 0.416667 0.625783
  129. 0.458333 0.625783 0.5 0.625783 0.541667 0.625783 0.583333 0.625783 0.625 0.625783
  130. 0.375 0.68844 0.416667 0.68844 0.458333 0.68844 0.5 0.68844 0.541667 0.68844 0.583333
  131. 0.68844 0.625 0.68844 0.578125 0.708434 0.421875 0.708434 0.34375 0.84375 0.421875
  132. 0.979066 0.578125 0.979066 0.65625 0.84375</float_array>
  133. <technique_common>
  134. <accessor source="#pCylinderShape1-map1-array" count="61" stride="2">
  135. <param name="S" type="float"/>
  136. <param name="T" type="float"/>
  137. </accessor>
  138. </technique_common>
  139. </source>
  140. <vertices id="pCylinderShape1-vertices">
  141. <input semantic="POSITION" source="#pCylinderShape1-positions"/>
  142. </vertices>
  143. <polylist material="lambert2SG" count="38">
  144. <input semantic="VERTEX" source="#pCylinderShape1-vertices" offset="0"/>
  145. <input semantic="NORMAL" source="#pCylinderShape1-normals" offset="1"/>
  146. <input semantic="TEXCOORD" source="#pCylinderShape1-map1" offset="2" set="0"/>
  147. <vcount>4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 6 6</vcount>
  148. <p>0 0 6 1 1 7 7 2 14 6 3 13 1 4 7 2 5 8 8 6 15 7 7 14 2 8 8 3 9 9 9 10
  149. 16 8 11 15 3 12 9 4 13 10 10 14 17 9 15 16 4 16 10 5 17 11 11 18 18 10 19 17 5
  150. 20 11 0 21 12 6 22 19 11 23 18 6 24 13 7 25 14 13 26 21 12 27 20 7 28 14 8 29 15 14
  151. 30 22 13 31 21 8 32 15 9 33 16 15 34 23 14 35 22 9 36 16 10 37 17 16 38 24 15
  152. 39 23 10 40 17 11 41 18 17 42 25 16 43 24 11 44 18 6 45 19 12 46 26 17 47 25 12
  153. 48 20 13 49 21 19 50 28 18 51 27 13 52 21 14 53 22 20 54 29 19 55 28 14 56 22 15
  154. 57 23 21 58 30 20 59 29 15 60 23 16 61 24 22 62 31 21 63 30 16 64 24 17 65 25 23
  155. 66 32 22 67 31 17 68 25 12 69 26 18 70 33 23 71 32 18 72 27 19 73 28 25 74 35 24
  156. 75 34 19 76 28 20 77 29 26 78 36 25 79 35 20 80 29 21 81 30 27 82 37 26 83 36 21
  157. 84 30 22 85 31 28 86 38 27 87 37 22 88 31 23 89 32 29 90 39 28 91 38 23 92 32 18
  158. 93 33 24 94 40 29 95 39 24 96 34 25 97 35 31 98 42 30 99 41 25 100 35 26 101 36 32
  159. 102 43 31 103 42 26 104 36 27 105 37 33 106 44 32 107 43 27 108 37 28 109 38 34
  160. 110 45 33 111 44 28 112 38 29 113 39 35 114 46 34 115 45 29 116 39 24 117 40 30
  161. 118 47 35 119 46 30 120 41 31 121 42 37 122 49 36 123 48 31 124 42 32 125 43 38
  162. 126 50 37 127 49 32 128 43 33 129 44 39 130 51 38 131 50 33 132 44 34 133 45 40
  163. 134 52 39 135 51 34 136 45 35 137 46 41 138 53 40 139 52 35 140 46 30 141 47 36
  164. 142 54 41 143 53 0 144 0 5 145 5 4 146 4 3 147 3 2 148 2 1 149 1 36 150 59 37
  165. 151 58 38 152 57 39 153 56 40 154 55 41 155 60</p>
  166. </polylist>
  167. </mesh>
  168. </geometry>
  169. <!--
  170. *******************************************************************************************
  171. This mesh is the same as the one above, but one of the rings of verticies has been moved
  172. outwards to create a bulge in the middle of the cylinder. This geometry is used as the
  173. morph target (aka deformer or blend shape) in the morph controller.
  174. A morph can operate on ANY or ALL of the sources so you could morph positions, UVs and
  175. normals all at the same time. The sources to be morphed have to be referenced by <input>
  176. tags inside the <vertices> tag in both the morph target and the base mesh. In this example
  177. only the positions are referenced by the <vertices> tag so they are all this morph will effect.
  178. Since only the positions are being morphed, everything but the target__pCylinderShape1-positions
  179. source and the <vertices> tag could be deleted from this <geometry> and it the morph
  180. should still work. The DCC tool should get all the other information from the base mesh, so
  181. there is no need to duplicate it here.
  182. This extra information may still be exported by some DCC tools for a variety of reasons.
  183. The only time it is actually REQUIRED is if the morph target geometry is also instantiated in
  184. the scene by having an <instance_geometry> tag point directly to it's geometry tag.
  185. Due to a bug in the ColladaMaya Maya expects the polylist information to be present in the
  186. morph target or the morph will not be instantiated.
  187. *******************************************************************************************
  188. -->
  189. <geometry id="target__pCylinderShape1" name="target__pCylinderShape1">
  190. <mesh>
  191. <source id="target__pCylinderShape1-positions" name="position">
  192. <float_array id="target__pCylinderShape1-positions-array" count="126">20 -90 -34.641
  193. -20 -90 -34.641 -40 -90 -0.000005 -20 -90 34.641 20 -90 34.641 40 -90 0 20 -60 -34.641
  194. -20 -60 -34.641 -40 -60 -0.000005 -20 -60 34.641 20 -60 34.641 40 -60 0 20 -30 -34.641
  195. -20 -30 -34.641 -40 -30 -0.000005 -20 -30 34.641 20 -30 34.641 40 -30 0 20 0 -34.641
  196. -20 0 -34.641 -40 0 -0.000005 -20 0 34.641 20 0 34.641 40 0 0 32.6396 30 -69.7557
  197. -32.6396 30 -69.7557 -65.2792 30 -0.00001 -32.6396 30 69.7557 32.6396 30 69.7557
  198. 65.2792 30 0 20 60 -34.641 -20 60 -34.641 -40 60 -0.000005 -20 60 34.641 20 60 34.641
  199. 40 60 0 20 90 -34.641 -20 90 -34.641 -40 90 -0.000005 -20 90 34.641 20 90 34.641
  200. 40 90 0</float_array>
  201. <technique_common>
  202. <accessor source="#target__pCylinderShape1-positions-array" count="42" stride="3">
  203. <param name="X" type="float"/>
  204. <param name="Y" type="float"/>
  205. <param name="Z" type="float"/>
  206. </accessor>
  207. </technique_common>
  208. </source>
  209. <source id="target__pCylinderShape1-normals" name="normal">
  210. <float_array id="target__pCylinderShape1-normals-array" count="468">0 0 -1
  211. 0 0 -1 0 0 -1 0 0 -1 -0.866025 0 -0.5 -0.866025 0 -0.5 -0.866025 0 -0.5 -0.866025
  212. 0 -0.5 -0.866026 0 0.5 -0.866026 0 0.5 -0.866026 0 0.5 -0.866026 0 0.5 0 0 1 0 0 1
  213. 0 0 1 0 0 1 0.866026 0 0.5 0.866026 0 0.5 0.866025 0 0.5 0.866025 0 0.5 0.866026
  214. 0 -0.5 0.866026 0 -0.5 0.866026 0 -0.5 0.866026 0 -0.5 0 0 -1 0 0 -1 0 0 -1 0 0 -1
  215. -0.866025 0 -0.5 -0.866025 0 -0.5 -0.866025 0 -0.5 -0.866025 0 -0.5 -0.866026
  216. 0 0.5 -0.866026 0 0.5 -0.866026 0 0.5 -0.866026 0 0.5 0 0 1 0 0 1 0 0 1 0 0 1
  217. 0.866025 0 0.5 0.866025 0 0.5 0.866025 0 0.5 0.866025 0 0.5 0.866026 0 -0.5 0.866026
  218. 0 -0.5 0.866026 0 -0.5 0.866026 0 -0.5 0 0 -1 0 0 -1 0 0 -1 0 0 -1 -0.866025
  219. 0 -0.5 -0.866025 0 -0.5 -0.866025 0 -0.5 -0.866025 0 -0.5 -0.866026 0 0.5 -0.866026
  220. 0 0.5 -0.866026 0 0.5 -0.866026 0 0.5 0 0 1 0 0 1 0 0 1 0 0 1 0.866025 0 0.5 0.866025
  221. 0 0.5 0.866025 0 0.5 0.866025 0 0.5 0.866026 0 -0.5 0.866026 0 -0.5 0.866026
  222. 0 -0.5 0.866026 0 -0.5 0 0 -1 0 0 -1 0 0 -1 0 0 -1 -0.866025 0 -0.5 -0.866025
  223. 0 -0.5 -0.866025 0 -0.5 -0.866025 0 -0.5 -0.866026 0 0.5 -0.866026 0 0.5 -0.866026
  224. 0 0.5 -0.866026 0 0.5 0 0 1 0 0 1 0 0 1 0 0 1 0.866025 0 0.5 0.866025 0 0.5 0.866025
  225. 0 0.5 0.866025 0 0.5 0.866026 0 -0.5 0.866026 0 -0.5 0.866026 0 -0.5 0.866026
  226. 0 -0.5 0 0 -1 0 0 -1 0 0 -1 0 0 -1 -0.866025 0 -0.5 -0.866025 0 -0.5 -0.866025
  227. 0 -0.5 -0.866025 0 -0.5 -0.866026 0 0.5 -0.866026 0 0.5 -0.866026 0 0.5 -0.866026
  228. 0 0.5 0 0 1 0 0 1 0 0 1 0 0 1 0.866025 0 0.5 0.866025 0 0.5 0.866025 0 0.5 0.866025
  229. 0 0.5 0.866026 0 -0.5 0.866026 0 -0.5 0.866026 0 -0.5 0.866026 0 -0.5 0 0 -1 0
  230. 0 -1 0 0 -1 0 0 -1 -0.866025 0 -0.5 -0.866025 0 -0.5 -0.866025 0 -0.5 -0.866025
  231. 0 -0.5 -0.866026 0 0.5 -0.866026 0 0.5 -0.866026 0 0.5 -0.866026 0 0.5 0 0 1 0
  232. 0 1 0 0 1 0 0 1 0.866025 0 0.5 0.866025 0 0.5 0.866026 0 0.5 0.866026 0 0.5 0.866026
  233. 0 -0.5 0.866026 0 -0.5 0.866026 0 -0.5 0.866026 0 -0.5 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0
  234. -1 0 0 -1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0</float_array>
  235. <technique_common>
  236. <accessor source="#target__pCylinderShape1-normals-array" count="156" stride="3">
  237. <param name="X" type="float"/>
  238. <param name="Y" type="float"/>
  239. <param name="Z" type="float"/>
  240. </accessor>
  241. </technique_common>
  242. </source>
  243. <source id="target__pCylinderShape1-map1" name="map1">
  244. <float_array id="target__pCylinderShape1-map1-array" count="122">0.578125 0.020933
  245. 0.421875 0.020933 0.34375 0.15625 0.421875 0.291566 0.578125 0.291566 0.65625 0.15625 0.375
  246. 0.3125 0.416667 0.3125 0.458333 0.3125 0.5 0.3125 0.541667 0.3125 0.583333 0.3125 0.625
  247. 0.3125 0.375 0.375157 0.416667 0.375157 0.458333 0.375157 0.5 0.375157 0.541667 0.375157
  248. 0.583333 0.375157 0.625 0.375157 0.375 0.437813 0.416667 0.437813 0.458333 0.437813 0.5
  249. 0.437813 0.541667 0.437813 0.583333 0.437813 0.625 0.437813 0.375 0.50047 0.416667 0.50047
  250. 0.458333 0.50047 0.5 0.50047 0.541667 0.50047 0.583333 0.50047 0.625 0.50047 0.375
  251. 0.563127 0.416667 0.563127 0.458333 0.563127 0.5 0.563127 0.541667 0.563127 0.583333
  252. 0.563127 0.625 0.563127 0.375 0.625783 0.416667 0.625783 0.458333 0.625783 0.5 0.625783
  253. 0.541667 0.625783 0.583333 0.625783 0.625 0.625783 0.375 0.68844 0.416667 0.68844
  254. 0.458333 0.68844 0.5 0.68844 0.541667 0.68844 0.583333 0.68844 0.625 0.68844 0.578125
  255. 0.708434 0.421875 0.708434 0.34375 0.84375 0.421875 0.979066 0.578125 0.979066 0.65625
  256. 0.84375</float_array>
  257. <technique_common>
  258. <accessor source="#target__pCylinderShape1-map1-array" count="61" stride="2">
  259. <param name="S" type="float"/>
  260. <param name="T" type="float"/>
  261. </accessor>
  262. </technique_common>
  263. </source>
  264. <vertices id="target__pCylinderShape1-vertices">
  265. <input semantic="POSITION" source="#target__pCylinderShape1-positions"/>
  266. </vertices>
  267. <polylist material="target__lambert2SG" count="38">
  268. <input semantic="VERTEX" source="#target__pCylinderShape1-vertices" offset="0"/>
  269. <input semantic="NORMAL" source="#target__pCylinderShape1-normals" offset="1"/>
  270. <input semantic="TEXCOORD" source="#target__pCylinderShape1-map1" offset="2" set="0"/>
  271. <vcount>4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 6 6</vcount>
  272. <p>0 0 6 1 1 7 7 2 14 6 3 13 1 4 7 2 5 8 8 6 15 7 7 14 2 8 8 3 9 9 9 10 16 8 11
  273. 15 3 12 9 4 13 10 10 14 17 9 15 16 4 16 10 5 17 11 11 18 18 10 19 17 5 20 11 0 21 12 6
  274. 22 19 11 23 18 6 24 13 7 25 14 13 26 21 12 27 20 7 28 14 8 29 15 14 30 22 13 31 21 8
  275. 32 15 9 33 16 15 34 23 14 35 22 9 36 16 10 37 17 16 38 24 15 39 23 10 40 17 11 41 18 17
  276. 42 25 16 43 24 11 44 18 6 45 19 12 46 26 17 47 25 12 48 20 13 49 21 19 50 28 18
  277. 51 27 13 52 21 14 53 22 20 54 29 19 55 28 14 56 22 15 57 23 21 58 30 20 59 29 15
  278. 60 23 16 61 24 22 62 31 21 63 30 16 64 24 17 65 25 23 66 32 22 67 31 17 68 25 12
  279. 69 26 18 70 33 23 71 32 18 72 27 19 73 28 25 74 35 24 75 34 19 76 28 20 77 29 26
  280. 78 36 25 79 35 20 80 29 21 81 30 27 82 37 26 83 36 21 84 30 22 85 31 28 86 38 27
  281. 87 37 22 88 31 23 89 32 29 90 39 28 91 38 23 92 32 18 93 33 24 94 40 29 95 39 24
  282. 96 34 25 97 35 31 98 42 30 99 41 25 100 35 26 101 36 32 102 43 31 103 42 26 104 36 27
  283. 105 37 33 106 44 32 107 43 27 108 37 28 109 38 34 110 45 33 111 44 28 112 38 29
  284. 113 39 35 114 46 34 115 45 29 116 39 24 117 40 30 118 47 35 119 46 30 120 41 31
  285. 121 42 37 122 49 36 123 48 31 124 42 32 125 43 38 126 50 37 127 49 32 128 43 33
  286. 129 44 39 130 51 38 131 50 33 132 44 34 133 45 40 134 52 39 135 51 34 136 45 35
  287. 137 46 41 138 53 40 139 52 35 140 46 30 141 47 36 142 54 41 143 53 0 144 0 5
  288. 145 5 4 146 4 3 147 3 2 148 2 1 149 1 36 150 59 37 151 58 38 152 57 39 153 56 40
  289. 154 55 41 155 60</p>
  290. </polylist>
  291. </mesh>
  292. </geometry>
  293. </library_geometries>
  294. <library_controllers>
  295. <!--
  296. *******************************************************************************************
  297. This controller defines a morph with pCylinderShape1 as the source and
  298. target_pCylinderShape1 as the morph target (deformer)
  299. *******************************************************************************************
  300. -->
  301. <controller id="pCylinderShape1-morph" name="blendShape1">
  302. <morph method="NORMALIZED" source="#pCylinderShape1">
  303. <!--
  304. *******************************************************************************************
  305. This source lists all the morph targets that will be used by this controller. In this
  306. case there is just one, but there could be as many as you like. Multiple targets are
  307. commonly used to apply facial expressions to characters. There would a "happy" morph,
  308. a "sad" one, an excited one...etc. Which could be mixed so you could make an expression
  309. that was half sad, half excited...etc.
  310. *******************************************************************************************
  311. -->
  312. <source id="pCylinderShape1-morph-targets">
  313. <IDREF_array id="pCylinderShape1-morph-targets-array" count="1">target__pCylinderShape1</IDREF_array>
  314. <technique_common>
  315. <accessor source="#pCylinderShape1-morph-targets-array" count="1" stride="1">
  316. <param name="MORPH_TARGET" type="IDREF"/>
  317. </accessor>
  318. </technique_common>
  319. </source>
  320. <!--
  321. *******************************************************************************************
  322. This source contains the weights to be applied to each morph target (in this case just one)
  323. A weight of 1 means the morph is fully applied. This can be animated.
  324. *******************************************************************************************
  325. -->
  326. <source id="pCylinderShape1-morph-morph_weights">
  327. <float_array id="pCylinderShape1-morph-morph_weights-array" count="1">1</float_array>
  328. <technique_common>
  329. <accessor source="#pCylinderShape1-morph-morph_weights-array" count="1" stride="1">
  330. <param name="MORPH_WEIGHT" type="float"/>
  331. </accessor>
  332. </technique_common>
  333. </source>
  334. <!--
  335. *******************************************************************************************
  336. The inputs in the targets tag point to the sources containing the list of morph targets and
  337. the list of corrisponding weights.
  338. *******************************************************************************************
  339. -->
  340. <targets>
  341. <input semantic="MORPH_TARGET" source="#pCylinderShape1-morph-targets"/>
  342. <input semantic="MORPH_WEIGHT" source="#pCylinderShape1-morph-morph_weights"/>
  343. </targets>
  344. </morph>
  345. </controller>
  346. <!--
  347. *******************************************************************************************
  348. This controller defines how to skin the geometry that comes out of the morph controller.
  349. *******************************************************************************************
  350. -->
  351. <controller id="pCylinderShape1-morph-skin" name="skinCluster1">
  352. <!--
  353. *******************************************************************************************
  354. A regular skin controller would point at a geometry we wanted to skin. In this case we are
  355. taking the output of a morph controller (which is geometry) and skinning that.
  356. *******************************************************************************************
  357. -->
  358. <skin source="#pCylinderShape1">
  359. <!--
  360. *******************************************************************************************
  361. The bind shape matrix describes how to transform the pCylinderShape1-morph geometry into the
  362. right coordinate system for use with the joints. In this case we do an +90 Y transform because
  363. the geometry was initially a 180 unit long cylinder with 0,0,0 at it's center.
  364. This moves it so 0,0,0 is at the base of the cylinder.
  365. *******************************************************************************************
  366. -->
  367. <bind_shape_matrix>
  368. 1 0 0 0
  369. 0 1 0 90
  370. 0 0 1 0
  371. 0 0 0 1
  372. </bind_shape_matrix>
  373. <!--
  374. *******************************************************************************************
  375. This source contains a list of the SIDs of the 7 joints that will influence the skin. You
  376. can also use an IDREF_Array here but use of SIDs is prefered because they allow a controller
  377. to be used several times with different skeletons. Applications MUST be able to import either
  378. IDREF_Array or Name_array tags. And MUST search the correct namespace for the ID or SID
  379. *******************************************************************************************
  380. -->
  381. <source id="pCylinderShape1-morph-skin-joints">
  382. <Name_array id="pCylinderShape1-morph-skin-joints-array" count="7">
  383. joint1 joint2 joint3 joint4 joint5 joint6 joint7</Name_array>
  384. <technique_common>
  385. <accessor source="#pCylinderShape1-morph-skin-joints-array" count="7" stride="1">
  386. <param name="JOINT" type="Name"/>
  387. </accessor>
  388. </technique_common>
  389. </source>
  390. <!--
  391. *******************************************************************************************
  392. This source defines the inverse bind matrix for each joint, these are used to bring
  393. coordinates being skinned into the same space as each joint. Note that in this case the
  394. joints begin at 0,0,0 and move up 30 units for each joint, so the inverse bind matrices
  395. are the opposite of that.
  396. *******************************************************************************************
  397. -->
  398. <source id="pCylinderShape1-morph-skin-bind_poses">
  399. <float_array id="pCylinderShape1-morph-skin-bind_poses-array" count="112">
  400. 1 0 0 0
  401. 0 1 0 0
  402. 0 0 1 0
  403. 0 0 0 1
  404. 1 0 0 0
  405. 0 1 0 -30
  406. 0 0 1 0
  407. 0 0 0 1
  408. 1 0 0 0
  409. 0 1 0 -60
  410. 0 0 1 0
  411. 0 0 0 1
  412. 1 0 0 0
  413. 0 1 0 -90
  414. 0 0 1 0
  415. 0 0 0 1
  416. 1 0 0 0
  417. 0 1 0 -120
  418. 0 0 1 0
  419. 0 0 0 1
  420. 1 0 0 0
  421. 0 1 0 -150
  422. 0 0 1 0
  423. 0 0 0 1
  424. 1 0 0 0
  425. 0 1 0 -180
  426. 0 0 1 0
  427. 0 0 0 1
  428. </float_array>
  429. <technique_common>
  430. <accessor source="#pCylinderShape1-morph-skin-bind_poses-array" count="7" stride="16">
  431. <param name="TRANSFORM" type="float4x4"/>
  432. </accessor>
  433. </technique_common>
  434. </source>
  435. <!--
  436. *******************************************************************************************
  437. This source defines a weight for each vertex and each joint. The weight defines how much
  438. a particular joint will contribute to moving a particular vertex's position. This allows
  439. several joints to influence vertices by different amounts, giving a nice smooth bend.
  440. Since there are 42 vertices and 7 joints there should be at most 294 weights. In this case
  441. the skinning algorithm was told that each vertex should be effected by the 5 nearest joints
  442. so we have 5 weights per vertex giving a total of 210. Maya has thrown in an extra weight
  443. of 1 at the beginning giving us a total of 211.
  444. Weights 1-6 will be applied to the first vertex, you can see how they work. The first weight
  445. represents the closest joint to the vertex and has the largest value, the remaining 4 weights
  446. get smaller and smaller as the associated joint gets farther from the vertex.
  447. *******************************************************************************************
  448. -->
  449. <source id="pCylinderShape1-morph-skin-weights">
  450. <float_array id="pCylinderShape1-morph-skin-weights-array" count="211">
  451. 1 0.648726 0.265718 0.061417 0.01765 0.006487 0.648726 0.265718 0.061417 0.01765 0.006487
  452. 0.648726 0.265718 0.061417 0.01765 0.006487 0.648726 0.265718 0.061417 0.01765 0.006487
  453. 0.648726 0.265718 0.061417 0.01765 0.006487 0.648726 0.265718 0.061417 0.01765 0.006487
  454. 0.395025 0.395025 0.161802 0.037398 0.010747 0.395025 0.395025 0.161802 0.037398 0.010747
  455. 0.395025 0.395025 0.161802 0.037398 0.010747 0.395025 0.395025 0.161802 0.037398 0.010747
  456. 0.395025 0.395025 0.161802 0.037398 0.010747 0.395025 0.395025 0.161802 0.037398 0.010747
  457. 0.140569 0.343186 0.343186 0.140569 0.032491 0.140569 0.343186 0.343186 0.140569 0.032491
  458. 0.140569 0.343186 0.343186 0.140569 0.032491 0.140569 0.343186 0.343186 0.140569 0.032491
  459. 0.140569 0.343186 0.343186 0.140569 0.032491 0.140569 0.343186 0.343186 0.140569 0.032491
  460. 0.032491 0.140569 0.343186 0.343186 0.140569 0.032491 0.140569 0.343186 0.343186 0.140569
  461. 0.032491 0.140569 0.343186 0.343186 0.140569 0.032491 0.140569 0.343186 0.343186 0.140569
  462. 0.032491 0.140569 0.343186 0.343186 0.140569 0.032491 0.140569 0.343186 0.343186 0.140569
  463. 0.140569 0.343186 0.343186 0.140569 0.032491 0.140569 0.343186 0.343186 0.140569 0.032491
  464. 0.032491 0.140569 0.343186 0.343186 0.140569 0.032491 0.140569 0.343186 0.343186 0.140569
  465. 0.032491 0.140569 0.343186 0.343186 0.140569 0.032491 0.140569 0.343186 0.343186 0.140569
  466. 0.032491 0.140569 0.343186 0.343186 0.140569 0.032491 0.140569 0.343186 0.343186 0.140569
  467. 0.032491 0.140569 0.343186 0.343186 0.140569 0.032491 0.140569 0.343186 0.343186 0.140569
  468. 0.032491 0.140569 0.343186 0.343186 0.140569 0.032491 0.140569 0.343186 0.343186 0.140569
  469. 0.010747 0.037398 0.161802 0.395025 0.395025 0.010747 0.037398 0.161802 0.395025 0.395025
  470. 0.010747 0.037398 0.161802 0.395025 0.395025 0.010747 0.037398 0.161802 0.395025 0.395025
  471. 0.010747 0.037398 0.161802 0.395025 0.395025 0.010747 0.037398 0.161802 0.395025 0.395025</float_array>
  472. <technique_common>
  473. <accessor source="#pCylinderShape1-morph-skin-weights-array" count="211" stride="1">
  474. <param name="WEIGHT" type="float"/>
  475. </accessor>
  476. </technique_common>
  477. </source>
  478. <!--
  479. *******************************************************************************************
  480. The joints tag connects the source containing the name of each joint with the source
  481. containing the inverse bind matrices for each joint.
  482. *******************************************************************************************
  483. -->
  484. <joints>
  485. <input semantic="JOINT" source="#pCylinderShape1-morph-skin-joints"/>
  486. <input semantic="INV_BIND_MATRIX" source="#pCylinderShape1-morph-skin-bind_poses"/>
  487. </joints>
  488. <!--
  489. *******************************************************************************************
  490. The vertex_weights tag associates the weights and joints from the previously defined
  491. sources with the vertices in the geometry being skinned. Each entry in this list matches
  492. a vertex in the original geometry, so the count here should be the same as the count
  493. in the geometry being skinned.
  494. Each weight/joint pair is referred to as an "influence", a vertex can have any number of
  495. influences applied to it. The <vcount> value for a vertex defines the number of influences
  496. on that vertex. In this case every vertex has 5 influences. The values in the <v> array
  497. are the indices of the joint and weight that make up that influence.
  498. *******************************************************************************************
  499. -->
  500. <vertex_weights count="42">
  501. <input semantic="JOINT" source="#pCylinderShape1-morph-skin-joints" offset="0"/>
  502. <input semantic="WEIGHT" source="#pCylinderShape1-morph-skin-weights" offset="1"/>
  503. <vcount>5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 </vcount>
  504. <v>0 1 1 2 2 3 3 4 4 5 0 6 1 7 2 8 3 9 4 10 0 11 1 12 2 13 3 14 4 15 0 16 1
  505. 17 2 18 3 19 4 20 0 21 1 22 2 23 3 24 4 25 0 26 1 27 2 28 3 29 4 30 0 31 1 32 2 33 3
  506. 34 4 35 0 36 1 37 2 38 3 39 4 40 0 41 1 42 2 43 3 44 4 45 0 46 1 47 2 48 3 49 4 50 0
  507. 51 1 52 2 53 3 54 4 55 0 56 1 57 2 58 3 59 4 60 0 61 1 62 2 63 3 64 4 65 0 66 1 67 2
  508. 68 3 69 4 70 0 71 1 72 2 73 3 74 4 75 0 76 1 77 2 78 3 79 4 80 0 81 1 82 2 83 3 84 4
  509. 85 0 86 1 87 2 88 3 89 4 90 0 91 1 92 2 93 3 94 4 95 0 96 1 97 2 98 3 99 4 100 0 101 1
  510. 102 2 103 3 104 4 105 0 106 1 107 2 108 3 109 4 110 0 111 1 112 2 113 3 114 4 115 0
  511. 116 1 117 2 118 3 119 4 120 2 121 3 122 4 123 5 124 6 125 2 126 3 127 4 128 5 129 6
  512. 130 1 131 2 132 3 133 4 134 5 135 1 136 2 137 3 138 4 139 5 140 1 141 2 142 3 143 4
  513. 144 5 145 1 146 2 147 3 148 4 149 5 150 2 151 3 152 4 153 5 154 6 155 2 156 3 157 4
  514. 158 5 159 6 160 2 161 3 162 4 163 5 164 6 165 2 166 3 167 4 168 5 169 6 170 2 171 3
  515. 172 4 173 5 174 6 175 2 176 3 177 4 178 5 179 6 180 2 181 3 182 4 183 5 184 6 185 2
  516. 186 3 187 4 188 5 189 6 190 2 191 3 192 4 193 5 194 6 195 2 196 3 197 4 198 5 199 6
  517. 200 2 201 3 202 4 203 5 204 6 205 2 206 3 207 4 208 5 209 6 210</v>
  518. </vertex_weights>
  519. </skin>
  520. </controller>
  521. </library_controllers>
  522. <library_visual_scenes>
  523. <visual_scene id="VisualSceneNode" name="untitled">
  524. <!--
  525. *******************************************************************************************
  526. This is the node hierarchy that represents the skeleton of the skinned object.
  527. The first node has an ID to act as a starting point for SID searches, the rest
  528. of the nodes in the hierarchy only need SIDs. It is preferable to use SIDs to
  529. identify the joints of the skeleton because it allows the skin controller to be
  530. used several times with different skeletons. For example we could have a second
  531. joint hierarchy using the same SIDs but with a different id (like skeleton2_root)
  532. on the first node and different transforms.
  533. In this example the root joint of the skeleton is 20 units above the ground.
  534. All the other joints are 30 units apart in the Y direction. A Z rotation has been
  535. added to some of the joints to cause the skinned/morphed cylinder to gradually bend so
  536. you can see the skinning effect.
  537. *******************************************************************************************
  538. -->
  539. <node id="skeleton_root" name="joint1" sid="joint1" type="JOINT">
  540. <translate sid="translate">0 20 0</translate>
  541. <!--
  542. *******************************************************************************************
  543. Some people try to put the instance_controller here. This will not work correctly for
  544. a skin because the skinning process has already transformed all the vertices using the
  545. full transform in the joints that the skin controller references. This means the data
  546. coming out of the instance_controller is effectively in world space. If we put the
  547. instance_controller here, the geometry coming out of it would be transformed (again) by
  548. this node, moving it up an additional 20 units.
  549. *******************************************************************************************
  550. -->
  551. <node name="joint2" sid="joint2" type="JOINT">
  552. <translate>0 30 0</translate>
  553. <node name="joint3" sid="joint3" type="JOINT">
  554. <translate>0 30 0</translate>
  555. <rotate>0 0 1 17.972</rotate>
  556. <node name="joint4" sid="joint4" type="JOINT">
  557. <translate>0 30 0</translate>
  558. <rotate>0 0 1 16.4036</rotate>
  559. <node name="joint5" sid="joint5" type="JOINT">
  560. <translate>0 30 0</translate>
  561. <rotate>0 0 1 21.1126</rotate>
  562. <node name="joint6" sid="joint6" type="JOINT">
  563. <translate>0 30 0</translate>
  564. <rotate>0 0 1 16.007</rotate>
  565. <node name="joint7" sid="joint7" type="JOINT">
  566. <translate>0 30 0</translate>
  567. </node>
  568. </node>
  569. </node>
  570. </node>
  571. </node>
  572. </node>
  573. </node>
  574. <!--
  575. *******************************************************************************************
  576. This node is where the skinned/morphed geometry is instantiated. The geometry that comes out
  577. of a skin controller has already been transformed by the joints referenced in the skin
  578. which puts the geometry in world space. This is why we are instantiating the skin at
  579. the root of the hierarchy rather than up in the "skeleton_root" node
  580. *******************************************************************************************
  581. -->
  582. <node id="pCylinder1" name="pCylinder1" type="NODE">
  583. <instance_controller url="#pCylinderShape1-morph-skin">
  584. <!--
  585. *******************************************************************************************
  586. The skeleton tag tells the controller where it should start searching for any SIDs found
  587. in the skin. This allows the same controller to be re-used with different joint hierarchies.
  588. If the controller uses an IDREF_Array then the skeleton tag is not required because IDs are
  589. global.
  590. *******************************************************************************************
  591. -->
  592. <skeleton>#skeleton_root</skeleton>
  593. <bind_material>
  594. <technique_common>
  595. <instance_material symbol="lambert2SG" target="#lambert1"/>
  596. </technique_common>
  597. </bind_material>
  598. </instance_controller>
  599. </node>
  600. </visual_scene>
  601. </library_visual_scenes>
  602. <scene>
  603. <instance_visual_scene url="#VisualSceneNode"/>
  604. </scene>
  605. </COLLADA>