Add initial prototype.
This commit is contained in:
@@ -0,0 +1,113 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<COLLADA xmlns="http://www.collada.org/2005/11/COLLADASchema" version="1.4.1">
|
||||
<asset>
|
||||
<contributor>
|
||||
<author>Blender User</author>
|
||||
<authoring_tool>Blender 2.76.0 commit date:2015-10-10, commit time:08:48, hash:23f7e16</authoring_tool>
|
||||
</contributor>
|
||||
<created>2015-10-20T23:29:46</created>
|
||||
<modified>2015-10-20T23:29:46</modified>
|
||||
<unit name="meter" meter="1"/>
|
||||
<up_axis>Z_UP</up_axis>
|
||||
</asset>
|
||||
<library_images/>
|
||||
<library_geometries>
|
||||
<geometry id="Cube_001-mesh" name="Cube.001">
|
||||
<mesh>
|
||||
<source id="Cube_001-mesh-positions">
|
||||
<float_array id="Cube_001-mesh-positions-array" count="24">-1 -1 -1 -1 -1 1 -1 1 -1 -1 1 1 1 -1 -1 1 -1 1 1 1 -1 1 1 1</float_array>
|
||||
<technique_common>
|
||||
<accessor source="#Cube_001-mesh-positions-array" count="8" stride="3">
|
||||
<param name="X" type="float"/>
|
||||
<param name="Y" type="float"/>
|
||||
<param name="Z" type="float"/>
|
||||
</accessor>
|
||||
</technique_common>
|
||||
</source>
|
||||
<source id="Cube_001-mesh-normals">
|
||||
<float_array id="Cube_001-mesh-normals-array" count="18">-1 0 0 0 1 0 1 0 0 0 -1 0 0 0 -1 0 0 1</float_array>
|
||||
<technique_common>
|
||||
<accessor source="#Cube_001-mesh-normals-array" count="6" stride="3">
|
||||
<param name="X" type="float"/>
|
||||
<param name="Y" type="float"/>
|
||||
<param name="Z" type="float"/>
|
||||
</accessor>
|
||||
</technique_common>
|
||||
</source>
|
||||
<vertices id="Cube_001-mesh-vertices">
|
||||
<input semantic="POSITION" source="#Cube_001-mesh-positions"/>
|
||||
</vertices>
|
||||
<polylist count="12">
|
||||
<input semantic="VERTEX" source="#Cube_001-mesh-vertices" offset="0"/>
|
||||
<input semantic="NORMAL" source="#Cube_001-mesh-normals" offset="1"/>
|
||||
<vcount>3 3 3 3 3 3 3 3 3 3 3 3 </vcount>
|
||||
<p>3 0 2 0 0 0 7 1 6 1 2 1 5 2 4 2 6 2 1 3 0 3 4 3 2 4 6 4 4 4 7 5 3 5 1 5 1 0 3 0 0 0 3 1 7 1 2 1 7 2 5 2 6 2 5 3 1 3 4 3 0 4 2 4 4 4 5 5 7 5 1 5</p>
|
||||
</polylist>
|
||||
</mesh>
|
||||
</geometry>
|
||||
</library_geometries>
|
||||
<library_controllers>
|
||||
<controller id="Armature_Cube-skin" name="Armature">
|
||||
<skin source="#Cube_001-mesh">
|
||||
<bind_shape_matrix>1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1</bind_shape_matrix>
|
||||
<source id="Armature_Cube-skin-joints">
|
||||
<Name_array id="Armature_Cube-skin-joints-array" count="1">Bone</Name_array>
|
||||
<technique_common>
|
||||
<accessor source="#Armature_Cube-skin-joints-array" count="1" stride="1">
|
||||
<param name="JOINT" type="name"/>
|
||||
</accessor>
|
||||
</technique_common>
|
||||
</source>
|
||||
<source id="Armature_Cube-skin-bind_poses">
|
||||
<float_array id="Armature_Cube-skin-bind_poses-array" count="16">1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1</float_array>
|
||||
<technique_common>
|
||||
<accessor source="#Armature_Cube-skin-bind_poses-array" count="1" stride="16">
|
||||
<param name="TRANSFORM" type="float4x4"/>
|
||||
</accessor>
|
||||
</technique_common>
|
||||
</source>
|
||||
<source id="Armature_Cube-skin-weights">
|
||||
<float_array id="Armature_Cube-skin-weights-array" count="4">1 1 1 1</float_array>
|
||||
<technique_common>
|
||||
<accessor source="#Armature_Cube-skin-weights-array" count="4" stride="1">
|
||||
<param name="WEIGHT" type="float"/>
|
||||
</accessor>
|
||||
</technique_common>
|
||||
</source>
|
||||
<joints>
|
||||
<input semantic="JOINT" source="#Armature_Cube-skin-joints"/>
|
||||
<input semantic="INV_BIND_MATRIX" source="#Armature_Cube-skin-bind_poses"/>
|
||||
</joints>
|
||||
<vertex_weights count="8">
|
||||
<input semantic="JOINT" source="#Armature_Cube-skin-joints" offset="0"/>
|
||||
<input semantic="WEIGHT" source="#Armature_Cube-skin-weights" offset="1"/>
|
||||
<vcount>0 0 0 0 1 1 1 1 </vcount>
|
||||
<v>0 0 0 1 0 2 0 3</v>
|
||||
</vertex_weights>
|
||||
</skin>
|
||||
</controller>
|
||||
</library_controllers>
|
||||
<library_visual_scenes>
|
||||
<visual_scene id="Scene" name="Scene">
|
||||
<node id="Armature" name="Armature" type="NODE">
|
||||
<matrix sid="transform">1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1</matrix>
|
||||
<node id="Bone" name="Bone" sid="Bone" type="JOINT">
|
||||
<matrix sid="transform">1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1</matrix>
|
||||
</node>
|
||||
</node>
|
||||
<node id="Cube" name="Cube" type="NODE">
|
||||
<translate sid="location">0 0 0</translate>
|
||||
<rotate sid="rotationZ">0 0 1 0</rotate>
|
||||
<rotate sid="rotationY">0 1 0 0</rotate>
|
||||
<rotate sid="rotationX">1 0 0 0</rotate>
|
||||
<scale sid="scale">1 1 1</scale>
|
||||
<instance_controller url="#Armature_Cube-skin">
|
||||
<skeleton>#Bone</skeleton>
|
||||
</instance_controller>
|
||||
</node>
|
||||
</visual_scene>
|
||||
</library_visual_scenes>
|
||||
<scene>
|
||||
<instance_visual_scene url="#Scene"/>
|
||||
</scene>
|
||||
</COLLADA>
|
||||
113
4-high/gel/applet/demo/skinning/rig/box_rig/box_1_bone.dae
Normal file
113
4-high/gel/applet/demo/skinning/rig/box_rig/box_1_bone.dae
Normal file
@@ -0,0 +1,113 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<COLLADA xmlns="http://www.collada.org/2005/11/COLLADASchema" version="1.4.1">
|
||||
<asset>
|
||||
<contributor>
|
||||
<author>Blender User</author>
|
||||
<authoring_tool>Blender 2.75.0 commit date:2015-07-07, commit time:14:56, hash:c27589e</authoring_tool>
|
||||
</contributor>
|
||||
<created>2015-09-26T21:16:48</created>
|
||||
<modified>2015-09-26T21:16:48</modified>
|
||||
<unit name="meter" meter="1"/>
|
||||
<up_axis>Z_UP</up_axis>
|
||||
</asset>
|
||||
<library_images/>
|
||||
<library_geometries>
|
||||
<geometry id="Cube_001-mesh" name="Cube.001">
|
||||
<mesh>
|
||||
<source id="Cube_001-mesh-positions">
|
||||
<float_array id="Cube_001-mesh-positions-array" count="24">-1 -1 -1 -1 -1 1 -1 1 -1 -1 1 1 1 -1 -1 1 -1 1 1 1 -1 1 1 1</float_array>
|
||||
<technique_common>
|
||||
<accessor source="#Cube_001-mesh-positions-array" count="8" stride="3">
|
||||
<param name="X" type="float"/>
|
||||
<param name="Y" type="float"/>
|
||||
<param name="Z" type="float"/>
|
||||
</accessor>
|
||||
</technique_common>
|
||||
</source>
|
||||
<source id="Cube_001-mesh-normals">
|
||||
<float_array id="Cube_001-mesh-normals-array" count="18">-1 0 0 0 1 0 1 0 0 0 -1 0 0 0 -1 0 0 1</float_array>
|
||||
<technique_common>
|
||||
<accessor source="#Cube_001-mesh-normals-array" count="6" stride="3">
|
||||
<param name="X" type="float"/>
|
||||
<param name="Y" type="float"/>
|
||||
<param name="Z" type="float"/>
|
||||
</accessor>
|
||||
</technique_common>
|
||||
</source>
|
||||
<vertices id="Cube_001-mesh-vertices">
|
||||
<input semantic="POSITION" source="#Cube_001-mesh-positions"/>
|
||||
</vertices>
|
||||
<polylist count="12">
|
||||
<input semantic="VERTEX" source="#Cube_001-mesh-vertices" offset="0"/>
|
||||
<input semantic="NORMAL" source="#Cube_001-mesh-normals" offset="1"/>
|
||||
<vcount>3 3 3 3 3 3 3 3 3 3 3 3 </vcount>
|
||||
<p>3 0 2 0 0 0 7 1 6 1 2 1 5 2 4 2 6 2 1 3 0 3 4 3 2 4 6 4 4 4 7 5 3 5 1 5 1 0 3 0 0 0 3 1 7 1 2 1 7 2 5 2 6 2 5 3 1 3 4 3 0 4 2 4 4 4 5 5 7 5 1 5</p>
|
||||
</polylist>
|
||||
</mesh>
|
||||
</geometry>
|
||||
</library_geometries>
|
||||
<library_controllers>
|
||||
<controller id="Armature_Cube-skin" name="Armature">
|
||||
<skin source="#Cube_001-mesh">
|
||||
<bind_shape_matrix>1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1</bind_shape_matrix>
|
||||
<source id="Armature_Cube-skin-joints">
|
||||
<Name_array id="Armature_Cube-skin-joints-array" count="1">Bone</Name_array>
|
||||
<technique_common>
|
||||
<accessor source="#Armature_Cube-skin-joints-array" count="1" stride="1">
|
||||
<param name="JOINT" type="name"/>
|
||||
</accessor>
|
||||
</technique_common>
|
||||
</source>
|
||||
<source id="Armature_Cube-skin-bind_poses">
|
||||
<float_array id="Armature_Cube-skin-bind_poses-array" count="16">0 -1 0 0 1 0 0 0 0 0 1 0 0 0 0 1</float_array>
|
||||
<technique_common>
|
||||
<accessor source="#Armature_Cube-skin-bind_poses-array" count="1" stride="16">
|
||||
<param name="TRANSFORM" type="float4x4"/>
|
||||
</accessor>
|
||||
</technique_common>
|
||||
</source>
|
||||
<source id="Armature_Cube-skin-weights">
|
||||
<float_array id="Armature_Cube-skin-weights-array" count="4">1 1 1 1</float_array>
|
||||
<technique_common>
|
||||
<accessor source="#Armature_Cube-skin-weights-array" count="4" stride="1">
|
||||
<param name="WEIGHT" type="float"/>
|
||||
</accessor>
|
||||
</technique_common>
|
||||
</source>
|
||||
<joints>
|
||||
<input semantic="JOINT" source="#Armature_Cube-skin-joints"/>
|
||||
<input semantic="INV_BIND_MATRIX" source="#Armature_Cube-skin-bind_poses"/>
|
||||
</joints>
|
||||
<vertex_weights count="8">
|
||||
<input semantic="JOINT" source="#Armature_Cube-skin-joints" offset="0"/>
|
||||
<input semantic="WEIGHT" source="#Armature_Cube-skin-weights" offset="1"/>
|
||||
<vcount>0 0 0 0 1 1 1 1 </vcount>
|
||||
<v>0 0 0 1 0 2 0 3</v>
|
||||
</vertex_weights>
|
||||
</skin>
|
||||
</controller>
|
||||
</library_controllers>
|
||||
<library_visual_scenes>
|
||||
<visual_scene id="Scene" name="Scene">
|
||||
<node id="Armature" name="Armature" type="NODE">
|
||||
<matrix sid="transform">1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1</matrix>
|
||||
<node id="Bone" name="Bone" sid="Bone" type="JOINT">
|
||||
<matrix sid="transform">0 1 0 0 -1 0 0 0 0 0 1 0 0 0 0 1</matrix>
|
||||
</node>
|
||||
</node>
|
||||
<node id="Cube" name="Cube" type="NODE">
|
||||
<translate sid="location">0 0 0</translate>
|
||||
<rotate sid="rotationZ">0 0 1 0</rotate>
|
||||
<rotate sid="rotationY">0 1 0 0</rotate>
|
||||
<rotate sid="rotationX">1 0 0 0</rotate>
|
||||
<scale sid="scale">1 1 1</scale>
|
||||
<instance_controller url="#Armature_Cube-skin">
|
||||
<skeleton>#Bone</skeleton>
|
||||
</instance_controller>
|
||||
</node>
|
||||
</visual_scene>
|
||||
</library_visual_scenes>
|
||||
<scene>
|
||||
<instance_visual_scene url="#Scene"/>
|
||||
</scene>
|
||||
</COLLADA>
|
||||
113
4-high/gel/applet/demo/skinning/rig/box_rig/box_1_bone.dae.xml
Normal file
113
4-high/gel/applet/demo/skinning/rig/box_rig/box_1_bone.dae.xml
Normal file
@@ -0,0 +1,113 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<COLLADA xmlns="http://www.collada.org/2005/11/COLLADASchema" version="1.4.1">
|
||||
<asset>
|
||||
<contributor>
|
||||
<author>Blender User</author>
|
||||
<authoring_tool>Blender 2.75.0 commit date:2015-07-07, commit time:14:56, hash:c27589e</authoring_tool>
|
||||
</contributor>
|
||||
<created>2015-09-26T21:16:48</created>
|
||||
<modified>2015-09-26T21:16:48</modified>
|
||||
<unit name="meter" meter="1"/>
|
||||
<up_axis>Z_UP</up_axis>
|
||||
</asset>
|
||||
<library_images/>
|
||||
<library_geometries>
|
||||
<geometry id="Cube_001-mesh" name="Cube.001">
|
||||
<mesh>
|
||||
<source id="Cube_001-mesh-positions">
|
||||
<float_array id="Cube_001-mesh-positions-array" count="24">-1 -1 -1 -1 -1 1 -1 1 -1 -1 1 1 1 -1 -1 1 -1 1 1 1 -1 1 1 1</float_array>
|
||||
<technique_common>
|
||||
<accessor source="#Cube_001-mesh-positions-array" count="8" stride="3">
|
||||
<param name="X" type="float"/>
|
||||
<param name="Y" type="float"/>
|
||||
<param name="Z" type="float"/>
|
||||
</accessor>
|
||||
</technique_common>
|
||||
</source>
|
||||
<source id="Cube_001-mesh-normals">
|
||||
<float_array id="Cube_001-mesh-normals-array" count="18">-1 0 0 0 1 0 1 0 0 0 -1 0 0 0 -1 0 0 1</float_array>
|
||||
<technique_common>
|
||||
<accessor source="#Cube_001-mesh-normals-array" count="6" stride="3">
|
||||
<param name="X" type="float"/>
|
||||
<param name="Y" type="float"/>
|
||||
<param name="Z" type="float"/>
|
||||
</accessor>
|
||||
</technique_common>
|
||||
</source>
|
||||
<vertices id="Cube_001-mesh-vertices">
|
||||
<input semantic="POSITION" source="#Cube_001-mesh-positions"/>
|
||||
</vertices>
|
||||
<polylist count="12">
|
||||
<input semantic="VERTEX" source="#Cube_001-mesh-vertices" offset="0"/>
|
||||
<input semantic="NORMAL" source="#Cube_001-mesh-normals" offset="1"/>
|
||||
<vcount>3 3 3 3 3 3 3 3 3 3 3 3 </vcount>
|
||||
<p>3 0 2 0 0 0 7 1 6 1 2 1 5 2 4 2 6 2 1 3 0 3 4 3 2 4 6 4 4 4 7 5 3 5 1 5 1 0 3 0 0 0 3 1 7 1 2 1 7 2 5 2 6 2 5 3 1 3 4 3 0 4 2 4 4 4 5 5 7 5 1 5</p>
|
||||
</polylist>
|
||||
</mesh>
|
||||
</geometry>
|
||||
</library_geometries>
|
||||
<library_controllers>
|
||||
<controller id="Armature_Cube-skin" name="Armature">
|
||||
<skin source="#Cube_001-mesh">
|
||||
<bind_shape_matrix>1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1</bind_shape_matrix>
|
||||
<source id="Armature_Cube-skin-joints">
|
||||
<Name_array id="Armature_Cube-skin-joints-array" count="1">Bone</Name_array>
|
||||
<technique_common>
|
||||
<accessor source="#Armature_Cube-skin-joints-array" count="1" stride="1">
|
||||
<param name="JOINT" type="name"/>
|
||||
</accessor>
|
||||
</technique_common>
|
||||
</source>
|
||||
<source id="Armature_Cube-skin-bind_poses">
|
||||
<float_array id="Armature_Cube-skin-bind_poses-array" count="16">0 -1 0 0 1 0 0 0 0 0 1 0 0 0 0 1</float_array>
|
||||
<technique_common>
|
||||
<accessor source="#Armature_Cube-skin-bind_poses-array" count="1" stride="16">
|
||||
<param name="TRANSFORM" type="float4x4"/>
|
||||
</accessor>
|
||||
</technique_common>
|
||||
</source>
|
||||
<source id="Armature_Cube-skin-weights">
|
||||
<float_array id="Armature_Cube-skin-weights-array" count="4">1 1 1 1</float_array>
|
||||
<technique_common>
|
||||
<accessor source="#Armature_Cube-skin-weights-array" count="4" stride="1">
|
||||
<param name="WEIGHT" type="float"/>
|
||||
</accessor>
|
||||
</technique_common>
|
||||
</source>
|
||||
<joints>
|
||||
<input semantic="JOINT" source="#Armature_Cube-skin-joints"/>
|
||||
<input semantic="INV_BIND_MATRIX" source="#Armature_Cube-skin-bind_poses"/>
|
||||
</joints>
|
||||
<vertex_weights count="8">
|
||||
<input semantic="JOINT" source="#Armature_Cube-skin-joints" offset="0"/>
|
||||
<input semantic="WEIGHT" source="#Armature_Cube-skin-weights" offset="1"/>
|
||||
<vcount>0 0 0 0 1 1 1 1 </vcount>
|
||||
<v>0 0 0 1 0 2 0 3</v>
|
||||
</vertex_weights>
|
||||
</skin>
|
||||
</controller>
|
||||
</library_controllers>
|
||||
<library_visual_scenes>
|
||||
<visual_scene id="Scene" name="Scene">
|
||||
<node id="Armature" name="Armature" type="NODE">
|
||||
<matrix sid="transform">1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1</matrix>
|
||||
<node id="Bone" name="Bone" sid="Bone" type="JOINT">
|
||||
<matrix sid="transform">0 1 0 0 -1 0 0 0 0 0 1 0 0 0 0 1</matrix>
|
||||
</node>
|
||||
</node>
|
||||
<node id="Cube" name="Cube" type="NODE">
|
||||
<translate sid="location">0 0 0</translate>
|
||||
<rotate sid="rotationZ">0 0 1 0</rotate>
|
||||
<rotate sid="rotationY">0 1 0 0</rotate>
|
||||
<rotate sid="rotationX">1 0 0 0</rotate>
|
||||
<scale sid="scale">1 1 1</scale>
|
||||
<instance_controller url="#Armature_Cube-skin">
|
||||
<skeleton>#Bone</skeleton>
|
||||
</instance_controller>
|
||||
</node>
|
||||
</visual_scene>
|
||||
</library_visual_scenes>
|
||||
<scene>
|
||||
<instance_visual_scene url="#Scene"/>
|
||||
</scene>
|
||||
</COLLADA>
|
||||
116
4-high/gel/applet/demo/skinning/rig/box_rig/box_2_bone.dae
Normal file
116
4-high/gel/applet/demo/skinning/rig/box_rig/box_2_bone.dae
Normal file
@@ -0,0 +1,116 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<COLLADA xmlns="http://www.collada.org/2005/11/COLLADASchema" version="1.4.1">
|
||||
<asset>
|
||||
<contributor>
|
||||
<author>Blender User</author>
|
||||
<authoring_tool>Blender 2.75.0 commit date:2015-07-07, commit time:14:56, hash:c27589e</authoring_tool>
|
||||
</contributor>
|
||||
<created>2015-09-26T23:10:24</created>
|
||||
<modified>2015-09-26T23:10:24</modified>
|
||||
<unit name="meter" meter="1"/>
|
||||
<up_axis>Z_UP</up_axis>
|
||||
</asset>
|
||||
<library_images/>
|
||||
<library_geometries>
|
||||
<geometry id="Cube_001-mesh" name="Cube.001">
|
||||
<mesh>
|
||||
<source id="Cube_001-mesh-positions">
|
||||
<float_array id="Cube_001-mesh-positions-array" count="48">-1 -1 -1 -1 -1 1 -1 1 -1 -1 1 1 1 -1 -1 1 -1 1 1 1 -1 1 1 1 -1 -1 1 -1 1 1 1 -1 1 1 1 1 -1 -1 3 -1 1 3 1 -1 3 1 1 3</float_array>
|
||||
<technique_common>
|
||||
<accessor source="#Cube_001-mesh-positions-array" count="16" stride="3">
|
||||
<param name="X" type="float"/>
|
||||
<param name="Y" type="float"/>
|
||||
<param name="Z" type="float"/>
|
||||
</accessor>
|
||||
</technique_common>
|
||||
</source>
|
||||
<source id="Cube_001-mesh-normals">
|
||||
<float_array id="Cube_001-mesh-normals-array" count="18">-1 0 0 0 1 0 1 0 0 0 -1 0 0 0 -1 0 0 1</float_array>
|
||||
<technique_common>
|
||||
<accessor source="#Cube_001-mesh-normals-array" count="6" stride="3">
|
||||
<param name="X" type="float"/>
|
||||
<param name="Y" type="float"/>
|
||||
<param name="Z" type="float"/>
|
||||
</accessor>
|
||||
</technique_common>
|
||||
</source>
|
||||
<vertices id="Cube_001-mesh-vertices">
|
||||
<input semantic="POSITION" source="#Cube_001-mesh-positions"/>
|
||||
</vertices>
|
||||
<polylist count="28">
|
||||
<input semantic="VERTEX" source="#Cube_001-mesh-vertices" offset="0"/>
|
||||
<input semantic="NORMAL" source="#Cube_001-mesh-normals" offset="1"/>
|
||||
<vcount>3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 </vcount>
|
||||
<p>3 0 2 0 0 0 7 1 6 1 2 1 5 2 4 2 6 2 1 3 0 3 4 3 2 4 6 4 4 4 3 5 9 5 11 5 10 3 14 3 12 3 7 5 11 5 10 5 1 5 8 5 9 5 5 5 10 5 8 5 15 5 13 5 12 5 9 1 13 1 15 1 11 2 15 2 14 2 8 0 12 0 13 0 1 0 3 0 0 0 3 1 7 1 2 1 7 2 5 2 6 2 5 3 1 3 4 3 0 4 2 4 4 4 7 5 3 5 11 5 8 3 10 3 12 3 5 5 7 5 10 5 3 5 1 5 9 5 1 5 5 5 8 5 14 5 15 5 12 5 11 1 9 1 15 1 10 2 11 2 14 2 9 0 8 0 13 0</p>
|
||||
</polylist>
|
||||
</mesh>
|
||||
</geometry>
|
||||
</library_geometries>
|
||||
<library_controllers>
|
||||
<controller id="Armature_Cube-skin" name="Armature">
|
||||
<skin source="#Cube_001-mesh">
|
||||
<bind_shape_matrix>1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1</bind_shape_matrix>
|
||||
<source id="Armature_Cube-skin-joints">
|
||||
<Name_array id="Armature_Cube-skin-joints-array" count="2">Bone_1 Bone_2</Name_array>
|
||||
<technique_common>
|
||||
<accessor source="#Armature_Cube-skin-joints-array" count="2" stride="1">
|
||||
<param name="JOINT" type="name"/>
|
||||
</accessor>
|
||||
</technique_common>
|
||||
</source>
|
||||
<source id="Armature_Cube-skin-bind_poses">
|
||||
<float_array id="Armature_Cube-skin-bind_poses-array" count="32">1 0 0 0 0 0 1 0 0 -1 0 0 0 0 0 1 1 0 0 0 0 0 1 -1.5 0 -1 0 0 0 0 0 1</float_array>
|
||||
<technique_common>
|
||||
<accessor source="#Armature_Cube-skin-bind_poses-array" count="2" stride="16">
|
||||
<param name="TRANSFORM" type="float4x4"/>
|
||||
</accessor>
|
||||
</technique_common>
|
||||
</source>
|
||||
<source id="Armature_Cube-skin-weights">
|
||||
<float_array id="Armature_Cube-skin-weights-array" count="12">1 1 1 1 1 1 1 1 1 1 1 1</float_array>
|
||||
<technique_common>
|
||||
<accessor source="#Armature_Cube-skin-weights-array" count="12" stride="1">
|
||||
<param name="WEIGHT" type="float"/>
|
||||
</accessor>
|
||||
</technique_common>
|
||||
</source>
|
||||
<joints>
|
||||
<input semantic="JOINT" source="#Armature_Cube-skin-joints"/>
|
||||
<input semantic="INV_BIND_MATRIX" source="#Armature_Cube-skin-bind_poses"/>
|
||||
</joints>
|
||||
<vertex_weights count="16">
|
||||
<input semantic="JOINT" source="#Armature_Cube-skin-joints" offset="0"/>
|
||||
<input semantic="WEIGHT" source="#Armature_Cube-skin-weights" offset="1"/>
|
||||
<vcount>0 1 0 1 0 1 0 1 1 1 1 1 1 1 1 1 </vcount>
|
||||
<v>0 0 0 1 0 2 0 3 0 4 0 5 0 6 0 7 1 8 1 9 1 10 1 11</v>
|
||||
</vertex_weights>
|
||||
</skin>
|
||||
</controller>
|
||||
</library_controllers>
|
||||
<library_visual_scenes>
|
||||
<visual_scene id="Scene" name="Scene">
|
||||
<node id="Armature" name="Armature" type="NODE">
|
||||
<matrix sid="transform">1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1</matrix>
|
||||
<node id="Bone_1" name="Bone_1" sid="Bone_1" type="JOINT">
|
||||
<matrix sid="transform">1 0 0 0 0 0 -1 0 0 1 0 0 0 0 0 1</matrix>
|
||||
<node id="Bone_2" name="Bone_2" sid="Bone_2" type="JOINT">
|
||||
<matrix sid="transform">1 0 0 0 0 1 0 1.5 0 0 1 0 0 0 0 1</matrix>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node id="Cube" name="Cube" type="NODE">
|
||||
<translate sid="location">0 0 0</translate>
|
||||
<rotate sid="rotationZ">0 0 1 0</rotate>
|
||||
<rotate sid="rotationY">0 1 0 0</rotate>
|
||||
<rotate sid="rotationX">1 0 0 0</rotate>
|
||||
<scale sid="scale">1 1 1</scale>
|
||||
<instance_controller url="#Armature_Cube-skin">
|
||||
<skeleton>#Bone_1</skeleton>
|
||||
</instance_controller>
|
||||
</node>
|
||||
</visual_scene>
|
||||
</library_visual_scenes>
|
||||
<scene>
|
||||
<instance_visual_scene url="#Scene"/>
|
||||
</scene>
|
||||
</COLLADA>
|
||||
@@ -0,0 +1,116 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<COLLADA xmlns="http://www.collada.org/2005/11/COLLADASchema" version="1.4.1">
|
||||
<asset>
|
||||
<contributor>
|
||||
<author>Blender User</author>
|
||||
<authoring_tool>Blender 2.75.0 commit date:2015-07-07, commit time:14:56, hash:c27589e</authoring_tool>
|
||||
</contributor>
|
||||
<created>2015-09-26T23:58:43</created>
|
||||
<modified>2015-09-26T23:58:43</modified>
|
||||
<unit name="meter" meter="1"/>
|
||||
<up_axis>Z_UP</up_axis>
|
||||
</asset>
|
||||
<library_images/>
|
||||
<library_geometries>
|
||||
<geometry id="Cube_002-mesh" name="Cube.002">
|
||||
<mesh>
|
||||
<source id="Cube_002-mesh-positions">
|
||||
<float_array id="Cube_002-mesh-positions-array" count="48">-1 -1 -1 -1 -1 1 -1 1 -1 -1 1 1 1 -1 -1 1 -1 1 1 1 -1 1 1 1 1 1 1 1 1 -1 1 -1 1 1 -1 -1 3.015397 1 1 3.015397 1 -1 3.015397 -1 1 3.015397 -1 -1</float_array>
|
||||
<technique_common>
|
||||
<accessor source="#Cube_002-mesh-positions-array" count="16" stride="3">
|
||||
<param name="X" type="float"/>
|
||||
<param name="Y" type="float"/>
|
||||
<param name="Z" type="float"/>
|
||||
</accessor>
|
||||
</technique_common>
|
||||
</source>
|
||||
<source id="Cube_002-mesh-normals">
|
||||
<float_array id="Cube_002-mesh-normals-array" count="18">-1 0 0 0 1 0 0 0 1 0 -1 0 0 0 -1 1 0 0</float_array>
|
||||
<technique_common>
|
||||
<accessor source="#Cube_002-mesh-normals-array" count="6" stride="3">
|
||||
<param name="X" type="float"/>
|
||||
<param name="Y" type="float"/>
|
||||
<param name="Z" type="float"/>
|
||||
</accessor>
|
||||
</technique_common>
|
||||
</source>
|
||||
<vertices id="Cube_002-mesh-vertices">
|
||||
<input semantic="POSITION" source="#Cube_002-mesh-positions"/>
|
||||
</vertices>
|
||||
<polylist count="28">
|
||||
<input semantic="VERTEX" source="#Cube_002-mesh-vertices" offset="0"/>
|
||||
<input semantic="NORMAL" source="#Cube_002-mesh-normals" offset="1"/>
|
||||
<vcount>3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 </vcount>
|
||||
<p>3 0 2 0 0 0 7 1 6 1 2 1 6 2 9 2 11 2 1 3 0 3 4 3 2 4 6 4 4 4 7 2 3 2 1 2 9 4 13 4 15 4 5 2 10 2 8 2 7 2 8 2 9 2 4 2 11 2 10 2 14 5 15 5 13 5 10 2 14 2 12 2 11 3 15 3 14 3 8 1 12 1 13 1 1 0 3 0 0 0 3 1 7 1 2 1 4 2 6 2 11 2 5 3 1 3 4 3 0 4 2 4 4 4 5 2 7 2 1 2 11 4 9 4 15 4 7 2 5 2 8 2 6 2 7 2 9 2 5 2 4 2 10 2 12 5 14 5 13 5 8 2 10 2 12 2 10 3 11 3 14 3 9 1 8 1 13 1</p>
|
||||
</polylist>
|
||||
</mesh>
|
||||
</geometry>
|
||||
</library_geometries>
|
||||
<library_controllers>
|
||||
<controller id="Armature_Cube-skin" name="Armature">
|
||||
<skin source="#Cube_002-mesh">
|
||||
<bind_shape_matrix>1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1</bind_shape_matrix>
|
||||
<source id="Armature_Cube-skin-joints">
|
||||
<Name_array id="Armature_Cube-skin-joints-array" count="2">Bone_1 Bone_2</Name_array>
|
||||
<technique_common>
|
||||
<accessor source="#Armature_Cube-skin-joints-array" count="2" stride="1">
|
||||
<param name="JOINT" type="name"/>
|
||||
</accessor>
|
||||
</technique_common>
|
||||
</source>
|
||||
<source id="Armature_Cube-skin-bind_poses">
|
||||
<float_array id="Armature_Cube-skin-bind_poses-array" count="32">0 -1 0 0 1 0 0 0 0 0 1 0 0 0 0 1 0 -1 0 0 1 0 0 -1.5 0 0 1 0 0 0 0 1</float_array>
|
||||
<technique_common>
|
||||
<accessor source="#Armature_Cube-skin-bind_poses-array" count="2" stride="16">
|
||||
<param name="TRANSFORM" type="float4x4"/>
|
||||
</accessor>
|
||||
</technique_common>
|
||||
</source>
|
||||
<source id="Armature_Cube-skin-weights">
|
||||
<float_array id="Armature_Cube-skin-weights-array" count="12">1 1 1 1 1 1 1 1 1 1 1 1</float_array>
|
||||
<technique_common>
|
||||
<accessor source="#Armature_Cube-skin-weights-array" count="12" stride="1">
|
||||
<param name="WEIGHT" type="float"/>
|
||||
</accessor>
|
||||
</technique_common>
|
||||
</source>
|
||||
<joints>
|
||||
<input semantic="JOINT" source="#Armature_Cube-skin-joints"/>
|
||||
<input semantic="INV_BIND_MATRIX" source="#Armature_Cube-skin-bind_poses"/>
|
||||
</joints>
|
||||
<vertex_weights count="16">
|
||||
<input semantic="JOINT" source="#Armature_Cube-skin-joints" offset="0"/>
|
||||
<input semantic="WEIGHT" source="#Armature_Cube-skin-weights" offset="1"/>
|
||||
<vcount>0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 </vcount>
|
||||
<v>0 0 0 1 0 2 0 3 0 4 0 5 0 6 0 7 1 8 1 9 1 10 1 11</v>
|
||||
</vertex_weights>
|
||||
</skin>
|
||||
</controller>
|
||||
</library_controllers>
|
||||
<library_visual_scenes>
|
||||
<visual_scene id="Scene" name="Scene">
|
||||
<node id="Armature" name="Armature" type="NODE">
|
||||
<matrix sid="transform">1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1</matrix>
|
||||
<node id="Bone_1" name="Bone_1" sid="Bone_1" type="JOINT">
|
||||
<matrix sid="transform">0 1 0 0 -1 0 0 0 0 0 1 0 0 0 0 1</matrix>
|
||||
<node id="Bone_2" name="Bone_2" sid="Bone_2" type="JOINT">
|
||||
<matrix sid="transform">1 0 0 0 0 1 0 1.5 0 0 1 0 0 0 0 1</matrix>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node id="Cube" name="Cube" type="NODE">
|
||||
<translate sid="location">0 0 0</translate>
|
||||
<rotate sid="rotationZ">0 0 1 0</rotate>
|
||||
<rotate sid="rotationY">0 1 0 0</rotate>
|
||||
<rotate sid="rotationX">1 0 0 0</rotate>
|
||||
<scale sid="scale">1 1 1</scale>
|
||||
<instance_controller url="#Armature_Cube-skin">
|
||||
<skeleton>#Bone_1</skeleton>
|
||||
</instance_controller>
|
||||
</node>
|
||||
</visual_scene>
|
||||
</library_visual_scenes>
|
||||
<scene>
|
||||
<instance_visual_scene url="#Scene"/>
|
||||
</scene>
|
||||
</COLLADA>
|
||||
119
4-high/gel/applet/demo/skinning/rig/box_rig/box_3_bone.dae
Normal file
119
4-high/gel/applet/demo/skinning/rig/box_rig/box_3_bone.dae
Normal file
@@ -0,0 +1,119 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<COLLADA xmlns="http://www.collada.org/2005/11/COLLADASchema" version="1.4.1">
|
||||
<asset>
|
||||
<contributor>
|
||||
<author>Blender User</author>
|
||||
<authoring_tool>Blender 2.76.0 commit date:2015-09-30, commit time:16:05, hash:fb78f6d</authoring_tool>
|
||||
</contributor>
|
||||
<created>2015-10-06T22:09:01</created>
|
||||
<modified>2015-10-06T22:09:01</modified>
|
||||
<unit name="meter" meter="1"/>
|
||||
<up_axis>Z_UP</up_axis>
|
||||
</asset>
|
||||
<library_images/>
|
||||
<library_geometries>
|
||||
<geometry id="Cube_001-mesh" name="Cube.001">
|
||||
<mesh>
|
||||
<source id="Cube_001-mesh-positions">
|
||||
<float_array id="Cube_001-mesh-positions-array" count="48">-1 -1 -1 -1 -1 1 -1 1 -1 -1 1 1 1 -1 -1 1 -1 1 1 1 -1 1 1 1 -1 -1 1 -1 1 1 1 -1 1 1 1 1 -1 -1 3 -1 1 3 1 -1 3 1 1 3</float_array>
|
||||
<technique_common>
|
||||
<accessor source="#Cube_001-mesh-positions-array" count="16" stride="3">
|
||||
<param name="X" type="float"/>
|
||||
<param name="Y" type="float"/>
|
||||
<param name="Z" type="float"/>
|
||||
</accessor>
|
||||
</technique_common>
|
||||
</source>
|
||||
<source id="Cube_001-mesh-normals">
|
||||
<float_array id="Cube_001-mesh-normals-array" count="18">-1 0 0 0 1 0 1 0 0 0 -1 0 0 0 -1 0 0 1</float_array>
|
||||
<technique_common>
|
||||
<accessor source="#Cube_001-mesh-normals-array" count="6" stride="3">
|
||||
<param name="X" type="float"/>
|
||||
<param name="Y" type="float"/>
|
||||
<param name="Z" type="float"/>
|
||||
</accessor>
|
||||
</technique_common>
|
||||
</source>
|
||||
<vertices id="Cube_001-mesh-vertices">
|
||||
<input semantic="POSITION" source="#Cube_001-mesh-positions"/>
|
||||
</vertices>
|
||||
<polylist count="28">
|
||||
<input semantic="VERTEX" source="#Cube_001-mesh-vertices" offset="0"/>
|
||||
<input semantic="NORMAL" source="#Cube_001-mesh-normals" offset="1"/>
|
||||
<vcount>3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 </vcount>
|
||||
<p>3 0 2 0 0 0 7 1 6 1 2 1 5 2 4 2 6 2 1 3 0 3 4 3 2 4 6 4 4 4 3 5 9 5 11 5 10 3 14 3 12 3 7 5 11 5 10 5 1 5 8 5 9 5 5 5 10 5 8 5 15 5 13 5 12 5 9 1 13 1 15 1 11 2 15 2 14 2 8 0 12 0 13 0 1 0 3 0 0 0 3 1 7 1 2 1 7 2 5 2 6 2 5 3 1 3 4 3 0 4 2 4 4 4 7 5 3 5 11 5 8 3 10 3 12 3 5 5 7 5 10 5 3 5 1 5 9 5 1 5 5 5 8 5 14 5 15 5 12 5 11 1 9 1 15 1 10 2 11 2 14 2 9 0 8 0 13 0</p>
|
||||
</polylist>
|
||||
</mesh>
|
||||
</geometry>
|
||||
</library_geometries>
|
||||
<library_controllers>
|
||||
<controller id="Armature_Cube-skin" name="Armature">
|
||||
<skin source="#Cube_001-mesh">
|
||||
<bind_shape_matrix>1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1</bind_shape_matrix>
|
||||
<source id="Armature_Cube-skin-joints">
|
||||
<Name_array id="Armature_Cube-skin-joints-array" count="3">Bone_1 Bone_2 Bone_1_001</Name_array>
|
||||
<technique_common>
|
||||
<accessor source="#Armature_Cube-skin-joints-array" count="3" stride="1">
|
||||
<param name="JOINT" type="name"/>
|
||||
</accessor>
|
||||
</technique_common>
|
||||
</source>
|
||||
<source id="Armature_Cube-skin-bind_poses">
|
||||
<float_array id="Armature_Cube-skin-bind_poses-array" count="48">1 0 0 0 0 0 1 0 0 -1 0 0 0 0 0 1 0.6923077 -0.5547002 -0.4615384 0.6923077 0.5547002 0 0.8320503 -1.248075 -0.4615384 -0.8320503 0.3076923 -0.4615384 0 0 0 1 0.6923077 0.5547002 0.4615384 -0.6923077 -0.5547002 0 0.8320503 -1.248075 0.4615384 -0.8320503 0.3076923 -0.4615384 0 0 0 1</float_array>
|
||||
<technique_common>
|
||||
<accessor source="#Armature_Cube-skin-bind_poses-array" count="3" stride="16">
|
||||
<param name="TRANSFORM" type="float4x4"/>
|
||||
</accessor>
|
||||
</technique_common>
|
||||
</source>
|
||||
<source id="Armature_Cube-skin-weights">
|
||||
<float_array id="Armature_Cube-skin-weights-array" count="8">1 1 1 1 1 1 1 1</float_array>
|
||||
<technique_common>
|
||||
<accessor source="#Armature_Cube-skin-weights-array" count="8" stride="1">
|
||||
<param name="WEIGHT" type="float"/>
|
||||
</accessor>
|
||||
</technique_common>
|
||||
</source>
|
||||
<joints>
|
||||
<input semantic="JOINT" source="#Armature_Cube-skin-joints"/>
|
||||
<input semantic="INV_BIND_MATRIX" source="#Armature_Cube-skin-bind_poses"/>
|
||||
</joints>
|
||||
<vertex_weights count="16">
|
||||
<input semantic="JOINT" source="#Armature_Cube-skin-joints" offset="0"/>
|
||||
<input semantic="WEIGHT" source="#Armature_Cube-skin-weights" offset="1"/>
|
||||
<vcount>1 0 1 0 1 0 1 0 0 0 0 0 1 1 1 1 </vcount>
|
||||
<v>0 0 0 1 0 2 0 3 2 4 2 5 1 6 1 7</v>
|
||||
</vertex_weights>
|
||||
</skin>
|
||||
</controller>
|
||||
</library_controllers>
|
||||
<library_visual_scenes>
|
||||
<visual_scene id="Scene" name="Scene">
|
||||
<node id="Armature" name="Armature" type="NODE">
|
||||
<matrix sid="transform">1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1</matrix>
|
||||
<node id="Bone_1" name="Bone_1" sid="Bone_1" type="JOINT">
|
||||
<matrix sid="transform">1 0 0 0 0 0 -1 0 0 1 0 0 0 0 0 1</matrix>
|
||||
<node id="Bone_2" name="Bone_2" sid="Bone_2" type="JOINT">
|
||||
<matrix sid="transform">0.6923077 0.5547002 -0.4615384 0 -0.4615385 0.8320503 0.3076923 1.5 0.5547001 0 0.8320503 0 0 0 0 1</matrix>
|
||||
</node>
|
||||
<node id="Bone_1_001" name="Bone_1.001" sid="Bone_1_001" type="JOINT">
|
||||
<matrix sid="transform">0.6923077 -0.5547002 0.4615384 0 0.4615385 0.8320503 0.3076923 1.5 -0.5547001 0 0.8320503 0 0 0 0 1</matrix>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node id="Cube" name="Cube" type="NODE">
|
||||
<translate sid="location">0 0 0</translate>
|
||||
<rotate sid="rotationZ">0 0 1 0</rotate>
|
||||
<rotate sid="rotationY">0 1 0 0</rotate>
|
||||
<rotate sid="rotationX">1 0 0 0</rotate>
|
||||
<scale sid="scale">1 1 1</scale>
|
||||
<instance_controller url="#Armature_Cube-skin">
|
||||
<skeleton>#Bone_1</skeleton>
|
||||
</instance_controller>
|
||||
</node>
|
||||
</visual_scene>
|
||||
</library_visual_scenes>
|
||||
<scene>
|
||||
<instance_visual_scene url="#Scene"/>
|
||||
</scene>
|
||||
</COLLADA>
|
||||
@@ -0,0 +1,80 @@
|
||||
Custom Human Rigs
|
||||
~~~~~~~~~~~~~~~~~
|
||||
|
||||
|
||||
Dependencies:
|
||||
|
||||
- makeHuman v1.02+
|
||||
- Blender v2.76+
|
||||
- Blender MoCap Addons (for animations)
|
||||
- Blender MakeHuman imports Addon
|
||||
|
||||
|
||||
Workflow:
|
||||
|
||||
Creating a basic, default human:
|
||||
|
||||
1) ~ makeHuman
|
||||
- Start makeHuman.
|
||||
- Go to Geometries/Eyes panel, select 'None'.
|
||||
- Go to Pose/Animate panel, select 'game.json'.
|
||||
- Go to Files/Export panel, set 'Mesh Format' to 'Blender exchange',
|
||||
turn off 'Feet on Ground' option,
|
||||
set 'Scale Units' to 'meter',
|
||||
set 'Filename' field to 'human',
|
||||
click the 'Export' button (next to the Filename field).
|
||||
- Close makeHuman.
|
||||
|
||||
2.0) ~ Blender
|
||||
2.1)
|
||||
- Start blender.
|
||||
- Press 'a' 'a' 'Delete' keys, then confirm that all should be deleted.
|
||||
- In the 'File' menu, select 'Import' and then select 'MakeHuman' in the subMenu.
|
||||
- This will bring up a dialog which asks for the location of the 'MakeHuman/Blender Export' file we have formerly created with the makeHuman app.
|
||||
- By default, this file is usually located at ~/makehuman/v1/exports/human.mhx
|
||||
- Once the file has been imported into Blender, we should see the skin and bones of the model (zoom in via mouse wheel for better view).
|
||||
2.2)
|
||||
- In the 'File' menu, select 'Export' and then select 'Collada' in the subMenu.
|
||||
- Set 'Filename' field to 'human.dae'.
|
||||
- Click the 'Export Collada' button (next to the Filename field).
|
||||
|
||||
3) ~ Lace/MMI
|
||||
- The generated Collada .dae file can now be imported as an MMI Rig (whose motion is controlled by phsyical forces ... ie gravity, etc).
|
||||
|
||||
|
||||
|
||||
Creating a basic, default animated human:
|
||||
|
||||
1) As above.
|
||||
|
||||
2.0) ~ Blender
|
||||
2.1)
|
||||
- As above.
|
||||
2.2)
|
||||
- In the 'File' menu, select 'Import' and then select 'Motion Capture' in the subMenu.
|
||||
- Navigate to the folder which contains the desired motion capture file, select it and click the 'Import BVH' button.
|
||||
- In the 'Poperties' panel, select the 'Object' icon (a little orange cube).
|
||||
- Use the mouse wheel to zoom out, until you see the imported BVH rig, and then select it with right mouse button.
|
||||
- Use the mouse wheel to zoom in, until you see the the original human model, and then add it to the selection set with <shift> right mouse button.
|
||||
- You should see in the 'Properties' panel (under the MoCap tools) a means of mapping from the imported 'MoCap BVH' rig bones to our 'makeHuman rig' bones.
|
||||
- Before we do the bone mapping, we must click the MoCap tools 'AutoScale' button. This scales the 'MoCap BVH' rig to match the scale of our makeHuman model.
|
||||
- Now we do the bone mapping:
|
||||
- Click the 'Guess Hierachy Mapping' button in 'MoCap Tools' panel. This will attempt to do as much of the mapping as it can 'guess' (based on bone name similarity).
|
||||
- Go thru each remaining 'unguessed' BVH bone and assign the equivalent bone in the makeHuman rig. If there is no matching bone, ignore it.
|
||||
- Mark any 'feet' bones by clicking on the 'little man with one foot on ground' icon. This allows the Retarget to prevent 'skating'.
|
||||
- When bone mapping between BVH rig and makeHuman rig is done, click the 'Save Mapping' button and then save the blender file (for future use).
|
||||
|
||||
- Click the 'Advanced Retargetting' checkbox and then click the 'RETARGET' button ... this might take some time 5..20 mins depending on your cpu speed.
|
||||
|
||||
- Now we get rid of the BVH rig, as it's animation info has been placed into the Human rig.
|
||||
- Select the BVH rig (in Blenders Object mode) and press 'Delete'.
|
||||
|
||||
2.3)
|
||||
- In the 'File' menu, select 'Export' and then select 'Collada' in the subMenu.
|
||||
- Set 'Filename' field to 'animated_human.dae'.
|
||||
- Click the 'Export Collada' button (next to the Filename field).
|
||||
|
||||
3) ~ Lace/MMI
|
||||
- The generated Collada .dae file can now be imported as an MMI Rig with ability to animate as per BVH motions, as well as via normal physics.
|
||||
|
||||
|
||||
134
4-high/gel/applet/demo/skinning/rig/box_rig/launch_rig_demo.adb
Normal file
134
4-high/gel/applet/demo/skinning/rig/box_rig/launch_rig_demo.adb
Normal file
@@ -0,0 +1,134 @@
|
||||
with
|
||||
gel.Window.setup,
|
||||
gel.Applet.gui_world,
|
||||
gel.World,
|
||||
gel.Camera,
|
||||
gel.Sprite,
|
||||
gel.Rig,
|
||||
gel.Forge,
|
||||
|
||||
openGL.Model.any,
|
||||
openGL.Light,
|
||||
|
||||
ada.Calendar;
|
||||
|
||||
pragma unreferenced (gel.Window.setup);
|
||||
|
||||
|
||||
procedure launch_rig_Demo
|
||||
--
|
||||
-- Simple rigged box model with two animated bones.
|
||||
--
|
||||
--
|
||||
is
|
||||
use gel.Rig,
|
||||
openGL,
|
||||
ada.Calendar;
|
||||
|
||||
-----------
|
||||
--- Utility
|
||||
--
|
||||
|
||||
-- function "+" (From : in String) return ada.strings.unbounded.unbounded_String
|
||||
-- renames ada.strings.unbounded.To_unbounded_String;
|
||||
|
||||
-------------
|
||||
--- Variables
|
||||
--
|
||||
the_Applet : constant gel.Applet.gui_World.view := gel.Forge.new_gui_Applet ("Rig Demo", 1536, 864);
|
||||
|
||||
the_Ground : constant gel.Sprite.view := gel.Forge.new_box_Sprite (the_Applet.gui_World,
|
||||
Mass => 0.0,
|
||||
Size => [50.0, 1.0, 50.0]);
|
||||
|
||||
the_rig_Model : aliased constant openGL.Model.any.view := openGL.Model.any.new_Model (--Scale => (1.0, 1.0, 1.0),
|
||||
-- Model => openGL.to_Asset ("./tarantula-rigged.dae"),
|
||||
Model => openGL.to_Asset ("./box_1_bone.dae"),
|
||||
-- Model => openGL.to_Asset ("./box_2_bone.dae"),
|
||||
Texture => openGL.null_Asset,
|
||||
Texture_is_lucid => False);
|
||||
the_Rig : aliased gel.Rig.item;
|
||||
|
||||
next_render_Time : ada.calendar.Time;
|
||||
|
||||
begin
|
||||
the_Applet.gui_Camera.Site_is ([0.0, 0.0, 10.0]); -- Position the camera
|
||||
|
||||
the_Applet.enable_simple_Dolly (1); -- Enable user camera control via keyboards
|
||||
the_Applet.Dolly.Speed_is (0.05);
|
||||
|
||||
the_Applet.enable_Mouse (detect_Motion => False); -- Enable mouse events.
|
||||
|
||||
the_Applet.gui_World.Gravity_is ([0.0, -0.0, 0.0]);
|
||||
|
||||
-- Set the lights position and ambient color.
|
||||
--
|
||||
declare
|
||||
Light : openGL.Light.item := the_Applet.Renderer.new_Light;
|
||||
begin
|
||||
Light.Color_is ((0.5, 0.9, 0.5));
|
||||
Light. Site_is ([1000.0, 1000.0, 1000.0]);
|
||||
|
||||
the_Applet.Renderer.set (Light);
|
||||
end;
|
||||
|
||||
|
||||
-- declare
|
||||
-- leaf_bone_Lengths : bone_id_Map_of_details;
|
||||
-- begin
|
||||
-- leaf_bone_Lengths.insert (+"head", to_Details (length => 0.13));
|
||||
-- leaf_bone_Lengths.insert (+"jaw", to_Details (length => 0.11));
|
||||
--
|
||||
-- leaf_bone_Lengths.insert (+"eye_L", to_Details (length => 0.015));
|
||||
-- leaf_bone_Lengths.insert (+"eye_R", to_Details (length => 0.015));
|
||||
--
|
||||
-- leaf_bone_Lengths.insert (+"toe_L", to_Details (length => 0.06));
|
||||
-- leaf_bone_Lengths.insert (+"toe_R", to_Details (length => 0.06));
|
||||
--
|
||||
-- leaf_bone_Lengths.insert (+"thumb_02_L", to_Details (length => 0.02));
|
||||
-- leaf_bone_Lengths.insert (+"thumb_02_R", to_Details (length => 0.02));
|
||||
--
|
||||
-- leaf_bone_Lengths.insert (+"foot_L", to_Details (yaw_Limits => (to_Radians (-0.0),
|
||||
-- to_Radians ( 0.0))));
|
||||
-- leaf_bone_Lengths.insert (+"foot_R", to_Details (yaw_Limits => (to_Radians (-0.0),
|
||||
-- to_Radians ( 0.0))));
|
||||
--
|
||||
--
|
||||
-- leaf_bone_Lengths.insert (+"forearm_L", to_Details (yaw_Limits => (to_Radians (-40.0),
|
||||
-- to_Radians ( 40.0)),
|
||||
-- pitch_Limits => (to_Radians (-40.0),
|
||||
-- to_Radians ( 40.0))));
|
||||
--
|
||||
-- leaf_bone_Lengths.insert (+"upper_arm_L", to_Details (yaw_Limits => (to_Radians (-40.0),
|
||||
-- to_Radians ( 40.0)),
|
||||
-- pitch_Limits => (to_Radians (-40.0),
|
||||
-- to_Radians ( 40.0))));
|
||||
the_Rig.define (the_Applet.gui_World,
|
||||
the_rig_Model.all'Access,
|
||||
Mass => 1.0,
|
||||
-- bone_Details => leaf_bone_Lengths,
|
||||
is_Kinematic => False);
|
||||
-- end;
|
||||
|
||||
the_Ground.Site_is ([0.0, -4.0, 0.0]);
|
||||
-- the_Rig .Spin_is (x_Rotation_from (to_Radians (-90.0)));
|
||||
|
||||
the_Applet.gui_World.add (the_Rig.base_Sprite, and_Children => True); -- Add the rigs armature sprite.
|
||||
the_Applet.gui_World.add (the_Ground, and_Children => False); -- Add the ground sprite.
|
||||
|
||||
the_Rig.enable_Graphics;
|
||||
|
||||
next_render_Time := ada.Calendar.clock;
|
||||
|
||||
while the_Applet.is_open
|
||||
loop
|
||||
the_Applet.gui_World.evolve; -- Evolve the world.
|
||||
the_Rig .evolve (world_Age => the_Applet.gui_World.Age); -- Evolve the rig.
|
||||
the_Applet.freshen; -- Handle any new events and update the screen.
|
||||
|
||||
next_render_Time := next_render_Time + gel.World.evolve_Period;
|
||||
delay until next_render_Time;
|
||||
end loop;
|
||||
|
||||
the_Applet.destroy;
|
||||
end launch_rig_Demo;
|
||||
17
4-high/gel/applet/demo/skinning/rig/box_rig/rig_demo.gpr
Normal file
17
4-high/gel/applet/demo/skinning/rig/box_rig/rig_demo.gpr
Normal file
@@ -0,0 +1,17 @@
|
||||
with
|
||||
"gel",
|
||||
"lace_shared";
|
||||
|
||||
project rig_Demo
|
||||
is
|
||||
for Object_Dir use "build";
|
||||
for Exec_Dir use ".";
|
||||
for Main use ("launch_rig_demo.adb");
|
||||
for Languages use ("Ada");
|
||||
|
||||
package Ide renames Lace_shared.Ide;
|
||||
package Builder renames Lace_shared.Builder;
|
||||
package Compiler renames Lace_shared.Compiler;
|
||||
package Binder renames Lace_shared.Binder;
|
||||
|
||||
end rig_Demo;
|
||||
201
4-high/gel/applet/demo/skinning/rig/box_rig/tarantula-rigged.dae
Normal file
201
4-high/gel/applet/demo/skinning/rig/box_rig/tarantula-rigged.dae
Normal file
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user