Add initial prototype.
@@ -0,0 +1,294 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<COLLADA xmlns="http://www.collada.org/2005/11/COLLADASchema" version="1.4.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<asset>
|
||||
<contributor>
|
||||
<author>Blender User</author>
|
||||
<authoring_tool>Blender 2.93.5 commit date:2021-10-05, commit time:12:04, hash:a791bdabd0b2</authoring_tool>
|
||||
</contributor>
|
||||
<created>2021-11-07T15:25:05</created>
|
||||
<modified>2021-11-07T15:25:05</modified>
|
||||
<unit name="meter" meter="1"/>
|
||||
<up_axis>Z_UP</up_axis>
|
||||
</asset>
|
||||
<library_cameras>
|
||||
<camera id="Camera_001-camera" name="Camera.001">
|
||||
<optics>
|
||||
<technique_common>
|
||||
<perspective>
|
||||
<xfov sid="xfov">39.59775</xfov>
|
||||
<aspect_ratio>1.777778</aspect_ratio>
|
||||
<znear sid="znear">0.1</znear>
|
||||
<zfar sid="zfar">100</zfar>
|
||||
</perspective>
|
||||
</technique_common>
|
||||
</optics>
|
||||
<extra>
|
||||
<technique profile="blender">
|
||||
<shiftx sid="shiftx" type="float">0</shiftx>
|
||||
<shifty sid="shifty" type="float">0</shifty>
|
||||
<dof_distance sid="dof_distance" type="float">10</dof_distance>
|
||||
</technique>
|
||||
</extra>
|
||||
</camera>
|
||||
<camera id="Camera-camera" name="Camera">
|
||||
<optics>
|
||||
<technique_common>
|
||||
<perspective>
|
||||
<xfov sid="xfov">39.59775</xfov>
|
||||
<aspect_ratio>1.777778</aspect_ratio>
|
||||
<znear sid="znear">0.1</znear>
|
||||
<zfar sid="zfar">100</zfar>
|
||||
</perspective>
|
||||
</technique_common>
|
||||
</optics>
|
||||
<extra>
|
||||
<technique profile="blender">
|
||||
<shiftx sid="shiftx" type="float">0</shiftx>
|
||||
<shifty sid="shifty" type="float">0</shifty>
|
||||
<dof_distance sid="dof_distance" type="float">10</dof_distance>
|
||||
</technique>
|
||||
</extra>
|
||||
</camera>
|
||||
</library_cameras>
|
||||
<library_lights>
|
||||
<light id="Light_001-light" name="Light.001">
|
||||
<technique_common>
|
||||
<point>
|
||||
<color sid="color">1000 1000 1000</color>
|
||||
<constant_attenuation>1</constant_attenuation>
|
||||
<linear_attenuation>0</linear_attenuation>
|
||||
<quadratic_attenuation>0.00111109</quadratic_attenuation>
|
||||
</point>
|
||||
</technique_common>
|
||||
<extra>
|
||||
<technique profile="blender">
|
||||
<type sid="type" type="int">0</type>
|
||||
<flag sid="flag" type="int">0</flag>
|
||||
<mode sid="mode" type="int">1</mode>
|
||||
<gamma sid="blender_gamma" type="float">1</gamma>
|
||||
<red sid="red" type="float">1</red>
|
||||
<green sid="green" type="float">1</green>
|
||||
<blue sid="blue" type="float">1</blue>
|
||||
<shadow_r sid="blender_shadow_r" type="float">0</shadow_r>
|
||||
<shadow_g sid="blender_shadow_g" type="float">0</shadow_g>
|
||||
<shadow_b sid="blender_shadow_b" type="float">0</shadow_b>
|
||||
<energy sid="blender_energy" type="float">1000</energy>
|
||||
<dist sid="blender_dist" type="float">29.99998</dist>
|
||||
<spotsize sid="spotsize" type="float">75</spotsize>
|
||||
<spotblend sid="spotblend" type="float">0.15</spotblend>
|
||||
<att1 sid="att1" type="float">0</att1>
|
||||
<att2 sid="att2" type="float">1</att2>
|
||||
<falloff_type sid="falloff_type" type="int">2</falloff_type>
|
||||
<clipsta sid="clipsta" type="float">0.04999995</clipsta>
|
||||
<clipend sid="clipend" type="float">30.002</clipend>
|
||||
<bias sid="bias" type="float">1</bias>
|
||||
<soft sid="soft" type="float">3</soft>
|
||||
<bufsize sid="bufsize" type="int">2880</bufsize>
|
||||
<samp sid="samp" type="int">3</samp>
|
||||
<buffers sid="buffers" type="int">1</buffers>
|
||||
<area_shape sid="area_shape" type="int">1</area_shape>
|
||||
<area_size sid="area_size" type="float">0.1</area_size>
|
||||
<area_sizey sid="area_sizey" type="float">0.1</area_sizey>
|
||||
<area_sizez sid="area_sizez" type="float">1</area_sizez>
|
||||
</technique>
|
||||
</extra>
|
||||
</light>
|
||||
<light id="Light-light" name="Light">
|
||||
<technique_common>
|
||||
<point>
|
||||
<color sid="color">1000 1000 1000</color>
|
||||
<constant_attenuation>1</constant_attenuation>
|
||||
<linear_attenuation>0</linear_attenuation>
|
||||
<quadratic_attenuation>0.00111109</quadratic_attenuation>
|
||||
</point>
|
||||
</technique_common>
|
||||
<extra>
|
||||
<technique profile="blender">
|
||||
<type sid="type" type="int">0</type>
|
||||
<flag sid="flag" type="int">0</flag>
|
||||
<mode sid="mode" type="int">1</mode>
|
||||
<gamma sid="blender_gamma" type="float">1</gamma>
|
||||
<red sid="red" type="float">1</red>
|
||||
<green sid="green" type="float">1</green>
|
||||
<blue sid="blue" type="float">1</blue>
|
||||
<shadow_r sid="blender_shadow_r" type="float">0</shadow_r>
|
||||
<shadow_g sid="blender_shadow_g" type="float">0</shadow_g>
|
||||
<shadow_b sid="blender_shadow_b" type="float">0</shadow_b>
|
||||
<energy sid="blender_energy" type="float">1000</energy>
|
||||
<dist sid="blender_dist" type="float">29.99998</dist>
|
||||
<spotsize sid="spotsize" type="float">75</spotsize>
|
||||
<spotblend sid="spotblend" type="float">0.15</spotblend>
|
||||
<att1 sid="att1" type="float">0</att1>
|
||||
<att2 sid="att2" type="float">1</att2>
|
||||
<falloff_type sid="falloff_type" type="int">2</falloff_type>
|
||||
<clipsta sid="clipsta" type="float">0.04999995</clipsta>
|
||||
<clipend sid="clipend" type="float">30.002</clipend>
|
||||
<bias sid="bias" type="float">1</bias>
|
||||
<soft sid="soft" type="float">3</soft>
|
||||
<bufsize sid="bufsize" type="int">2880</bufsize>
|
||||
<samp sid="samp" type="int">3</samp>
|
||||
<buffers sid="buffers" type="int">1</buffers>
|
||||
<area_shape sid="area_shape" type="int">1</area_shape>
|
||||
<area_size sid="area_size" type="float">0.1</area_size>
|
||||
<area_sizey sid="area_sizey" type="float">0.1</area_sizey>
|
||||
<area_sizez sid="area_sizez" type="float">1</area_sizez>
|
||||
</technique>
|
||||
</extra>
|
||||
</light>
|
||||
</library_lights>
|
||||
<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>
|
||||
<triangles count="12">
|
||||
<input semantic="VERTEX" source="#Cube_001-mesh-vertices" offset="0"/>
|
||||
<input semantic="NORMAL" source="#Cube_001-mesh-normals" offset="1"/>
|
||||
<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>
|
||||
</triangles>
|
||||
</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_animations>
|
||||
<animation id="action_container-Armature" name="Armature">
|
||||
<animation id="Armature_ArmatureAction_Bone_pose_matrix" name="Armature">
|
||||
<source id="Armature_ArmatureAction_Bone_pose_matrix-input">
|
||||
<float_array id="Armature_ArmatureAction_Bone_pose_matrix-input-array" count="30">0.04166662 0.08333331 0.125 0.1666666 0.2083333 0.25 0.2916666 0.3333333 0.375 0.4166666 0.4583333 0.5 0.5416667 0.5833333 0.625 0.6666667 0.7083333 0.75 0.7916667 0.8333333 0.875 0.9166667 0.9583333 1 1.041667 1.083333 1.125 1.166667 1.208333 1.25</float_array>
|
||||
<technique_common>
|
||||
<accessor source="#Armature_ArmatureAction_Bone_pose_matrix-input-array" count="30" stride="1">
|
||||
<param name="TIME" type="float"/>
|
||||
</accessor>
|
||||
</technique_common>
|
||||
</source>
|
||||
<source id="Armature_ArmatureAction_Bone_pose_matrix-output">
|
||||
<float_array id="Armature_ArmatureAction_Bone_pose_matrix-output-array" count="480">1 0 0 -0.01620697 0 1 0 -0.01553852 0 0 1 1.967363 0 0 0 1 1 0 0 -0.01590013 0 1 0 -0.01674705 0 0 1 1.93062 0 0 0 1 1 0 0 -0.01502423 0 1 0 -0.02019687 0 0 1 1.825735 0 0 0 1 1 0 0 -0.01364621 0 1 0 -0.02562429 0 0 1 1.660725 0 0 0 1 1 0 0 -0.01183303 0 1 0 -0.03276562 0 0 1 1.443606 0 0 0 1 1 0 0 -0.009651639 0 1 0 -0.04135721 0 0 1 1.182396 0 0 0 1 1 0 0 -0.007168981 0 1 0 -0.05113535 0 0 1 0.8851104 0 0 0 1 1 0 0 -0.004452004 0 1 0 -0.06183637 0 0 1 0.5597664 0 0 0 1 1 0 0 -0.001567657 0 1 0 -0.0731966 0 0 1 0.2143808 0 0 0 1 1 0 0 0.001417111 0 1 0 -0.08495234 0 0 1 -0.1430297 0 0 0 1 1 0 0 0.004435355 0 1 0 -0.09683992 0 0 1 -0.5044488 0 0 0 1 1 0 0 0.007420126 0 1 0 -0.1085957 0 0 1 -0.8618598 0 0 0 1 1 0 0 0.01030447 0 1 0 -0.1199559 0 0 1 -1.207245 0 0 0 1 1 0 0 0.01302144 0 1 0 -0.1306569 0 0 1 -1.532588 0 0 0 1 1 0 0 0.01550411 0 1 0 -0.1404351 0 0 1 -1.829875 0 0 0 1 1 0 0 0.0176855 0 1 0 -0.1490266 0 0 1 -2.091084 0 0 0 1 1 0 0 0.01949868 0 1 0 -0.156168 0 0 1 -2.308203 0 0 0 1 1 0 0 0.02087668 0 1 0 -0.1615954 0 0 1 -2.473213 0 0 0 1 1 0 0 0.0217526 0 1 0 -0.1650452 0 0 1 -2.578098 0 0 0 1 1 0 0 0.02205944 0 1 0 -0.1662537 0 0 1 -2.614841 0 0 0 1 1 0 0 0.02205944 0 1 0 -0.1662537 0 0 1 -2.614841 0 0 0 1 1 0 0 0.02205944 0 1 0 -0.1662537 0 0 1 -2.614841 0 0 0 1 1 0 0 0.02205944 0 1 0 -0.1662537 0 0 1 -2.614841 0 0 0 1 1 0 0 0.02205944 0 1 0 -0.1662537 0 0 1 -2.614841 0 0 0 1 1 0 0 0.02205944 0 1 0 -0.1662537 0 0 1 -2.614841 0 0 0 1 1 0 0 0.02205944 0 1 0 -0.1662537 0 0 1 -2.614841 0 0 0 1 1 0 0 0.02205944 0 1 0 -0.1662537 0 0 1 -2.614841 0 0 0 1 1 0 0 0.02205944 0 1 0 -0.1662537 0 0 1 -2.614841 0 0 0 1 1 0 0 0.02205944 0 1 0 -0.1662537 0 0 1 -2.614841 0 0 0 1 1 0 0 0.02205944 0 1 0 -0.1662537 0 0 1 -2.614841 0 0 0 1</float_array>
|
||||
<technique_common>
|
||||
<accessor source="#Armature_ArmatureAction_Bone_pose_matrix-output-array" count="30" stride="16">
|
||||
<param name="TRANSFORM" type="float4x4"/>
|
||||
</accessor>
|
||||
</technique_common>
|
||||
</source>
|
||||
<source id="Armature_ArmatureAction_Bone_pose_matrix-interpolation">
|
||||
<Name_array id="Armature_ArmatureAction_Bone_pose_matrix-interpolation-array" count="30">LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR</Name_array>
|
||||
<technique_common>
|
||||
<accessor source="#Armature_ArmatureAction_Bone_pose_matrix-interpolation-array" count="30" stride="1">
|
||||
<param name="INTERPOLATION" type="name"/>
|
||||
</accessor>
|
||||
</technique_common>
|
||||
</source>
|
||||
<sampler id="Armature_ArmatureAction_Bone_pose_matrix-sampler">
|
||||
<input semantic="INPUT" source="#Armature_ArmatureAction_Bone_pose_matrix-input"/>
|
||||
<input semantic="OUTPUT" source="#Armature_ArmatureAction_Bone_pose_matrix-output"/>
|
||||
<input semantic="INTERPOLATION" source="#Armature_ArmatureAction_Bone_pose_matrix-interpolation"/>
|
||||
</sampler>
|
||||
<channel source="#Armature_ArmatureAction_Bone_pose_matrix-sampler" target="Armature_Bone/transform"/>
|
||||
</animation>
|
||||
</animation>
|
||||
</library_animations>
|
||||
<library_visual_scenes>
|
||||
<visual_scene id="Scene" name="Scene">
|
||||
<node id="Light_001" name="Light.001" type="NODE">
|
||||
<matrix sid="transform">-0.2908646 -0.7711008 0.5663932 4.076245 0.9551712 -0.1998834 0.2183912 1.005454 -0.055189 0.6045247 0.7946723 5.903862 0 0 0 1</matrix>
|
||||
<instance_light url="#Light_001-light"/>
|
||||
</node>
|
||||
<node id="Camera_001" name="Camera.001" type="NODE">
|
||||
<matrix sid="transform">0.6859207 -0.3240135 0.6515582 7.358891 0.7276763 0.3054209 -0.6141704 -6.925791 -4.01133e-9 0.8953956 0.4452714 4.958309 0 0 0 1</matrix>
|
||||
<instance_camera url="#Camera_001-camera"/>
|
||||
</node>
|
||||
<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="Armature_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>
|
||||
<extra>
|
||||
<technique profile="blender">
|
||||
<layer sid="layer" type="string">0</layer>
|
||||
<tip_x sid="tip_x" type="float">0</tip_x>
|
||||
<tip_y sid="tip_y" type="float">1</tip_y>
|
||||
<tip_z sid="tip_z" type="float">0</tip_z>
|
||||
</technique>
|
||||
</extra>
|
||||
</node>
|
||||
<node id="Cube" name="Cube" type="NODE">
|
||||
<matrix sid="transform">1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1</matrix>
|
||||
<instance_controller url="#Armature_Cube-skin">
|
||||
<skeleton>#Armature_Bone</skeleton>
|
||||
</instance_controller>
|
||||
</node>
|
||||
</node>
|
||||
<node id="Camera" name="Camera" type="NODE">
|
||||
<matrix sid="transform">0.6859207 -0.3240135 0.6515582 7.358891 0.7276763 0.3054208 -0.6141704 -6.925791 0 0.8953956 0.4452714 4.958309 0 0 0 1</matrix>
|
||||
<instance_camera url="#Camera-camera"/>
|
||||
</node>
|
||||
<node id="Light" name="Light" type="NODE">
|
||||
<matrix sid="transform">-0.2908646 -0.7711008 0.5663932 4.076245 0.9551712 -0.1998834 0.2183912 1.005454 -0.05518906 0.6045247 0.7946723 5.903862 0 0 0 1</matrix>
|
||||
<instance_light url="#Light-light"/>
|
||||
</node>
|
||||
</visual_scene>
|
||||
</library_visual_scenes>
|
||||
<scene>
|
||||
<instance_visual_scene url="#Scene"/>
|
||||
</scene>
|
||||
</COLLADA>
|
||||
@@ -0,0 +1,192 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<COLLADA xmlns="http://www.collada.org/2005/11/COLLADASchema" version="1.4.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<asset>
|
||||
<contributor>
|
||||
<author>Blender User</author>
|
||||
<authoring_tool>Blender 2.93.5 commit date:2021-10-05, commit time:12:04, hash:a791bdabd0b2</authoring_tool>
|
||||
</contributor>
|
||||
<created>2021-11-07T15:11:28</created>
|
||||
<modified>2021-11-07T15:11:28</modified>
|
||||
<unit name="meter" meter="1"/>
|
||||
<up_axis>Z_UP</up_axis>
|
||||
</asset>
|
||||
<library_cameras>
|
||||
<camera id="Camera-camera" name="Camera">
|
||||
<optics>
|
||||
<technique_common>
|
||||
<perspective>
|
||||
<xfov sid="xfov">39.59775</xfov>
|
||||
<aspect_ratio>1.777778</aspect_ratio>
|
||||
<znear sid="znear">0.1</znear>
|
||||
<zfar sid="zfar">100</zfar>
|
||||
</perspective>
|
||||
</technique_common>
|
||||
</optics>
|
||||
<extra>
|
||||
<technique profile="blender">
|
||||
<shiftx sid="shiftx" type="float">0</shiftx>
|
||||
<shifty sid="shifty" type="float">0</shifty>
|
||||
<dof_distance sid="dof_distance" type="float">10</dof_distance>
|
||||
</technique>
|
||||
</extra>
|
||||
</camera>
|
||||
</library_cameras>
|
||||
<library_lights>
|
||||
<light id="Light-light" name="Light">
|
||||
<technique_common>
|
||||
<point>
|
||||
<color sid="color">1000 1000 1000</color>
|
||||
<constant_attenuation>1</constant_attenuation>
|
||||
<linear_attenuation>0</linear_attenuation>
|
||||
<quadratic_attenuation>0.00111109</quadratic_attenuation>
|
||||
</point>
|
||||
</technique_common>
|
||||
<extra>
|
||||
<technique profile="blender">
|
||||
<type sid="type" type="int">0</type>
|
||||
<flag sid="flag" type="int">0</flag>
|
||||
<mode sid="mode" type="int">1</mode>
|
||||
<gamma sid="blender_gamma" type="float">1</gamma>
|
||||
<red sid="red" type="float">1</red>
|
||||
<green sid="green" type="float">1</green>
|
||||
<blue sid="blue" type="float">1</blue>
|
||||
<shadow_r sid="blender_shadow_r" type="float">0</shadow_r>
|
||||
<shadow_g sid="blender_shadow_g" type="float">0</shadow_g>
|
||||
<shadow_b sid="blender_shadow_b" type="float">0</shadow_b>
|
||||
<energy sid="blender_energy" type="float">1000</energy>
|
||||
<dist sid="blender_dist" type="float">29.99998</dist>
|
||||
<spotsize sid="spotsize" type="float">75</spotsize>
|
||||
<spotblend sid="spotblend" type="float">0.15</spotblend>
|
||||
<att1 sid="att1" type="float">0</att1>
|
||||
<att2 sid="att2" type="float">1</att2>
|
||||
<falloff_type sid="falloff_type" type="int">2</falloff_type>
|
||||
<clipsta sid="clipsta" type="float">0.04999995</clipsta>
|
||||
<clipend sid="clipend" type="float">30.002</clipend>
|
||||
<bias sid="bias" type="float">1</bias>
|
||||
<soft sid="soft" type="float">3</soft>
|
||||
<bufsize sid="bufsize" type="int">2880</bufsize>
|
||||
<samp sid="samp" type="int">3</samp>
|
||||
<buffers sid="buffers" type="int">1</buffers>
|
||||
<area_shape sid="area_shape" type="int">1</area_shape>
|
||||
<area_size sid="area_size" type="float">0.1</area_size>
|
||||
<area_sizey sid="area_sizey" type="float">0.1</area_sizey>
|
||||
<area_sizez sid="area_sizez" type="float">1</area_sizez>
|
||||
</technique>
|
||||
</extra>
|
||||
</light>
|
||||
</library_lights>
|
||||
<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>
|
||||
<triangles count="12">
|
||||
<input semantic="VERTEX" source="#Cube_001-mesh-vertices" offset="0"/>
|
||||
<input semantic="NORMAL" source="#Cube_001-mesh-normals" offset="1"/>
|
||||
<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>
|
||||
</triangles>
|
||||
</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_animations>
|
||||
<animation id="action_container-Armature" name="Armature"/>
|
||||
</library_animations>
|
||||
<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="Armature_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>
|
||||
<extra>
|
||||
<technique profile="blender">
|
||||
<layer sid="layer" type="string">0</layer>
|
||||
<tip_x sid="tip_x" type="float">0</tip_x>
|
||||
<tip_y sid="tip_y" type="float">1</tip_y>
|
||||
<tip_z sid="tip_z" type="float">0</tip_z>
|
||||
</technique>
|
||||
</extra>
|
||||
</node>
|
||||
<node id="Cube" name="Cube" type="NODE">
|
||||
<matrix sid="transform">1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1</matrix>
|
||||
<instance_controller url="#Armature_Cube-skin">
|
||||
<skeleton>#Armature_Bone</skeleton>
|
||||
</instance_controller>
|
||||
</node>
|
||||
</node>
|
||||
<node id="Camera" name="Camera" type="NODE">
|
||||
<matrix sid="transform">0.6859207 -0.3240135 0.6515582 7.358891 0.7276763 0.3054208 -0.6141704 -6.925791 0 0.8953956 0.4452714 4.958309 0 0 0 1</matrix>
|
||||
<instance_camera url="#Camera-camera"/>
|
||||
</node>
|
||||
<node id="Light" name="Light" type="NODE">
|
||||
<matrix sid="transform">-0.2908646 -0.7711008 0.5663932 4.076245 0.9551712 -0.1998834 0.2183912 1.005454 -0.05518906 0.6045247 0.7946723 5.903862 0 0 0 1</matrix>
|
||||
<instance_light url="#Light-light"/>
|
||||
</node>
|
||||
</visual_scene>
|
||||
</library_visual_scenes>
|
||||
<scene>
|
||||
<instance_visual_scene url="#Scene"/>
|
||||
</scene>
|
||||
</COLLADA>
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
@@ -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,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,17 @@
|
||||
with
|
||||
"gel",
|
||||
"lace_shared";
|
||||
|
||||
project box_rig_1_bone_Demo
|
||||
is
|
||||
for Object_Dir use "build";
|
||||
for Exec_Dir use ".";
|
||||
for Main use ("launch_box_rig_1_bone_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 box_rig_1_bone_Demo;
|
||||
@@ -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.
|
||||
|
||||
|
||||
@@ -0,0 +1,92 @@
|
||||
with
|
||||
gel.Window.setup,
|
||||
gel.Applet.gui_world,
|
||||
gel.Camera,
|
||||
gel.Rig,
|
||||
gel.Forge,
|
||||
|
||||
openGL.Model.any,
|
||||
openGL.Light.directional,
|
||||
|
||||
ada.Calendar;
|
||||
|
||||
pragma unreferenced (gel.Window.setup);
|
||||
|
||||
|
||||
procedure launch_box_rig_1_bone_Demo
|
||||
--
|
||||
-- Simple rigged box model with one animated bone.
|
||||
--
|
||||
is
|
||||
use gel.Rig,
|
||||
gel.Math,
|
||||
gel.linear_Algebra_3D,
|
||||
openGL,
|
||||
ada.Calendar;
|
||||
|
||||
-------------
|
||||
--- Variables
|
||||
--
|
||||
the_Applet : constant gel.Applet.gui_World.view := gel.Forge.new_gui_Applet ("Rig Demo", 1536, 864);
|
||||
the_rig_Model : constant openGL.Model.any.view := openGL.Model.any.new_Model (-- Model => openGL.to_Asset ("./box_1_bone.dae"),
|
||||
-- Model => openGL.to_Asset ("./box_1_bone-animated.dae"),
|
||||
-- Model => openGL.to_Asset ("./box_2_bone.dae"),
|
||||
-- Model => openGL.to_Asset ("./box_3_bone.dae"),
|
||||
Model => openGL.to_Asset ("./human-default-animated-01_01.dae"),
|
||||
Texture => openGL.null_Asset,
|
||||
Texture_is_lucid => False);
|
||||
the_Rig : gel.Rig.item;
|
||||
next_render_Time : ada.calendar.Time;
|
||||
|
||||
begin
|
||||
the_Applet.gui_Camera.Site_is ((0.0, -10.0, 1.0)); -- Position the camera.
|
||||
the_Applet.gui_Camera.Spin_is (x_Rotation_from (to_Radians (-90.0))); -- Rotate the camera.
|
||||
|
||||
the_Applet.enable_simple_Dolly (1); -- Enable user camera control via keyboards
|
||||
the_Applet.Dolly.Speed_is (0.05);
|
||||
|
||||
the_Applet.gui_World.Gravity_is ((0.0, -9.0, 0.0));
|
||||
|
||||
-- Set the lights position and ambient color.
|
||||
--
|
||||
declare
|
||||
Light : openGL.Light.directional.item := the_Applet.Renderer.Light (Id => 1);
|
||||
begin
|
||||
Light.ambient_Color_is ((255.0 / 255.0,
|
||||
153.0 / 255.0,
|
||||
102.0 / 255.0,
|
||||
1.0));
|
||||
Light.Site_is ((1000.0, 000.0, 1000.0));
|
||||
|
||||
the_Applet.Renderer.Light_is (Id => 1, Now => Light);
|
||||
end;
|
||||
|
||||
|
||||
the_Rig.define (the_Applet.gui_World,
|
||||
the_rig_Model.all'Access,
|
||||
Mass => 0.0,
|
||||
is_Kinematic => False);
|
||||
|
||||
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_Rig.enable_Graphics;
|
||||
the_Rig.motion_Mode_is (Animation);
|
||||
the_Rig.assume_Pose;
|
||||
|
||||
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_Rig.assume_Pose;
|
||||
the_Applet.freshen; -- Handle any new events and update the screen.
|
||||
|
||||
next_render_Time := next_render_Time + 1.0/60.0;
|
||||
delay until next_render_Time;
|
||||
end loop;
|
||||
|
||||
the_Applet.destroy;
|
||||
end launch_box_rig_1_bone_Demo;
|
||||
@@ -0,0 +1,174 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<COLLADA xmlns="http://www.collada.org/2005/11/COLLADASchema" version="1.4.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<asset>
|
||||
<contributor>
|
||||
<author>Blender User</author>
|
||||
<authoring_tool>Blender 2.93.5 commit date:2021-10-05, commit time:12:04, hash:a791bdabd0b2</authoring_tool>
|
||||
</contributor>
|
||||
<created>2021-11-08T17:17:11</created>
|
||||
<modified>2021-11-08T17:17:11</modified>
|
||||
<unit name="meter" meter="1"/>
|
||||
<up_axis>Z_UP</up_axis>
|
||||
</asset>
|
||||
<library_cameras>
|
||||
<camera id="Camera-camera" name="Camera">
|
||||
<optics>
|
||||
<technique_common>
|
||||
<perspective>
|
||||
<xfov sid="xfov">39.59775</xfov>
|
||||
<aspect_ratio>1.777778</aspect_ratio>
|
||||
<znear sid="znear">0.1</znear>
|
||||
<zfar sid="zfar">100</zfar>
|
||||
</perspective>
|
||||
</technique_common>
|
||||
</optics>
|
||||
<extra>
|
||||
<technique profile="blender">
|
||||
<shiftx sid="shiftx" type="float">0</shiftx>
|
||||
<shifty sid="shifty" type="float">0</shifty>
|
||||
<dof_distance sid="dof_distance" type="float">10</dof_distance>
|
||||
</technique>
|
||||
</extra>
|
||||
</camera>
|
||||
</library_cameras>
|
||||
<library_lights>
|
||||
<light id="Light-light" name="Light">
|
||||
<technique_common>
|
||||
<point>
|
||||
<color sid="color">1000 1000 1000</color>
|
||||
<constant_attenuation>1</constant_attenuation>
|
||||
<linear_attenuation>0</linear_attenuation>
|
||||
<quadratic_attenuation>0.00111109</quadratic_attenuation>
|
||||
</point>
|
||||
</technique_common>
|
||||
<extra>
|
||||
<technique profile="blender">
|
||||
<type sid="type" type="int">0</type>
|
||||
<flag sid="flag" type="int">0</flag>
|
||||
<mode sid="mode" type="int">1</mode>
|
||||
<gamma sid="blender_gamma" type="float">1</gamma>
|
||||
<red sid="red" type="float">1</red>
|
||||
<green sid="green" type="float">1</green>
|
||||
<blue sid="blue" type="float">1</blue>
|
||||
<shadow_r sid="blender_shadow_r" type="float">0</shadow_r>
|
||||
<shadow_g sid="blender_shadow_g" type="float">0</shadow_g>
|
||||
<shadow_b sid="blender_shadow_b" type="float">0</shadow_b>
|
||||
<energy sid="blender_energy" type="float">1000</energy>
|
||||
<dist sid="blender_dist" type="float">29.99998</dist>
|
||||
<spotsize sid="spotsize" type="float">75</spotsize>
|
||||
<spotblend sid="spotblend" type="float">0.15</spotblend>
|
||||
<att1 sid="att1" type="float">0</att1>
|
||||
<att2 sid="att2" type="float">1</att2>
|
||||
<falloff_type sid="falloff_type" type="int">2</falloff_type>
|
||||
<clipsta sid="clipsta" type="float">0.04999995</clipsta>
|
||||
<clipend sid="clipend" type="float">30.002</clipend>
|
||||
<bias sid="bias" type="float">1</bias>
|
||||
<soft sid="soft" type="float">3</soft>
|
||||
<bufsize sid="bufsize" type="int">2880</bufsize>
|
||||
<samp sid="samp" type="int">3</samp>
|
||||
<buffers sid="buffers" type="int">1</buffers>
|
||||
<area_shape sid="area_shape" type="int">1</area_shape>
|
||||
<area_size sid="area_size" type="float">0.1</area_size>
|
||||
<area_sizey sid="area_sizey" type="float">0.1</area_sizey>
|
||||
<area_sizez sid="area_sizez" type="float">1</area_sizez>
|
||||
</technique>
|
||||
</extra>
|
||||
</light>
|
||||
</library_lights>
|
||||
<library_effects>
|
||||
<effect id="Material-effect">
|
||||
<profile_COMMON>
|
||||
<technique sid="common">
|
||||
<lambert>
|
||||
<emission>
|
||||
<color sid="emission">0 0 0 1</color>
|
||||
</emission>
|
||||
<diffuse>
|
||||
<color sid="diffuse">0.8 0.8 0.8 1</color>
|
||||
</diffuse>
|
||||
<index_of_refraction>
|
||||
<float sid="ior">1.45</float>
|
||||
</index_of_refraction>
|
||||
</lambert>
|
||||
</technique>
|
||||
</profile_COMMON>
|
||||
</effect>
|
||||
</library_effects>
|
||||
<library_images/>
|
||||
<library_materials>
|
||||
<material id="Material-material" name="Material">
|
||||
<instance_effect url="#Material-effect"/>
|
||||
</material>
|
||||
</library_materials>
|
||||
<library_geometries>
|
||||
<geometry id="Cube-mesh" name="Cube">
|
||||
<mesh>
|
||||
<source id="Cube-mesh-positions">
|
||||
<float_array id="Cube-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-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-mesh-normals">
|
||||
<float_array id="Cube-mesh-normals-array" count="18">0 0 1 0 -1 0 -1 0 0 0 0 -1 1 0 0 0 1 0</float_array>
|
||||
<technique_common>
|
||||
<accessor source="#Cube-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>
|
||||
<source id="Cube-mesh-map-0">
|
||||
<float_array id="Cube-mesh-map-0-array" count="72">0.875 0.5 0.625 0.75 0.625 0.5 0.625 0.75 0.375 1 0.375 0.75 0.625 0 0.375 0.25 0.375 0 0.375 0.5 0.125 0.75 0.125 0.5 0.625 0.5 0.375 0.75 0.375 0.5 0.625 0.25 0.375 0.5 0.375 0.25 0.875 0.5 0.875 0.75 0.625 0.75 0.625 0.75 0.625 1 0.375 1 0.625 0 0.625 0.25 0.375 0.25 0.375 0.5 0.375 0.75 0.125 0.75 0.625 0.5 0.625 0.75 0.375 0.75 0.625 0.25 0.625 0.5 0.375 0.5</float_array>
|
||||
<technique_common>
|
||||
<accessor source="#Cube-mesh-map-0-array" count="36" stride="2">
|
||||
<param name="S" type="float"/>
|
||||
<param name="T" type="float"/>
|
||||
</accessor>
|
||||
</technique_common>
|
||||
</source>
|
||||
<vertices id="Cube-mesh-vertices">
|
||||
<input semantic="POSITION" source="#Cube-mesh-positions"/>
|
||||
</vertices>
|
||||
<triangles material="Material-material" count="12">
|
||||
<input semantic="VERTEX" source="#Cube-mesh-vertices" offset="0"/>
|
||||
<input semantic="NORMAL" source="#Cube-mesh-normals" offset="1"/>
|
||||
<input semantic="TEXCOORD" source="#Cube-mesh-map-0" offset="2" set="0"/>
|
||||
<p>4 0 0 2 0 1 0 0 2 2 1 3 7 1 4 3 1 5 6 2 6 5 2 7 7 2 8 1 3 9 7 3 10 5 3 11 0 4 12 3 4 13 1 4 14 4 5 15 1 5 16 5 5 17 4 0 18 6 0 19 2 0 20 2 1 21 6 1 22 7 1 23 6 2 24 4 2 25 5 2 26 1 3 27 3 3 28 7 3 29 0 4 30 2 4 31 3 4 32 4 5 33 0 5 34 1 5 35</p>
|
||||
</triangles>
|
||||
</mesh>
|
||||
</geometry>
|
||||
</library_geometries>
|
||||
<library_visual_scenes>
|
||||
<visual_scene id="Scene" name="Scene">
|
||||
<node id="Camera" name="Camera" type="NODE">
|
||||
<matrix sid="transform">0.6859207 -0.3240135 0.6515582 7.358891 0.7276763 0.3054208 -0.6141704 -6.925791 0 0.8953956 0.4452714 4.958309 0 0 0 1</matrix>
|
||||
<instance_camera url="#Camera-camera"/>
|
||||
</node>
|
||||
<node id="Light" name="Light" type="NODE">
|
||||
<matrix sid="transform">-0.2908646 -0.7711008 0.5663932 4.076245 0.9551712 -0.1998834 0.2183912 1.005454 -0.05518906 0.6045247 0.7946723 5.903862 0 0 0 1</matrix>
|
||||
<instance_light url="#Light-light"/>
|
||||
</node>
|
||||
<node id="Cube" name="Cube" type="NODE">
|
||||
<matrix sid="transform">1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1</matrix>
|
||||
<instance_geometry url="#Cube-mesh" name="Cube">
|
||||
<bind_material>
|
||||
<technique_common>
|
||||
<instance_material symbol="Material-material" target="#Material-material">
|
||||
<bind_vertex_input semantic="UVMap" input_semantic="TEXCOORD" input_set="0"/>
|
||||
</instance_material>
|
||||
</technique_common>
|
||||
</bind_material>
|
||||
</instance_geometry>
|
||||
</node>
|
||||
</visual_scene>
|
||||
</library_visual_scenes>
|
||||
<scene>
|
||||
<instance_visual_scene url="#Scene"/>
|
||||
</scene>
|
||||
</COLLADA>
|
||||
@@ -0,0 +1,174 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<COLLADA xmlns="http://www.collada.org/2005/11/COLLADASchema" version="1.4.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<asset>
|
||||
<contributor>
|
||||
<author>Blender User</author>
|
||||
<authoring_tool>Blender 2.93.5 commit date:2021-10-05, commit time:12:04, hash:a791bdabd0b2</authoring_tool>
|
||||
</contributor>
|
||||
<created>2021-11-08T17:17:11</created>
|
||||
<modified>2021-11-08T17:17:11</modified>
|
||||
<unit name="meter" meter="1"/>
|
||||
<up_axis>Z_UP</up_axis>
|
||||
</asset>
|
||||
<library_cameras>
|
||||
<camera id="Camera-camera" name="Camera">
|
||||
<optics>
|
||||
<technique_common>
|
||||
<perspective>
|
||||
<xfov sid="xfov">39.59775</xfov>
|
||||
<aspect_ratio>1.777778</aspect_ratio>
|
||||
<znear sid="znear">0.1</znear>
|
||||
<zfar sid="zfar">100</zfar>
|
||||
</perspective>
|
||||
</technique_common>
|
||||
</optics>
|
||||
<extra>
|
||||
<technique profile="blender">
|
||||
<shiftx sid="shiftx" type="float">0</shiftx>
|
||||
<shifty sid="shifty" type="float">0</shifty>
|
||||
<dof_distance sid="dof_distance" type="float">10</dof_distance>
|
||||
</technique>
|
||||
</extra>
|
||||
</camera>
|
||||
</library_cameras>
|
||||
<library_lights>
|
||||
<light id="Light-light" name="Light">
|
||||
<technique_common>
|
||||
<point>
|
||||
<color sid="color">1000 1000 1000</color>
|
||||
<constant_attenuation>1</constant_attenuation>
|
||||
<linear_attenuation>0</linear_attenuation>
|
||||
<quadratic_attenuation>0.00111109</quadratic_attenuation>
|
||||
</point>
|
||||
</technique_common>
|
||||
<extra>
|
||||
<technique profile="blender">
|
||||
<type sid="type" type="int">0</type>
|
||||
<flag sid="flag" type="int">0</flag>
|
||||
<mode sid="mode" type="int">1</mode>
|
||||
<gamma sid="blender_gamma" type="float">1</gamma>
|
||||
<red sid="red" type="float">1</red>
|
||||
<green sid="green" type="float">1</green>
|
||||
<blue sid="blue" type="float">1</blue>
|
||||
<shadow_r sid="blender_shadow_r" type="float">0</shadow_r>
|
||||
<shadow_g sid="blender_shadow_g" type="float">0</shadow_g>
|
||||
<shadow_b sid="blender_shadow_b" type="float">0</shadow_b>
|
||||
<energy sid="blender_energy" type="float">1000</energy>
|
||||
<dist sid="blender_dist" type="float">29.99998</dist>
|
||||
<spotsize sid="spotsize" type="float">75</spotsize>
|
||||
<spotblend sid="spotblend" type="float">0.15</spotblend>
|
||||
<att1 sid="att1" type="float">0</att1>
|
||||
<att2 sid="att2" type="float">1</att2>
|
||||
<falloff_type sid="falloff_type" type="int">2</falloff_type>
|
||||
<clipsta sid="clipsta" type="float">0.04999995</clipsta>
|
||||
<clipend sid="clipend" type="float">30.002</clipend>
|
||||
<bias sid="bias" type="float">1</bias>
|
||||
<soft sid="soft" type="float">3</soft>
|
||||
<bufsize sid="bufsize" type="int">2880</bufsize>
|
||||
<samp sid="samp" type="int">3</samp>
|
||||
<buffers sid="buffers" type="int">1</buffers>
|
||||
<area_shape sid="area_shape" type="int">1</area_shape>
|
||||
<area_size sid="area_size" type="float">0.1</area_size>
|
||||
<area_sizey sid="area_sizey" type="float">0.1</area_sizey>
|
||||
<area_sizez sid="area_sizez" type="float">1</area_sizez>
|
||||
</technique>
|
||||
</extra>
|
||||
</light>
|
||||
</library_lights>
|
||||
<library_effects>
|
||||
<effect id="Material-effect">
|
||||
<profile_COMMON>
|
||||
<technique sid="common">
|
||||
<lambert>
|
||||
<emission>
|
||||
<color sid="emission">0 0 0 1</color>
|
||||
</emission>
|
||||
<diffuse>
|
||||
<color sid="diffuse">0.8 0.8 0.8 1</color>
|
||||
</diffuse>
|
||||
<index_of_refraction>
|
||||
<float sid="ior">1.45</float>
|
||||
</index_of_refraction>
|
||||
</lambert>
|
||||
</technique>
|
||||
</profile_COMMON>
|
||||
</effect>
|
||||
</library_effects>
|
||||
<library_images/>
|
||||
<library_materials>
|
||||
<material id="Material-material" name="Material">
|
||||
<instance_effect url="#Material-effect"/>
|
||||
</material>
|
||||
</library_materials>
|
||||
<library_geometries>
|
||||
<geometry id="Cube-mesh" name="Cube">
|
||||
<mesh>
|
||||
<source id="Cube-mesh-positions">
|
||||
<float_array id="Cube-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-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-mesh-normals">
|
||||
<float_array id="Cube-mesh-normals-array" count="18">0 0 1 0 -1 0 -1 0 0 0 0 -1 1 0 0 0 1 0</float_array>
|
||||
<technique_common>
|
||||
<accessor source="#Cube-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>
|
||||
<source id="Cube-mesh-map-0">
|
||||
<float_array id="Cube-mesh-map-0-array" count="72">0.875 0.5 0.625 0.75 0.625 0.5 0.625 0.75 0.375 1 0.375 0.75 0.625 0 0.375 0.25 0.375 0 0.375 0.5 0.125 0.75 0.125 0.5 0.625 0.5 0.375 0.75 0.375 0.5 0.625 0.25 0.375 0.5 0.375 0.25 0.875 0.5 0.875 0.75 0.625 0.75 0.625 0.75 0.625 1 0.375 1 0.625 0 0.625 0.25 0.375 0.25 0.375 0.5 0.375 0.75 0.125 0.75 0.625 0.5 0.625 0.75 0.375 0.75 0.625 0.25 0.625 0.5 0.375 0.5</float_array>
|
||||
<technique_common>
|
||||
<accessor source="#Cube-mesh-map-0-array" count="36" stride="2">
|
||||
<param name="S" type="float"/>
|
||||
<param name="T" type="float"/>
|
||||
</accessor>
|
||||
</technique_common>
|
||||
</source>
|
||||
<vertices id="Cube-mesh-vertices">
|
||||
<input semantic="POSITION" source="#Cube-mesh-positions"/>
|
||||
</vertices>
|
||||
<triangles material="Material-material" count="12">
|
||||
<input semantic="VERTEX" source="#Cube-mesh-vertices" offset="0"/>
|
||||
<input semantic="NORMAL" source="#Cube-mesh-normals" offset="1"/>
|
||||
<input semantic="TEXCOORD" source="#Cube-mesh-map-0" offset="2" set="0"/>
|
||||
<p>4 0 0 2 0 1 0 0 2 2 1 3 7 1 4 3 1 5 6 2 6 5 2 7 7 2 8 1 3 9 7 3 10 5 3 11 0 4 12 3 4 13 1 4 14 4 5 15 1 5 16 5 5 17 4 0 18 6 0 19 2 0 20 2 1 21 6 1 22 7 1 23 6 2 24 4 2 25 5 2 26 1 3 27 3 3 28 7 3 29 0 4 30 2 4 31 3 4 32 4 5 33 0 5 34 1 5 35</p>
|
||||
</triangles>
|
||||
</mesh>
|
||||
</geometry>
|
||||
</library_geometries>
|
||||
<library_visual_scenes>
|
||||
<visual_scene id="Scene" name="Scene">
|
||||
<node id="Camera" name="Camera" type="NODE">
|
||||
<matrix sid="transform">0.6859207 -0.3240135 0.6515582 7.358891 0.7276763 0.3054208 -0.6141704 -6.925791 0 0.8953956 0.4452714 4.958309 0 0 0 1</matrix>
|
||||
<instance_camera url="#Camera-camera"/>
|
||||
</node>
|
||||
<node id="Light" name="Light" type="NODE">
|
||||
<matrix sid="transform">-0.2908646 -0.7711008 0.5663932 4.076245 0.9551712 -0.1998834 0.2183912 1.005454 -0.05518906 0.6045247 0.7946723 5.903862 0 0 0 1</matrix>
|
||||
<instance_light url="#Light-light"/>
|
||||
</node>
|
||||
<node id="Cube" name="Cube" type="NODE">
|
||||
<matrix sid="transform">1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1</matrix>
|
||||
<instance_geometry url="#Cube-mesh" name="Cube">
|
||||
<bind_material>
|
||||
<technique_common>
|
||||
<instance_material symbol="Material-material" target="#Material-material">
|
||||
<bind_vertex_input semantic="UVMap" input_semantic="TEXCOORD" input_set="0"/>
|
||||
</instance_material>
|
||||
</technique_common>
|
||||
</bind_material>
|
||||
</instance_geometry>
|
||||
</node>
|
||||
</visual_scene>
|
||||
</library_visual_scenes>
|
||||
<scene>
|
||||
<instance_visual_scene url="#Scene"/>
|
||||
</scene>
|
||||
</COLLADA>
|
||||
@@ -0,0 +1,294 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<COLLADA xmlns="http://www.collada.org/2005/11/COLLADASchema" version="1.4.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<asset>
|
||||
<contributor>
|
||||
<author>Blender User</author>
|
||||
<authoring_tool>Blender 2.93.5 commit date:2021-10-05, commit time:12:04, hash:a791bdabd0b2</authoring_tool>
|
||||
</contributor>
|
||||
<created>2021-11-07T15:31:13</created>
|
||||
<modified>2021-11-07T15:31:13</modified>
|
||||
<unit name="meter" meter="1"/>
|
||||
<up_axis>Z_UP</up_axis>
|
||||
</asset>
|
||||
<library_cameras>
|
||||
<camera id="Camera_001-camera" name="Camera.001">
|
||||
<optics>
|
||||
<technique_common>
|
||||
<perspective>
|
||||
<xfov sid="xfov">39.59775</xfov>
|
||||
<aspect_ratio>1.777778</aspect_ratio>
|
||||
<znear sid="znear">0.1</znear>
|
||||
<zfar sid="zfar">100</zfar>
|
||||
</perspective>
|
||||
</technique_common>
|
||||
</optics>
|
||||
<extra>
|
||||
<technique profile="blender">
|
||||
<shiftx sid="shiftx" type="float">0</shiftx>
|
||||
<shifty sid="shifty" type="float">0</shifty>
|
||||
<dof_distance sid="dof_distance" type="float">10</dof_distance>
|
||||
</technique>
|
||||
</extra>
|
||||
</camera>
|
||||
<camera id="Camera-camera" name="Camera">
|
||||
<optics>
|
||||
<technique_common>
|
||||
<perspective>
|
||||
<xfov sid="xfov">39.59775</xfov>
|
||||
<aspect_ratio>1.777778</aspect_ratio>
|
||||
<znear sid="znear">0.1</znear>
|
||||
<zfar sid="zfar">100</zfar>
|
||||
</perspective>
|
||||
</technique_common>
|
||||
</optics>
|
||||
<extra>
|
||||
<technique profile="blender">
|
||||
<shiftx sid="shiftx" type="float">0</shiftx>
|
||||
<shifty sid="shifty" type="float">0</shifty>
|
||||
<dof_distance sid="dof_distance" type="float">10</dof_distance>
|
||||
</technique>
|
||||
</extra>
|
||||
</camera>
|
||||
</library_cameras>
|
||||
<library_lights>
|
||||
<light id="Light_001-light" name="Light.001">
|
||||
<technique_common>
|
||||
<point>
|
||||
<color sid="color">1000 1000 1000</color>
|
||||
<constant_attenuation>1</constant_attenuation>
|
||||
<linear_attenuation>0</linear_attenuation>
|
||||
<quadratic_attenuation>0.00111109</quadratic_attenuation>
|
||||
</point>
|
||||
</technique_common>
|
||||
<extra>
|
||||
<technique profile="blender">
|
||||
<type sid="type" type="int">0</type>
|
||||
<flag sid="flag" type="int">0</flag>
|
||||
<mode sid="mode" type="int">1</mode>
|
||||
<gamma sid="blender_gamma" type="float">1</gamma>
|
||||
<red sid="red" type="float">1</red>
|
||||
<green sid="green" type="float">1</green>
|
||||
<blue sid="blue" type="float">1</blue>
|
||||
<shadow_r sid="blender_shadow_r" type="float">0</shadow_r>
|
||||
<shadow_g sid="blender_shadow_g" type="float">0</shadow_g>
|
||||
<shadow_b sid="blender_shadow_b" type="float">0</shadow_b>
|
||||
<energy sid="blender_energy" type="float">1000</energy>
|
||||
<dist sid="blender_dist" type="float">29.99998</dist>
|
||||
<spotsize sid="spotsize" type="float">75</spotsize>
|
||||
<spotblend sid="spotblend" type="float">0.15</spotblend>
|
||||
<att1 sid="att1" type="float">0</att1>
|
||||
<att2 sid="att2" type="float">1</att2>
|
||||
<falloff_type sid="falloff_type" type="int">2</falloff_type>
|
||||
<clipsta sid="clipsta" type="float">0.04999995</clipsta>
|
||||
<clipend sid="clipend" type="float">30.002</clipend>
|
||||
<bias sid="bias" type="float">1</bias>
|
||||
<soft sid="soft" type="float">3</soft>
|
||||
<bufsize sid="bufsize" type="int">2880</bufsize>
|
||||
<samp sid="samp" type="int">3</samp>
|
||||
<buffers sid="buffers" type="int">1</buffers>
|
||||
<area_shape sid="area_shape" type="int">1</area_shape>
|
||||
<area_size sid="area_size" type="float">0.1</area_size>
|
||||
<area_sizey sid="area_sizey" type="float">0.1</area_sizey>
|
||||
<area_sizez sid="area_sizez" type="float">1</area_sizez>
|
||||
</technique>
|
||||
</extra>
|
||||
</light>
|
||||
<light id="Light-light" name="Light">
|
||||
<technique_common>
|
||||
<point>
|
||||
<color sid="color">1000 1000 1000</color>
|
||||
<constant_attenuation>1</constant_attenuation>
|
||||
<linear_attenuation>0</linear_attenuation>
|
||||
<quadratic_attenuation>0.00111109</quadratic_attenuation>
|
||||
</point>
|
||||
</technique_common>
|
||||
<extra>
|
||||
<technique profile="blender">
|
||||
<type sid="type" type="int">0</type>
|
||||
<flag sid="flag" type="int">0</flag>
|
||||
<mode sid="mode" type="int">1</mode>
|
||||
<gamma sid="blender_gamma" type="float">1</gamma>
|
||||
<red sid="red" type="float">1</red>
|
||||
<green sid="green" type="float">1</green>
|
||||
<blue sid="blue" type="float">1</blue>
|
||||
<shadow_r sid="blender_shadow_r" type="float">0</shadow_r>
|
||||
<shadow_g sid="blender_shadow_g" type="float">0</shadow_g>
|
||||
<shadow_b sid="blender_shadow_b" type="float">0</shadow_b>
|
||||
<energy sid="blender_energy" type="float">1000</energy>
|
||||
<dist sid="blender_dist" type="float">29.99998</dist>
|
||||
<spotsize sid="spotsize" type="float">75</spotsize>
|
||||
<spotblend sid="spotblend" type="float">0.15</spotblend>
|
||||
<att1 sid="att1" type="float">0</att1>
|
||||
<att2 sid="att2" type="float">1</att2>
|
||||
<falloff_type sid="falloff_type" type="int">2</falloff_type>
|
||||
<clipsta sid="clipsta" type="float">0.04999995</clipsta>
|
||||
<clipend sid="clipend" type="float">30.002</clipend>
|
||||
<bias sid="bias" type="float">1</bias>
|
||||
<soft sid="soft" type="float">3</soft>
|
||||
<bufsize sid="bufsize" type="int">2880</bufsize>
|
||||
<samp sid="samp" type="int">3</samp>
|
||||
<buffers sid="buffers" type="int">1</buffers>
|
||||
<area_shape sid="area_shape" type="int">1</area_shape>
|
||||
<area_size sid="area_size" type="float">0.1</area_size>
|
||||
<area_sizey sid="area_sizey" type="float">0.1</area_sizey>
|
||||
<area_sizez sid="area_sizez" type="float">1</area_sizez>
|
||||
</technique>
|
||||
</extra>
|
||||
</light>
|
||||
</library_lights>
|
||||
<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>
|
||||
<triangles count="12">
|
||||
<input semantic="VERTEX" source="#Cube_001-mesh-vertices" offset="0"/>
|
||||
<input semantic="NORMAL" source="#Cube_001-mesh-normals" offset="1"/>
|
||||
<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>
|
||||
</triangles>
|
||||
</mesh>
|
||||
</geometry>
|
||||
</library_geometries>
|
||||
<library_controllers>
|
||||
<controller id="Armature_mine_Cube-skin" name="Armature_mine">
|
||||
<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_mine_Cube-skin-joints">
|
||||
<Name_array id="Armature_mine_Cube-skin-joints-array" count="1">Bone</Name_array>
|
||||
<technique_common>
|
||||
<accessor source="#Armature_mine_Cube-skin-joints-array" count="1" stride="1">
|
||||
<param name="JOINT" type="name"/>
|
||||
</accessor>
|
||||
</technique_common>
|
||||
</source>
|
||||
<source id="Armature_mine_Cube-skin-bind_poses">
|
||||
<float_array id="Armature_mine_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_mine_Cube-skin-bind_poses-array" count="1" stride="16">
|
||||
<param name="TRANSFORM" type="float4x4"/>
|
||||
</accessor>
|
||||
</technique_common>
|
||||
</source>
|
||||
<source id="Armature_mine_Cube-skin-weights">
|
||||
<float_array id="Armature_mine_Cube-skin-weights-array" count="4">1 1 1 1</float_array>
|
||||
<technique_common>
|
||||
<accessor source="#Armature_mine_Cube-skin-weights-array" count="4" stride="1">
|
||||
<param name="WEIGHT" type="float"/>
|
||||
</accessor>
|
||||
</technique_common>
|
||||
</source>
|
||||
<joints>
|
||||
<input semantic="JOINT" source="#Armature_mine_Cube-skin-joints"/>
|
||||
<input semantic="INV_BIND_MATRIX" source="#Armature_mine_Cube-skin-bind_poses"/>
|
||||
</joints>
|
||||
<vertex_weights count="8">
|
||||
<input semantic="JOINT" source="#Armature_mine_Cube-skin-joints" offset="0"/>
|
||||
<input semantic="WEIGHT" source="#Armature_mine_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_animations>
|
||||
<animation id="action_container-Armature_mine" name="Armature_mine">
|
||||
<animation id="Armature_mine_ArmatureAction_Bone_pose_matrix" name="Armature_mine">
|
||||
<source id="Armature_mine_ArmatureAction_Bone_pose_matrix-input">
|
||||
<float_array id="Armature_mine_ArmatureAction_Bone_pose_matrix-input-array" count="30">0.04166662 0.08333331 0.125 0.1666666 0.2083333 0.25 0.2916666 0.3333333 0.375 0.4166666 0.4583333 0.5 0.5416667 0.5833333 0.625 0.6666667 0.7083333 0.75 0.7916667 0.8333333 0.875 0.9166667 0.9583333 1 1.041667 1.083333 1.125 1.166667 1.208333 1.25</float_array>
|
||||
<technique_common>
|
||||
<accessor source="#Armature_mine_ArmatureAction_Bone_pose_matrix-input-array" count="30" stride="1">
|
||||
<param name="TIME" type="float"/>
|
||||
</accessor>
|
||||
</technique_common>
|
||||
</source>
|
||||
<source id="Armature_mine_ArmatureAction_Bone_pose_matrix-output">
|
||||
<float_array id="Armature_mine_ArmatureAction_Bone_pose_matrix-output-array" count="480">1 0 0 -0.01620697 0 1 0 -0.01553852 0 0 1 1.967363 0 0 0 1 1 0 0 -0.01590013 0 1 0 -0.01674705 0 0 1 1.93062 0 0 0 1 1 0 0 -0.01502423 0 1 0 -0.02019687 0 0 1 1.825735 0 0 0 1 1 0 0 -0.01364621 0 1 0 -0.02562429 0 0 1 1.660725 0 0 0 1 1 0 0 -0.01183303 0 1 0 -0.03276562 0 0 1 1.443606 0 0 0 1 1 0 0 -0.009651639 0 1 0 -0.04135721 0 0 1 1.182396 0 0 0 1 1 0 0 -0.007168981 0 1 0 -0.05113535 0 0 1 0.8851104 0 0 0 1 1 0 0 -0.004452004 0 1 0 -0.06183637 0 0 1 0.5597664 0 0 0 1 1 0 0 -0.001567657 0 1 0 -0.0731966 0 0 1 0.2143808 0 0 0 1 1 0 0 0.001417111 0 1 0 -0.08495234 0 0 1 -0.1430297 0 0 0 1 1 0 0 0.004435355 0 1 0 -0.09683992 0 0 1 -0.5044488 0 0 0 1 1 0 0 0.007420126 0 1 0 -0.1085957 0 0 1 -0.8618598 0 0 0 1 1 0 0 0.01030447 0 1 0 -0.1199559 0 0 1 -1.207245 0 0 0 1 1 0 0 0.01302144 0 1 0 -0.1306569 0 0 1 -1.532588 0 0 0 1 1 0 0 0.01550411 0 1 0 -0.1404351 0 0 1 -1.829875 0 0 0 1 1 0 0 0.0176855 0 1 0 -0.1490266 0 0 1 -2.091084 0 0 0 1 1 0 0 0.01949868 0 1 0 -0.156168 0 0 1 -2.308203 0 0 0 1 1 0 0 0.02087668 0 1 0 -0.1615954 0 0 1 -2.473213 0 0 0 1 1 0 0 0.0217526 0 1 0 -0.1650452 0 0 1 -2.578098 0 0 0 1 1 0 0 0.02205944 0 1 0 -0.1662537 0 0 1 -2.614841 0 0 0 1 1 0 0 0.02205944 0 1 0 -0.1662537 0 0 1 -2.614841 0 0 0 1 1 0 0 0.02205944 0 1 0 -0.1662537 0 0 1 -2.614841 0 0 0 1 1 0 0 0.02205944 0 1 0 -0.1662537 0 0 1 -2.614841 0 0 0 1 1 0 0 0.02205944 0 1 0 -0.1662537 0 0 1 -2.614841 0 0 0 1 1 0 0 0.02205944 0 1 0 -0.1662537 0 0 1 -2.614841 0 0 0 1 1 0 0 0.02205944 0 1 0 -0.1662537 0 0 1 -2.614841 0 0 0 1 1 0 0 0.02205944 0 1 0 -0.1662537 0 0 1 -2.614841 0 0 0 1 1 0 0 0.02205944 0 1 0 -0.1662537 0 0 1 -2.614841 0 0 0 1 1 0 0 0.02205944 0 1 0 -0.1662537 0 0 1 -2.614841 0 0 0 1 1 0 0 0.02205944 0 1 0 -0.1662537 0 0 1 -2.614841 0 0 0 1</float_array>
|
||||
<technique_common>
|
||||
<accessor source="#Armature_mine_ArmatureAction_Bone_pose_matrix-output-array" count="30" stride="16">
|
||||
<param name="TRANSFORM" type="float4x4"/>
|
||||
</accessor>
|
||||
</technique_common>
|
||||
</source>
|
||||
<source id="Armature_mine_ArmatureAction_Bone_pose_matrix-interpolation">
|
||||
<Name_array id="Armature_mine_ArmatureAction_Bone_pose_matrix-interpolation-array" count="30">LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR</Name_array>
|
||||
<technique_common>
|
||||
<accessor source="#Armature_mine_ArmatureAction_Bone_pose_matrix-interpolation-array" count="30" stride="1">
|
||||
<param name="INTERPOLATION" type="name"/>
|
||||
</accessor>
|
||||
</technique_common>
|
||||
</source>
|
||||
<sampler id="Armature_mine_ArmatureAction_Bone_pose_matrix-sampler">
|
||||
<input semantic="INPUT" source="#Armature_mine_ArmatureAction_Bone_pose_matrix-input"/>
|
||||
<input semantic="OUTPUT" source="#Armature_mine_ArmatureAction_Bone_pose_matrix-output"/>
|
||||
<input semantic="INTERPOLATION" source="#Armature_mine_ArmatureAction_Bone_pose_matrix-interpolation"/>
|
||||
</sampler>
|
||||
<channel source="#Armature_mine_ArmatureAction_Bone_pose_matrix-sampler" target="Armature_mine_Bone/transform"/>
|
||||
</animation>
|
||||
</animation>
|
||||
</library_animations>
|
||||
<library_visual_scenes>
|
||||
<visual_scene id="Scene" name="Scene">
|
||||
<node id="Light_001" name="Light.001" type="NODE">
|
||||
<matrix sid="transform">-0.2908646 -0.7711008 0.5663932 4.076245 0.9551712 -0.1998834 0.2183912 1.005454 -0.055189 0.6045247 0.7946723 5.903862 0 0 0 1</matrix>
|
||||
<instance_light url="#Light_001-light"/>
|
||||
</node>
|
||||
<node id="Camera_001" name="Camera.001" type="NODE">
|
||||
<matrix sid="transform">0.6859207 -0.3240135 0.6515582 7.358891 0.7276763 0.3054209 -0.6141704 -6.925791 -4.01133e-9 0.8953956 0.4452714 4.958309 0 0 0 1</matrix>
|
||||
<instance_camera url="#Camera_001-camera"/>
|
||||
</node>
|
||||
<node id="Armature_mine" name="Armature_mine" type="NODE">
|
||||
<matrix sid="transform">1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1</matrix>
|
||||
<node id="Armature_mine_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>
|
||||
<extra>
|
||||
<technique profile="blender">
|
||||
<layer sid="layer" type="string">0</layer>
|
||||
<tip_x sid="tip_x" type="float">0</tip_x>
|
||||
<tip_y sid="tip_y" type="float">1</tip_y>
|
||||
<tip_z sid="tip_z" type="float">0</tip_z>
|
||||
</technique>
|
||||
</extra>
|
||||
</node>
|
||||
<node id="Cube" name="Cube" type="NODE">
|
||||
<matrix sid="transform">1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1</matrix>
|
||||
<instance_controller url="#Armature_mine_Cube-skin">
|
||||
<skeleton>#Armature_mine_Bone</skeleton>
|
||||
</instance_controller>
|
||||
</node>
|
||||
</node>
|
||||
<node id="Camera" name="Camera" type="NODE">
|
||||
<matrix sid="transform">0.6859207 -0.3240135 0.6515582 7.358891 0.7276763 0.3054208 -0.6141704 -6.925791 0 0.8953956 0.4452714 4.958309 0 0 0 1</matrix>
|
||||
<instance_camera url="#Camera-camera"/>
|
||||
</node>
|
||||
<node id="Light" name="Light" type="NODE">
|
||||
<matrix sid="transform">-0.2908646 -0.7711008 0.5663932 4.076245 0.9551712 -0.1998834 0.2183912 1.005454 -0.05518906 0.6045247 0.7946723 5.903862 0 0 0 1</matrix>
|
||||
<instance_light url="#Light-light"/>
|
||||
</node>
|
||||
</visual_scene>
|
||||
</library_visual_scenes>
|
||||
<scene>
|
||||
<instance_visual_scene url="#Scene"/>
|
||||
</scene>
|
||||
</COLLADA>
|
||||
@@ -0,0 +1,225 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<COLLADA xmlns="http://www.collada.org/2005/11/COLLADASchema" version="1.4.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<asset>
|
||||
<contributor>
|
||||
<author>Blender User</author>
|
||||
<authoring_tool>Blender 2.93.5 commit date:2021-10-05, commit time:12:04, hash:a791bdabd0b2</authoring_tool>
|
||||
</contributor>
|
||||
<created>2021-11-07T15:39:11</created>
|
||||
<modified>2021-11-07T15:39:11</modified>
|
||||
<unit name="meter" meter="1"/>
|
||||
<up_axis>Z_UP</up_axis>
|
||||
</asset>
|
||||
<library_cameras>
|
||||
<camera id="my_Camera-camera" name="my_Camera">
|
||||
<optics>
|
||||
<technique_common>
|
||||
<perspective>
|
||||
<xfov sid="xfov">39.59775</xfov>
|
||||
<aspect_ratio>1.777778</aspect_ratio>
|
||||
<znear sid="znear">0.1</znear>
|
||||
<zfar sid="zfar">100</zfar>
|
||||
</perspective>
|
||||
</technique_common>
|
||||
</optics>
|
||||
<extra>
|
||||
<technique profile="blender">
|
||||
<shiftx sid="shiftx" type="float">0</shiftx>
|
||||
<shifty sid="shifty" type="float">0</shifty>
|
||||
<dof_distance sid="dof_distance" type="float">10</dof_distance>
|
||||
</technique>
|
||||
</extra>
|
||||
</camera>
|
||||
</library_cameras>
|
||||
<library_lights>
|
||||
<light id="Light-light" name="my_Light">
|
||||
<technique_common>
|
||||
<point>
|
||||
<color sid="color">1000 1000 1000</color>
|
||||
<constant_attenuation>1</constant_attenuation>
|
||||
<linear_attenuation>0</linear_attenuation>
|
||||
<quadratic_attenuation>0.00111109</quadratic_attenuation>
|
||||
</point>
|
||||
</technique_common>
|
||||
<extra>
|
||||
<technique profile="blender">
|
||||
<type sid="type" type="int">0</type>
|
||||
<flag sid="flag" type="int">0</flag>
|
||||
<mode sid="mode" type="int">1</mode>
|
||||
<gamma sid="blender_gamma" type="float">1</gamma>
|
||||
<red sid="red" type="float">1</red>
|
||||
<green sid="green" type="float">1</green>
|
||||
<blue sid="blue" type="float">1</blue>
|
||||
<shadow_r sid="blender_shadow_r" type="float">0</shadow_r>
|
||||
<shadow_g sid="blender_shadow_g" type="float">0</shadow_g>
|
||||
<shadow_b sid="blender_shadow_b" type="float">0</shadow_b>
|
||||
<energy sid="blender_energy" type="float">1000</energy>
|
||||
<dist sid="blender_dist" type="float">29.99998</dist>
|
||||
<spotsize sid="spotsize" type="float">75</spotsize>
|
||||
<spotblend sid="spotblend" type="float">0.15</spotblend>
|
||||
<att1 sid="att1" type="float">0</att1>
|
||||
<att2 sid="att2" type="float">1</att2>
|
||||
<falloff_type sid="falloff_type" type="int">2</falloff_type>
|
||||
<clipsta sid="clipsta" type="float">0.04999995</clipsta>
|
||||
<clipend sid="clipend" type="float">30.002</clipend>
|
||||
<bias sid="bias" type="float">1</bias>
|
||||
<soft sid="soft" type="float">3</soft>
|
||||
<bufsize sid="bufsize" type="int">2880</bufsize>
|
||||
<samp sid="samp" type="int">3</samp>
|
||||
<buffers sid="buffers" type="int">1</buffers>
|
||||
<area_shape sid="area_shape" type="int">1</area_shape>
|
||||
<area_size sid="area_size" type="float">0.1</area_size>
|
||||
<area_sizey sid="area_sizey" type="float">0.1</area_sizey>
|
||||
<area_sizez sid="area_sizez" type="float">1</area_sizez>
|
||||
</technique>
|
||||
</extra>
|
||||
</light>
|
||||
</library_lights>
|
||||
<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>
|
||||
<triangles count="12">
|
||||
<input semantic="VERTEX" source="#Cube_001-mesh-vertices" offset="0"/>
|
||||
<input semantic="NORMAL" source="#Cube_001-mesh-normals" offset="1"/>
|
||||
<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>
|
||||
</triangles>
|
||||
</mesh>
|
||||
</geometry>
|
||||
</library_geometries>
|
||||
<library_controllers>
|
||||
<controller id="Armature_mine_Cube-skin" name="Armature_mine">
|
||||
<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_mine_Cube-skin-joints">
|
||||
<Name_array id="Armature_mine_Cube-skin-joints-array" count="1">Bone</Name_array>
|
||||
<technique_common>
|
||||
<accessor source="#Armature_mine_Cube-skin-joints-array" count="1" stride="1">
|
||||
<param name="JOINT" type="name"/>
|
||||
</accessor>
|
||||
</technique_common>
|
||||
</source>
|
||||
<source id="Armature_mine_Cube-skin-bind_poses">
|
||||
<float_array id="Armature_mine_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_mine_Cube-skin-bind_poses-array" count="1" stride="16">
|
||||
<param name="TRANSFORM" type="float4x4"/>
|
||||
</accessor>
|
||||
</technique_common>
|
||||
</source>
|
||||
<source id="Armature_mine_Cube-skin-weights">
|
||||
<float_array id="Armature_mine_Cube-skin-weights-array" count="4">1 1 1 1</float_array>
|
||||
<technique_common>
|
||||
<accessor source="#Armature_mine_Cube-skin-weights-array" count="4" stride="1">
|
||||
<param name="WEIGHT" type="float"/>
|
||||
</accessor>
|
||||
</technique_common>
|
||||
</source>
|
||||
<joints>
|
||||
<input semantic="JOINT" source="#Armature_mine_Cube-skin-joints"/>
|
||||
<input semantic="INV_BIND_MATRIX" source="#Armature_mine_Cube-skin-bind_poses"/>
|
||||
</joints>
|
||||
<vertex_weights count="8">
|
||||
<input semantic="JOINT" source="#Armature_mine_Cube-skin-joints" offset="0"/>
|
||||
<input semantic="WEIGHT" source="#Armature_mine_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_animations>
|
||||
<animation id="action_container-Armature_mine" name="Armature_mine">
|
||||
<animation id="Armature_mine_ArmatureAction_Bone_pose_matrix" name="Armature_mine">
|
||||
<source id="Armature_mine_ArmatureAction_Bone_pose_matrix-input">
|
||||
<float_array id="Armature_mine_ArmatureAction_Bone_pose_matrix-input-array" count="30">0.04166662 0.08333331 0.125 0.1666666 0.2083333 0.25 0.2916666 0.3333333 0.375 0.4166666 0.4583333 0.5 0.5416667 0.5833333 0.625 0.6666667 0.7083333 0.75 0.7916667 0.8333333 0.875 0.9166667 0.9583333 1 1.041667 1.083333 1.125 1.166667 1.208333 1.25</float_array>
|
||||
<technique_common>
|
||||
<accessor source="#Armature_mine_ArmatureAction_Bone_pose_matrix-input-array" count="30" stride="1">
|
||||
<param name="TIME" type="float"/>
|
||||
</accessor>
|
||||
</technique_common>
|
||||
</source>
|
||||
<source id="Armature_mine_ArmatureAction_Bone_pose_matrix-output">
|
||||
<float_array id="Armature_mine_ArmatureAction_Bone_pose_matrix-output-array" count="480">1 0 0 -0.01620697 0 1 0 -0.01553852 0 0 1 1.967363 0 0 0 1 1 0 0 -0.01590013 0 1 0 -0.01674705 0 0 1 1.93062 0 0 0 1 1 0 0 -0.01502423 0 1 0 -0.02019687 0 0 1 1.825735 0 0 0 1 1 0 0 -0.01364621 0 1 0 -0.02562429 0 0 1 1.660725 0 0 0 1 1 0 0 -0.01183303 0 1 0 -0.03276562 0 0 1 1.443606 0 0 0 1 1 0 0 -0.009651639 0 1 0 -0.04135721 0 0 1 1.182396 0 0 0 1 1 0 0 -0.007168981 0 1 0 -0.05113535 0 0 1 0.8851104 0 0 0 1 1 0 0 -0.004452004 0 1 0 -0.06183637 0 0 1 0.5597664 0 0 0 1 1 0 0 -0.001567657 0 1 0 -0.0731966 0 0 1 0.2143808 0 0 0 1 1 0 0 0.001417111 0 1 0 -0.08495234 0 0 1 -0.1430297 0 0 0 1 1 0 0 0.004435355 0 1 0 -0.09683992 0 0 1 -0.5044488 0 0 0 1 1 0 0 0.007420126 0 1 0 -0.1085957 0 0 1 -0.8618598 0 0 0 1 1 0 0 0.01030447 0 1 0 -0.1199559 0 0 1 -1.207245 0 0 0 1 1 0 0 0.01302144 0 1 0 -0.1306569 0 0 1 -1.532588 0 0 0 1 1 0 0 0.01550411 0 1 0 -0.1404351 0 0 1 -1.829875 0 0 0 1 1 0 0 0.0176855 0 1 0 -0.1490266 0 0 1 -2.091084 0 0 0 1 1 0 0 0.01949868 0 1 0 -0.156168 0 0 1 -2.308203 0 0 0 1 1 0 0 0.02087668 0 1 0 -0.1615954 0 0 1 -2.473213 0 0 0 1 1 0 0 0.0217526 0 1 0 -0.1650452 0 0 1 -2.578098 0 0 0 1 1 0 0 0.02205944 0 1 0 -0.1662537 0 0 1 -2.614841 0 0 0 1 1 0 0 0.02205944 0 1 0 -0.1662537 0 0 1 -2.614841 0 0 0 1 1 0 0 0.02205944 0 1 0 -0.1662537 0 0 1 -2.614841 0 0 0 1 1 0 0 0.02205944 0 1 0 -0.1662537 0 0 1 -2.614841 0 0 0 1 1 0 0 0.02205944 0 1 0 -0.1662537 0 0 1 -2.614841 0 0 0 1 1 0 0 0.02205944 0 1 0 -0.1662537 0 0 1 -2.614841 0 0 0 1 1 0 0 0.02205944 0 1 0 -0.1662537 0 0 1 -2.614841 0 0 0 1 1 0 0 0.02205944 0 1 0 -0.1662537 0 0 1 -2.614841 0 0 0 1 1 0 0 0.02205944 0 1 0 -0.1662537 0 0 1 -2.614841 0 0 0 1 1 0 0 0.02205944 0 1 0 -0.1662537 0 0 1 -2.614841 0 0 0 1 1 0 0 0.02205944 0 1 0 -0.1662537 0 0 1 -2.614841 0 0 0 1</float_array>
|
||||
<technique_common>
|
||||
<accessor source="#Armature_mine_ArmatureAction_Bone_pose_matrix-output-array" count="30" stride="16">
|
||||
<param name="TRANSFORM" type="float4x4"/>
|
||||
</accessor>
|
||||
</technique_common>
|
||||
</source>
|
||||
<source id="Armature_mine_ArmatureAction_Bone_pose_matrix-interpolation">
|
||||
<Name_array id="Armature_mine_ArmatureAction_Bone_pose_matrix-interpolation-array" count="30">LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR</Name_array>
|
||||
<technique_common>
|
||||
<accessor source="#Armature_mine_ArmatureAction_Bone_pose_matrix-interpolation-array" count="30" stride="1">
|
||||
<param name="INTERPOLATION" type="name"/>
|
||||
</accessor>
|
||||
</technique_common>
|
||||
</source>
|
||||
<sampler id="Armature_mine_ArmatureAction_Bone_pose_matrix-sampler">
|
||||
<input semantic="INPUT" source="#Armature_mine_ArmatureAction_Bone_pose_matrix-input"/>
|
||||
<input semantic="OUTPUT" source="#Armature_mine_ArmatureAction_Bone_pose_matrix-output"/>
|
||||
<input semantic="INTERPOLATION" source="#Armature_mine_ArmatureAction_Bone_pose_matrix-interpolation"/>
|
||||
</sampler>
|
||||
<channel source="#Armature_mine_ArmatureAction_Bone_pose_matrix-sampler" target="Armature_mine_Bone/transform"/>
|
||||
</animation>
|
||||
</animation>
|
||||
</library_animations>
|
||||
<library_visual_scenes>
|
||||
<visual_scene id="Scene" name="Scene">
|
||||
<node id="Armature_mine" name="Armature_mine" type="NODE">
|
||||
<matrix sid="transform">1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1</matrix>
|
||||
<node id="Armature_mine_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>
|
||||
<extra>
|
||||
<technique profile="blender">
|
||||
<layer sid="layer" type="string">0</layer>
|
||||
<tip_x sid="tip_x" type="float">0</tip_x>
|
||||
<tip_y sid="tip_y" type="float">1</tip_y>
|
||||
<tip_z sid="tip_z" type="float">0</tip_z>
|
||||
</technique>
|
||||
</extra>
|
||||
</node>
|
||||
<node id="Cube" name="Cube" type="NODE">
|
||||
<matrix sid="transform">1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1</matrix>
|
||||
<instance_controller url="#Armature_mine_Cube-skin">
|
||||
<skeleton>#Armature_mine_Bone</skeleton>
|
||||
</instance_controller>
|
||||
</node>
|
||||
</node>
|
||||
<node id="my_Camera" name="my_Camera" type="NODE">
|
||||
<matrix sid="transform">0.6859207 -0.3240135 0.6515582 7.358891 0.7276763 0.3054208 -0.6141704 -6.925791 0 0.8953956 0.4452714 4.958309 0 0 0 1</matrix>
|
||||
<instance_camera url="#my_Camera-camera"/>
|
||||
</node>
|
||||
<node id="Light" name="Light" type="NODE">
|
||||
<matrix sid="transform">-0.2908646 -0.7711008 0.5663932 4.076245 0.9551712 -0.1998834 0.2183912 1.005454 -0.05518906 0.6045247 0.7946723 5.903862 0 0 0 1</matrix>
|
||||
<instance_light url="#Light-light"/>
|
||||
</node>
|
||||
</visual_scene>
|
||||
</library_visual_scenes>
|
||||
<scene>
|
||||
<instance_visual_scene url="#Scene"/>
|
||||
</scene>
|
||||
</COLLADA>
|
||||
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
16
4-high/gel/applet/demo/skinning/rig/human_rig/alire.toml
Normal file
@@ -0,0 +1,16 @@
|
||||
name = "lace_gel_animation_demo"
|
||||
description = "A demo of GEL's human animation."
|
||||
version = "0.1.1"
|
||||
|
||||
authors = ["Rod Kay"]
|
||||
maintainers = ["Rod Kay <rodakay5@gmail.com>"]
|
||||
maintainers-logins = ["charlie5"]
|
||||
|
||||
licenses = "ISC"
|
||||
website = "https://github.com/charlie5/lace-alire"
|
||||
|
||||
executables = ["launch_human_rig_demo"]
|
||||
project-files = ["human_rig_demo.gpr"]
|
||||
|
||||
[[depends-on]]
|
||||
lace_gel = "~0.1"
|
||||
|
After Width: | Height: | Size: 5.1 KiB |
@@ -0,0 +1,75 @@
|
||||
# Blender v2.58 (sub 0) OBJ File: '619.blend'
|
||||
# www.blender.org
|
||||
mtllib button.mtl
|
||||
o Mesh_Cube.001
|
||||
v -0.5 0.5 1.093806
|
||||
v -0.5 0.5 1.093806
|
||||
v -0.5 0.5 1.206992
|
||||
v -0.5 0.5 1.093806
|
||||
v -0.5 0.5 1.093806
|
||||
v 0.5 -0.5 1.093806
|
||||
v -0.5 -0.5 1.093806
|
||||
v 0.5 0.5 1.093807
|
||||
v 0.5 0.5 1.206992
|
||||
v -0.5 -0.5 1.093806
|
||||
v -0.5 -0.5 1.206992
|
||||
v 0.5 -0.5 1.093806
|
||||
v 0.5 -0.5 1.093806
|
||||
v 0.5 -0.5 1.093806
|
||||
v 0.5 -0.5 1.206992
|
||||
vt 0.000000 0.000000
|
||||
vt 1.000000 0.000000
|
||||
vt 1.000000 1.000000
|
||||
vt 0.000000 1.000000
|
||||
vt 0.060926 0.000000
|
||||
vt 0.899428 -0.000000
|
||||
vt 0.986771 0.868468
|
||||
vt 0.036946 0.036946
|
||||
vt 1.000000 0.100572
|
||||
vt 1.000000 0.939074
|
||||
vt 0.934764 0.934764
|
||||
vt 0.000000 0.036946
|
||||
vt 0.565930 0.036946
|
||||
vt 0.565928 0.934763
|
||||
vt 0.000000 0.934763
|
||||
vt 0.986772 0.868468
|
||||
vt 1.000000 0.094340
|
||||
vt 1.000000 0.880876
|
||||
vt 0.119123 -0.000001
|
||||
vt 0.905660 0.000000
|
||||
vt 0.999999 0.100572
|
||||
vt 1.000000 0.939077
|
||||
vt 1.000000 0.036946
|
||||
vt 1.000000 0.934764
|
||||
vt 0.939074 1.000000
|
||||
vt 0.100572 1.000000
|
||||
vt 0.434073 0.934763
|
||||
vt 0.434071 0.036946
|
||||
vt 0.036946 -0.000000
|
||||
vt 0.934763 -0.000000
|
||||
vt 0.934763 1.000000
|
||||
vt 0.036946 1.000000
|
||||
vn -0.000000 1.000000 0.000001
|
||||
vn 0.000000 -0.000000 -1.000000
|
||||
vn -0.707107 -0.000000 0.707107
|
||||
vn 0.000001 0.000000 -1.000000
|
||||
vn 0.707105 0.000000 0.707109
|
||||
vn 0.000000 -0.000000 1.000000
|
||||
vn 0.000000 -1.000000 -0.000001
|
||||
usemtl Material.001
|
||||
s off
|
||||
f 1/1/1 2/2/1 3/3/1
|
||||
f 4/1/1 3/3/1 5/4/1
|
||||
f 4/1/1 1/2/1 3/3/1
|
||||
f 7/5/2 1/6/2 6/7/2
|
||||
f 8/1/1 5/2/1 3/3/1 9/4/1
|
||||
f 2/8/2 1/9/2 7/10/2 10/11/2
|
||||
f 3/12/3 2/13/3 10/14/3 11/15/3
|
||||
f 6/16/2 1/6/2 4/17/2 12/18/2
|
||||
f 12/19/2 4/20/2 5/21/2 13/22/2
|
||||
f 8/23/4 14/24/4 13/25/4 5/26/4
|
||||
f 14/27/5 8/28/5 9/23/5 15/24/5
|
||||
f 3/29/6 11/30/6 15/31/6 9/32/6
|
||||
f 6/1/7 12/2/7 15/3/7 11/4/7
|
||||
f 7/1/7 6/2/7 11/3/7 10/4/7
|
||||
f 13/1/7 14/2/7 15/3/7 12/4/7
|
||||
@@ -0,0 +1,473 @@
|
||||
A brief overview of bone joints follows:
|
||||
|
||||
<node layer="L1" sid="MasterFloor" type="JOINT" id="MasterFloor" name="MasterFloor">
|
||||
<translate sid="translate"> -0.0000 0.0432 -7.4806 </translate>
|
||||
<node sid="Root" type="JOINT" id="Root" name="Root">
|
||||
<translate sid="translate"> 0.0000 -0.1259 8.5236 </translate>
|
||||
<node sid="Hips" type="JOINT" id="Hips" name="Hips">
|
||||
<translate sid="translate"> 0.0000 -0.0230 0.8049 </translate>
|
||||
<node sid="UpLeg_L" type="JOINT" id="UpLeg_L" name="UpLeg_L">
|
||||
<translate sid="translate"> 0.9739 -0.0255 -1.1278 </translate>
|
||||
<node sid="LoLeg_L" type="JOINT" id="LoLeg_L" name="LoLeg_L">
|
||||
<translate sid="translate"> -0.1523 -0.0696 -4.1615 </translate>
|
||||
<node sid="Foot_L" type="JOINT" id="Foot_L" name="Foot_L">
|
||||
<translate sid="translate"> -0.1247 0.2440 -4.0392 </translate>
|
||||
<node sid="Toe_L" type="JOINT" id="Toe_L" name="Toe_L">
|
||||
<translate sid="translate"> 0.0230 -1.1556 -0.6581 </translate>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node sid="UpLeg_R" type="JOINT" id="UpLeg_R" name="UpLeg_R">
|
||||
<translate sid="translate"> -0.9739 -0.0255 -1.1278 </translate>
|
||||
<node sid="LoLeg_R" type="JOINT" id="LoLeg_R" name="LoLeg_R">
|
||||
<translate sid="translate"> 0.1523 -0.0696 -4.1615 </translate>
|
||||
<node sid="Foot_R" type="JOINT" id="Foot_R" name="Foot_R">
|
||||
<translate sid="translate"> 0.1247 0.2440 -4.0392 </translate>
|
||||
<node sid="Toe_R" type="JOINT" id="Toe_R" name="Toe_R">
|
||||
<translate sid="translate"> -0.0230 -1.1556 -0.6581 </translate>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node sid="Spine1" type="JOINT" id="Spine1" name="Spine1">
|
||||
<translate sid="translate"> 0.0000 -0.0230 0.8049 </translate>
|
||||
<node sid="Spine2" type="JOINT" id="Spine2" name="Spine2">
|
||||
<translate sid="translate"> 0.0000 0.3031 1.0547 </translate>
|
||||
<node sid="Spine3" type="JOINT" id="Spine3" name="Spine3">
|
||||
<translate sid="translate"> 0.0000 0.6051 1.1926 </translate>
|
||||
<node sid="Neck" type="JOINT" id="Neck" name="Neck">
|
||||
<translate sid="translate"> 0.0000 -0.2067 1.8849 </translate>
|
||||
<node sid="Head" type="JOINT" id="Head" name="Head">
|
||||
<translate sid="translate"> 0.0000 -0.1187 1.1006 </translate>
|
||||
<node sid="Jaw" type="JOINT" id="Jaw" name="Jaw">
|
||||
<translate sid="translate"> 0.0000 -0.4814 0.0431 </translate>
|
||||
<node sid="TongueBase" type="JOINT" id="TongueBase" name="TongueBase">
|
||||
<translate sid="translate"> 0.0000 -0.0423 -0.3259 </translate>
|
||||
<node sid="TongueMid" type="JOINT" id="TongueMid" name="TongueMid">
|
||||
<translate sid="translate"> 0.0000 -0.2762 0.0587 </translate>
|
||||
<node sid="TongueTip" type="JOINT" id="TongueTip" name="TongueTip">
|
||||
<translate sid="translate"> 0.0000 -0.2279 -0.0161 </translate>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node sid="Eye_R" type="JOINT" id="Eye_R" name="Eye_R">
|
||||
<translate sid="translate"> -0.2990 -1.0292 0.4165 </translate>
|
||||
</node>
|
||||
<node sid="Eye_L" type="JOINT" id="Eye_L" name="Eye_L">
|
||||
<translate sid="translate"> 0.2990 -1.0292 0.4165 </translate>
|
||||
</node>
|
||||
<node sid="UpLid_R" type="JOINT" id="UpLid_R" name="UpLid_R">
|
||||
<translate sid="translate"> -0.2990 -1.0292 0.4165 </translate>
|
||||
</node>
|
||||
<node sid="LoLid_R" type="JOINT" id="LoLid_R" name="LoLid_R">
|
||||
<translate sid="translate"> -0.2990 -1.0292 0.4165 </translate>
|
||||
</node>
|
||||
<node sid="UpLid_L" type="JOINT" id="UpLid_L" name="UpLid_L">
|
||||
<translate sid="translate"> 0.2990 -1.0292 0.4165 </translate>
|
||||
</node>
|
||||
<node sid="LoLid_L" type="JOINT" id="LoLid_L" name="LoLid_L">
|
||||
<translate sid="translate"> 0.2990 -1.0292 0.4165 </translate>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node sid="Clavicle_L" type="JOINT" id="Clavicle_L" name="Clavicle_L">
|
||||
<translate sid="translate"> 0.2947 -1.0762 1.1652 </translate>
|
||||
<rotate sid="rotateZ">0 0 1 0.0</rotate>
|
||||
<rotate sid="rotateY">0 1 0 0.0</rotate>
|
||||
<rotate sid="rotateX">1 0 0 0.0</rotate>
|
||||
<scale sid="scale">1.0 1.0 1.0</scale>
|
||||
<node sid="UpArm_L" type="JOINT" id="UpArm_L" name="UpArm_L">
|
||||
<translate sid="translate"> 1.3995 0.7593 0.0424 </translate>
|
||||
<rotate sid="rotateZ">0 0 1 0.0</rotate>
|
||||
<rotate sid="rotateY">0 1 0 0.0</rotate>
|
||||
<rotate sid="rotateX">1 0 0 0.0</rotate>
|
||||
<scale sid="scale">1.0 1.0 1.0</scale>
|
||||
<node sid="LoArm_L" type="JOINT" id="LoArm_L" name="LoArm_L">
|
||||
<translate sid="translate"> 2.3958 -0.0513 -0.1305 </translate>
|
||||
<rotate sid="rotateZ">0 0 1 0.0</rotate>
|
||||
<rotate sid="rotateY">0 1 0 0.0</rotate>
|
||||
<rotate sid="rotateX">1 0 0 0.0</rotate>
|
||||
<scale sid="scale">1.0 1.0 1.0</scale>
|
||||
<node sid="Hand_L" type="JOINT" id="Hand_L" name="Hand_L">
|
||||
<translate sid="translate"> 2.3059 -0.1267 0.1417 </translate>
|
||||
<rotate sid="rotateZ">0 0 1 0.0</rotate>
|
||||
<rotate sid="rotateY">0 1 0 0.0</rotate>
|
||||
<rotate sid="rotateX">1 0 0 0.0</rotate>
|
||||
<scale sid="scale">1.0 1.0 1.0</scale>
|
||||
<node sid="Wrist-1_L" type="JOINT" id="Wrist-1_L" name="Wrist-1_L">
|
||||
<translate sid="translate"> 0.0000 -0.0000 0.0000 </translate>
|
||||
<rotate sid="rotateZ">0 0 1 0.0</rotate>
|
||||
<rotate sid="rotateY">0 1 0 0.0</rotate>
|
||||
<rotate sid="rotateX">1 0 0 0.0</rotate>
|
||||
<scale sid="scale">1.0 1.0 1.0</scale>
|
||||
<node sid="Palm-2_L" type="JOINT" id="Palm-2_L" name="Palm-2_L">
|
||||
<translate sid="translate"> 0.2824 -0.1006 -0.1787 </translate>
|
||||
<rotate sid="rotateZ">0 0 1 0.0</rotate>
|
||||
<rotate sid="rotateY">0 1 0 0.0</rotate>
|
||||
<rotate sid="rotateX">1 0 0 0.0</rotate>
|
||||
<scale sid="scale">1.0 1.0 1.0</scale>
|
||||
<node sid="Finger-2-1_L" type="JOINT" id="Finger-2-1_L" name="Finger-2-1_L">
|
||||
<translate sid="translate"> 0.4847 -0.2007 0.2459 </translate>
|
||||
<rotate sid="rotateZ">0 0 1 0.0</rotate>
|
||||
<rotate sid="rotateY">0 1 0 0.0</rotate>
|
||||
<rotate sid="rotateX">1 0 0 0.0</rotate>
|
||||
<scale sid="scale">1.0 1.0 1.0</scale>
|
||||
<node sid="Finger-2-2_L" type="JOINT" id="Finger-2-2_L" name="Finger-2-2_L">
|
||||
<translate sid="translate"> 0.3571 -0.0416 -0.0491 </translate>
|
||||
<rotate sid="rotateZ">0 0 1 0.0</rotate>
|
||||
<rotate sid="rotateY">0 1 0 0.0</rotate>
|
||||
<rotate sid="rotateX">1 0 0 0.0</rotate>
|
||||
<scale sid="scale">1.0 1.0 1.0</scale>
|
||||
<node sid="Finger-2-3_L" type="JOINT" id="Finger-2-3_L" name="Finger-2-3_L">
|
||||
<translate sid="translate"> 0.2663 -0.0291 -0.0153 </translate>
|
||||
<rotate sid="rotateZ">0 0 1 0.0</rotate>
|
||||
<rotate sid="rotateY">0 1 0 0.0</rotate>
|
||||
<rotate sid="rotateX">1 0 0 0.0</rotate>
|
||||
<scale sid="scale">1.0 1.0 1.0</scale>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node sid="Palm-3_L" type="JOINT" id="Palm-3_L" name="Palm-3_L">
|
||||
<translate sid="translate"> 0.2824 -0.1006 -0.1787 </translate>
|
||||
<rotate sid="rotateZ">0 0 1 0.0</rotate>
|
||||
<rotate sid="rotateY">0 1 0 0.0</rotate>
|
||||
<rotate sid="rotateX">1 0 0 0.0</rotate>
|
||||
<scale sid="scale">1.0 1.0 1.0</scale>
|
||||
<node sid="Finger-3-1_L" type="JOINT" id="Finger-3-1_L" name="Finger-3-1_L">
|
||||
<translate sid="translate"> 0.5167 0.0092 0.2613 </translate>
|
||||
<rotate sid="rotateZ">0 0 1 0.0</rotate>
|
||||
<rotate sid="rotateY">0 1 0 0.0</rotate>
|
||||
<rotate sid="rotateX">1 0 0 0.0</rotate>
|
||||
<scale sid="scale">1.0 1.0 1.0</scale>
|
||||
<node sid="Finger-3-2_L" type="JOINT" id="Finger-3-2_L" name="Finger-3-2_L">
|
||||
<translate sid="translate"> 0.3783 -0.0072 0.0061 </translate>
|
||||
<rotate sid="rotateZ">0 0 1 0.0</rotate>
|
||||
<rotate sid="rotateY">0 1 0 0.0</rotate>
|
||||
<rotate sid="rotateX">1 0 0 0.0</rotate>
|
||||
<scale sid="scale">1.0 1.0 1.0</scale>
|
||||
<node sid="Finger-3-3_L" type="JOINT" id="Finger-3-3_L" name="Finger-3-3_L">
|
||||
<translate sid="translate"> 0.3510 -0.0128 -0.0527 </translate>
|
||||
<rotate sid="rotateZ">0 0 1 0.0</rotate>
|
||||
<rotate sid="rotateY">0 1 0 0.0</rotate>
|
||||
<rotate sid="rotateX">1 0 0 0.0</rotate>
|
||||
<scale sid="scale">1.0 1.0 1.0</scale>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node sid="Wrist-2_L" type="JOINT" id="Wrist-2_L" name="Wrist-2_L">
|
||||
<translate sid="translate"> 0.0000 -0.0000 0.0000 </translate>
|
||||
<rotate sid="rotateZ">0 0 1 0.0</rotate>
|
||||
<rotate sid="rotateY">0 1 0 0.0</rotate>
|
||||
<rotate sid="rotateX">1 0 0 0.0</rotate>
|
||||
<scale sid="scale">1.0 1.0 1.0</scale>
|
||||
<node sid="Palm-4_L" type="JOINT" id="Palm-4_L" name="Palm-4_L">
|
||||
<translate sid="translate"> 0.2877 0.1215 -0.1543 </translate>
|
||||
<rotate sid="rotateZ">0 0 1 0.0</rotate>
|
||||
<rotate sid="rotateY">0 1 0 0.0</rotate>
|
||||
<rotate sid="rotateX">1 0 0 0.0</rotate>
|
||||
<scale sid="scale">1.0 1.0 1.0</scale>
|
||||
<node sid="Finger-4-1_L" type="JOINT" id="Finger-4-1_L" name="Finger-4-1_L">
|
||||
<translate sid="translate"> 0.5191 0.0274 0.1788 </translate>
|
||||
<rotate sid="rotateZ">0 0 1 0.0</rotate>
|
||||
<rotate sid="rotateY">0 1 0 0.0</rotate>
|
||||
<rotate sid="rotateX">1 0 0 0.0</rotate>
|
||||
<scale sid="scale">1.0 1.0 1.0</scale>
|
||||
<node sid="Finger-4-2_L" type="JOINT" id="Finger-4-2_L" name="Finger-4-2_L">
|
||||
<translate sid="translate"> 0.3004 0.0122 -0.0036 </translate>
|
||||
<rotate sid="rotateZ">0 0 1 0.0</rotate>
|
||||
<rotate sid="rotateY">0 1 0 0.0</rotate>
|
||||
<rotate sid="rotateX">1 0 0 0.0</rotate>
|
||||
<scale sid="scale">1.0 1.0 1.0</scale>
|
||||
<node sid="Finger-4-3_L" type="JOINT" id="Finger-4-3_L" name="Finger-4-3_L">
|
||||
<translate sid="translate"> 0.3113 -0.0155 -0.0167 </translate>
|
||||
<rotate sid="rotateZ">0 0 1 0.0</rotate>
|
||||
<rotate sid="rotateY">0 1 0 0.0</rotate>
|
||||
<rotate sid="rotateX">1 0 0 0.0</rotate>
|
||||
<scale sid="scale">1.0 1.0 1.0</scale>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node sid="Palm-5_L" type="JOINT" id="Palm-5_L" name="Palm-5_L">
|
||||
<translate sid="translate"> 0.2877 0.1215 -0.1543 </translate>
|
||||
<rotate sid="rotateZ">0 0 1 0.0</rotate>
|
||||
<rotate sid="rotateY">0 1 0 0.0</rotate>
|
||||
<rotate sid="rotateX">1 0 0 0.0</rotate>
|
||||
<scale sid="scale">1.0 1.0 1.0</scale>
|
||||
<node sid="Finger-5-1_L" type="JOINT" id="Finger-5-1_L" name="Finger-5-1_L">
|
||||
<translate sid="translate"> 0.4320 0.2031 0.1388 </translate>
|
||||
<rotate sid="rotateZ">0 0 1 0.0</rotate>
|
||||
<rotate sid="rotateY">0 1 0 0.0</rotate>
|
||||
<rotate sid="rotateX">1 0 0 0.0</rotate>
|
||||
<scale sid="scale">1.0 1.0 1.0</scale>
|
||||
<node sid="Finger-5-2_L" type="JOINT" id="Finger-5-2_L" name="Finger-5-2_L">
|
||||
<translate sid="translate"> 0.3115 0.0540 -0.0610 </translate>
|
||||
<rotate sid="rotateZ">0 0 1 0.0</rotate>
|
||||
<rotate sid="rotateY">0 1 0 0.0</rotate>
|
||||
<rotate sid="rotateX">1 0 0 0.0</rotate>
|
||||
<scale sid="scale">1.0 1.0 1.0</scale>
|
||||
<node sid="Finger-5-3_L" type="JOINT" id="Finger-5-3_L" name="Finger-5-3_L">
|
||||
<translate sid="translate"> 0.1858 0.0091 -0.0185 </translate>
|
||||
<rotate sid="rotateZ">0 0 1 0.0</rotate>
|
||||
<rotate sid="rotateY">0 1 0 0.0</rotate>
|
||||
<rotate sid="rotateX">1 0 0 0.0</rotate>
|
||||
<scale sid="scale">1.0 1.0 1.0</scale>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node sid="Palm-1_L" type="JOINT" id="Palm-1_L" name="Palm-1_L">
|
||||
<translate sid="translate"> 0.0000 -0.0000 0.0000 </translate>
|
||||
<rotate sid="rotateZ">0 0 1 0.0</rotate>
|
||||
<rotate sid="rotateY">0 1 0 0.0</rotate>
|
||||
<rotate sid="rotateX">1 0 0 0.0</rotate>
|
||||
<scale sid="scale">1.0 1.0 1.0</scale>
|
||||
<node sid="Finger-1-1_L" type="JOINT" id="Finger-1-1_L" name="Finger-1-1_L">
|
||||
<translate sid="translate"> 0.1964 -0.2741 -0.1517 </translate>
|
||||
<rotate sid="rotateZ">0 0 1 0.0</rotate>
|
||||
<rotate sid="rotateY">0 1 0 0.0</rotate>
|
||||
<rotate sid="rotateX">1 0 0 0.0</rotate>
|
||||
<scale sid="scale">1.0 1.0 1.0</scale>
|
||||
<node sid="Finger-1-2_L" type="JOINT" id="Finger-1-2_L" name="Finger-1-2_L">
|
||||
<translate sid="translate"> 0.4060 -0.2236 -0.1020 </translate>
|
||||
<rotate sid="rotateZ">0 0 1 0.0</rotate>
|
||||
<rotate sid="rotateY">0 1 0 0.0</rotate>
|
||||
<rotate sid="rotateX">1 0 0 0.0</rotate>
|
||||
<scale sid="scale">1.0 1.0 1.0</scale>
|
||||
<node sid="Finger-1-3_L" type="JOINT" id="Finger-1-3_L" name="Finger-1-3_L">
|
||||
<translate sid="translate"> 0.2557 -0.0491 -0.0086 </translate>
|
||||
<rotate sid="rotateZ">0 0 1 0.0</rotate>
|
||||
<rotate sid="rotateY">0 1 0 0.0</rotate>
|
||||
<rotate sid="rotateX">1 0 0 0.0</rotate>
|
||||
<scale sid="scale">1.0 1.0 1.0</scale>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node sid="Clavicle_R" type="JOINT" id="Clavicle_R" name="Clavicle_R">
|
||||
<translate sid="translate"> -0.2947 -1.0762 1.1652 </translate>
|
||||
<rotate sid="rotateZ">0 0 1 0.0</rotate>
|
||||
<rotate sid="rotateY">0 1 0 0.0</rotate>
|
||||
<rotate sid="rotateX">1 0 0 0.0</rotate>
|
||||
<scale sid="scale">1.0 1.0 1.0</scale>
|
||||
<node sid="UpArm_R" type="JOINT" id="UpArm_R" name="UpArm_R">
|
||||
<translate sid="translate"> -1.3995 0.7593 0.0424 </translate>
|
||||
<rotate sid="rotateZ">0 0 1 0.0</rotate>
|
||||
<rotate sid="rotateY">0 1 0 0.0</rotate>
|
||||
<rotate sid="rotateX">1 0 0 0.0</rotate>
|
||||
<scale sid="scale">1.0 1.0 1.0</scale>
|
||||
<node sid="LoArm_R" type="JOINT" id="LoArm_R" name="LoArm_R">
|
||||
<translate sid="translate"> -2.3958 -0.0513 -0.1305 </translate>
|
||||
<rotate sid="rotateZ">0 0 1 0.0</rotate>
|
||||
<rotate sid="rotateY">0 1 0 0.0</rotate>
|
||||
<rotate sid="rotateX">1 0 0 0.0</rotate>
|
||||
<scale sid="scale">1.0 1.0 1.0</scale>
|
||||
<node sid="Hand_R" type="JOINT" id="Hand_R" name="Hand_R">
|
||||
<translate sid="translate"> -2.3059 -0.1267 0.1417 </translate>
|
||||
<rotate sid="rotateZ">0 0 1 0.0</rotate>
|
||||
<rotate sid="rotateY">0 1 0 0.0</rotate>
|
||||
<rotate sid="rotateX">1 0 0 0.0</rotate>
|
||||
<scale sid="scale">1.0 1.0 1.0</scale>
|
||||
<node sid="Wrist-1_R" type="JOINT" id="Wrist-1_R" name="Wrist-1_R">
|
||||
<translate sid="translate"> 0.0000 -0.0000 0.0000 </translate>
|
||||
<rotate sid="rotateZ">0 0 1 0.0</rotate>
|
||||
<rotate sid="rotateY">0 1 0 0.0</rotate>
|
||||
<rotate sid="rotateX">1 0 0 0.0</rotate>
|
||||
<scale sid="scale">1.0 1.0 1.0</scale>
|
||||
<node sid="Palm-2_R" type="JOINT" id="Palm-2_R" name="Palm-2_R">
|
||||
<translate sid="translate"> -0.2824 -0.1006 -0.1787 </translate>
|
||||
<rotate sid="rotateZ">0 0 1 0.0</rotate>
|
||||
<rotate sid="rotateY">0 1 0 0.0</rotate>
|
||||
<rotate sid="rotateX">1 0 0 0.0</rotate>
|
||||
<scale sid="scale">1.0 1.0 1.0</scale>
|
||||
<node sid="Finger-2-1_R" type="JOINT" id="Finger-2-1_R" name="Finger-2-1_R">
|
||||
<translate sid="translate"> -0.4847 -0.2007 0.2459 </translate>
|
||||
<rotate sid="rotateZ">0 0 1 0.0</rotate>
|
||||
<rotate sid="rotateY">0 1 0 0.0</rotate>
|
||||
<rotate sid="rotateX">1 0 0 0.0</rotate>
|
||||
<scale sid="scale">1.0 1.0 1.0</scale>
|
||||
<node sid="Finger-2-2_R" type="JOINT" id="Finger-2-2_R" name="Finger-2-2_R">
|
||||
<translate sid="translate"> -0.3571 -0.0416 -0.0491 </translate>
|
||||
<rotate sid="rotateZ">0 0 1 0.0</rotate>
|
||||
<rotate sid="rotateY">0 1 0 0.0</rotate>
|
||||
<rotate sid="rotateX">1 0 0 0.0</rotate>
|
||||
<scale sid="scale">1.0 1.0 1.0</scale>
|
||||
<node sid="Finger-2-3_R" type="JOINT" id="Finger-2-3_R" name="Finger-2-3_R">
|
||||
<translate sid="translate"> -0.2663 -0.0291 -0.0153 </translate>
|
||||
<rotate sid="rotateZ">0 0 1 0.0</rotate>
|
||||
<rotate sid="rotateY">0 1 0 0.0</rotate>
|
||||
<rotate sid="rotateX">1 0 0 0.0</rotate>
|
||||
<scale sid="scale">1.0 1.0 1.0</scale>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node sid="Palm-3_R" type="JOINT" id="Palm-3_R" name="Palm-3_R">
|
||||
<translate sid="translate"> -0.2824 -0.1006 -0.1787 </translate>
|
||||
<rotate sid="rotateZ">0 0 1 0.0</rotate>
|
||||
<rotate sid="rotateY">0 1 0 0.0</rotate>
|
||||
<rotate sid="rotateX">1 0 0 0.0</rotate>
|
||||
<scale sid="scale">1.0 1.0 1.0</scale>
|
||||
<node sid="Finger-3-1_R" type="JOINT" id="Finger-3-1_R" name="Finger-3-1_R">
|
||||
<translate sid="translate"> -0.5167 0.0092 0.2613 </translate>
|
||||
<rotate sid="rotateZ">0 0 1 0.0</rotate>
|
||||
<rotate sid="rotateY">0 1 0 0.0</rotate>
|
||||
<rotate sid="rotateX">1 0 0 0.0</rotate>
|
||||
<scale sid="scale">1.0 1.0 1.0</scale>
|
||||
<node sid="Finger-3-2_R" type="JOINT" id="Finger-3-2_R" name="Finger-3-2_R">
|
||||
<translate sid="translate"> -0.3783 -0.0072 0.0061 </translate>
|
||||
<rotate sid="rotateZ">0 0 1 0.0</rotate>
|
||||
<rotate sid="rotateY">0 1 0 0.0</rotate>
|
||||
<rotate sid="rotateX">1 0 0 0.0</rotate>
|
||||
<scale sid="scale">1.0 1.0 1.0</scale>
|
||||
<node sid="Finger-3-3_R" type="JOINT" id="Finger-3-3_R" name="Finger-3-3_R">
|
||||
<translate sid="translate"> -0.3510 -0.0128 -0.0527 </translate>
|
||||
<rotate sid="rotateZ">0 0 1 0.0</rotate>
|
||||
<rotate sid="rotateY">0 1 0 0.0</rotate>
|
||||
<rotate sid="rotateX">1 0 0 0.0</rotate>
|
||||
<scale sid="scale">1.0 1.0 1.0</scale>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node sid="Wrist-2_R" type="JOINT" id="Wrist-2_R" name="Wrist-2_R">
|
||||
<translate sid="translate"> 0.0000 -0.0000 0.0000 </translate>
|
||||
<rotate sid="rotateZ">0 0 1 0.0</rotate>
|
||||
<rotate sid="rotateY">0 1 0 0.0</rotate>
|
||||
<rotate sid="rotateX">1 0 0 0.0</rotate>
|
||||
<scale sid="scale">1.0 1.0 1.0</scale>
|
||||
<node sid="Palm-4_R" type="JOINT" id="Palm-4_R" name="Palm-4_R">
|
||||
<translate sid="translate"> -0.2877 0.1215 -0.1543 </translate>
|
||||
<rotate sid="rotateZ">0 0 1 0.0</rotate>
|
||||
<rotate sid="rotateY">0 1 0 0.0</rotate>
|
||||
<rotate sid="rotateX">1 0 0 0.0</rotate>
|
||||
<scale sid="scale">1.0 1.0 1.0</scale>
|
||||
<node sid="Finger-4-1_R" type="JOINT" id="Finger-4-1_R" name="Finger-4-1_R">
|
||||
<translate sid="translate"> -0.5191 0.0274 0.1788 </translate>
|
||||
<rotate sid="rotateZ">0 0 1 0.0</rotate>
|
||||
<rotate sid="rotateY">0 1 0 0.0</rotate>
|
||||
<rotate sid="rotateX">1 0 0 0.0</rotate>
|
||||
<scale sid="scale">1.0 1.0 1.0</scale>
|
||||
<node sid="Finger-4-2_R" type="JOINT" id="Finger-4-2_R" name="Finger-4-2_R">
|
||||
<translate sid="translate"> -0.3004 0.0122 -0.0036 </translate>
|
||||
<rotate sid="rotateZ">0 0 1 0.0</rotate>
|
||||
<rotate sid="rotateY">0 1 0 0.0</rotate>
|
||||
<rotate sid="rotateX">1 0 0 0.0</rotate>
|
||||
<scale sid="scale">1.0 1.0 1.0</scale>
|
||||
<node sid="Finger-4-3_R" type="JOINT" id="Finger-4-3_R" name="Finger-4-3_R">
|
||||
<translate sid="translate"> -0.3113 -0.0155 -0.0167 </translate>
|
||||
<rotate sid="rotateZ">0 0 1 0.0</rotate>
|
||||
<rotate sid="rotateY">0 1 0 0.0</rotate>
|
||||
<rotate sid="rotateX">1 0 0 0.0</rotate>
|
||||
<scale sid="scale">1.0 1.0 1.0</scale>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node sid="Palm-5_R" type="JOINT" id="Palm-5_R" name="Palm-5_R">
|
||||
<translate sid="translate"> -0.2877 0.1215 -0.1543 </translate>
|
||||
<rotate sid="rotateZ">0 0 1 0.0</rotate>
|
||||
<rotate sid="rotateY">0 1 0 0.0</rotate>
|
||||
<rotate sid="rotateX">1 0 0 0.0</rotate>
|
||||
<scale sid="scale">1.0 1.0 1.0</scale>
|
||||
<node sid="Finger-5-1_R" type="JOINT" id="Finger-5-1_R" name="Finger-5-1_R">
|
||||
<translate sid="translate"> -0.4320 0.2031 0.1388 </translate>
|
||||
<rotate sid="rotateZ">0 0 1 0.0</rotate>
|
||||
<rotate sid="rotateY">0 1 0 0.0</rotate>
|
||||
<rotate sid="rotateX">1 0 0 0.0</rotate>
|
||||
<scale sid="scale">1.0 1.0 1.0</scale>
|
||||
<node sid="Finger-5-2_R" type="JOINT" id="Finger-5-2_R" name="Finger-5-2_R">
|
||||
<translate sid="translate"> -0.3115 0.0540 -0.0610 </translate>
|
||||
<rotate sid="rotateZ">0 0 1 0.0</rotate>
|
||||
<rotate sid="rotateY">0 1 0 0.0</rotate>
|
||||
<rotate sid="rotateX">1 0 0 0.0</rotate>
|
||||
<scale sid="scale">1.0 1.0 1.0</scale>
|
||||
<node sid="Finger-5-3_R" type="JOINT" id="Finger-5-3_R" name="Finger-5-3_R">
|
||||
<translate sid="translate"> -0.1858 0.0091 -0.0185 </translate>
|
||||
<rotate sid="rotateZ">0 0 1 0.0</rotate>
|
||||
<rotate sid="rotateY">0 1 0 0.0</rotate>
|
||||
<rotate sid="rotateX">1 0 0 0.0</rotate>
|
||||
<scale sid="scale">1.0 1.0 1.0</scale>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node sid="Palm-1_R" type="JOINT" id="Palm-1_R" name="Palm-1_R">
|
||||
<translate sid="translate"> 0.0000 -0.0000 0.0000 </translate>
|
||||
<rotate sid="rotateZ">0 0 1 0.0</rotate>
|
||||
<rotate sid="rotateY">0 1 0 0.0</rotate>
|
||||
<rotate sid="rotateX">1 0 0 0.0</rotate>
|
||||
<scale sid="scale">1.0 1.0 1.0</scale>
|
||||
<node sid="Finger-1-1_R" type="JOINT" id="Finger-1-1_R" name="Finger-1-1_R">
|
||||
<translate sid="translate"> -0.1964 -0.2741 -0.1517 </translate>
|
||||
<rotate sid="rotateZ">0 0 1 0.0</rotate>
|
||||
<rotate sid="rotateY">0 1 0 0.0</rotate>
|
||||
<rotate sid="rotateX">1 0 0 0.0</rotate>
|
||||
<scale sid="scale">1.0 1.0 1.0</scale>
|
||||
<node sid="Finger-1-2_R" type="JOINT" id="Finger-1-2_R" name="Finger-1-2_R">
|
||||
<translate sid="translate"> -0.4060 -0.2236 -0.1020 </translate>
|
||||
<rotate sid="rotateZ">0 0 1 0.0</rotate>
|
||||
<rotate sid="rotateY">0 1 0 0.0</rotate>
|
||||
<rotate sid="rotateX">1 0 0 0.0</rotate>
|
||||
<scale sid="scale">1.0 1.0 1.0</scale>
|
||||
<node sid="Finger-1-3_R" type="JOINT" id="Finger-1-3_R" name="Finger-1-3_R">
|
||||
<translate sid="translate"> -0.2557 -0.0491 -0.0086 </translate>
|
||||
<rotate sid="rotateZ">0 0 1 0.0</rotate>
|
||||
<rotate sid="rotateY">0 1 0 0.0</rotate>
|
||||
<rotate sid="rotateX">1 0 0 0.0</rotate>
|
||||
<scale sid="scale">1.0 1.0 1.0</scale>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node sid="Wrist_L" type="JOINT" id="Wrist_L" name="Wrist_L">
|
||||
<translate sid="translate"> 6.3959 0.2643 12.7945 </translate>
|
||||
<rotate sid="rotateZ">0 0 1 0.0</rotate>
|
||||
<rotate sid="rotateY">0 1 0 0.0</rotate>
|
||||
<rotate sid="rotateX">1 0 0 0.0</rotate>
|
||||
<scale sid="scale">1.0 1.0 1.0</scale>
|
||||
</node>
|
||||
<node sid="Wrist_R" type="JOINT" id="Wrist_R" name="Wrist_R">
|
||||
<translate sid="translate"> -6.3959 0.2643 12.7945 </translate>
|
||||
<rotate sid="rotateZ">0 0 1 0.0</rotate>
|
||||
<rotate sid="rotateY">0 1 0 0.0</rotate>
|
||||
<rotate sid="rotateX">1 0 0 0.0</rotate>
|
||||
<scale sid="scale">1.0 1.0 1.0</scale>
|
||||
</node>
|
||||
<node sid="Ankle_L" type="JOINT" id="Ankle_L" name="Ankle_L">
|
||||
<translate sid="translate"> 0.6970 -0.0000 0.0000 </translate>
|
||||
<rotate sid="rotateZ">0 0 1 0.0</rotate>
|
||||
<rotate sid="rotateY">0 1 0 0.0</rotate>
|
||||
<rotate sid="rotateX">1 0 0 0.0</rotate>
|
||||
<scale sid="scale">1.0 1.0 1.0</scale>
|
||||
</node>
|
||||
<node sid="Ankle_R" type="JOINT" id="Ankle_R" name="Ankle_R">
|
||||
<translate sid="translate"> -0.6970 0.0000 0.0000 </translate>
|
||||
<rotate sid="rotateZ">0 0 1 0.0</rotate>
|
||||
<rotate sid="rotateY">0 1 0 0.0</rotate>
|
||||
<rotate sid="rotateX">1 0 0 0.0</rotate>
|
||||
<scale sid="scale">1.0 1.0 1.0</scale>
|
||||
</node>
|
||||
</node>
|
||||
|
||||
|
After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 84 KiB |
|
After Width: | Height: | Size: 105 KiB |
|
After Width: | Height: | Size: 105 KiB |
|
After Width: | Height: | Size: 34 KiB |
@@ -0,0 +1,148 @@
|
||||
<?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.55.0 r-UNKNOWN-</authoring_tool>
|
||||
</contributor>
|
||||
<created>2010-11-28T13:09:56</created>
|
||||
<modified>2010-11-28T13:09:56</modified>
|
||||
<unit name="meter" meter="1"/>
|
||||
<up_axis>Z_UP</up_axis>
|
||||
</asset>
|
||||
<library_cameras>
|
||||
<camera id="Camera-camera" name="Camera">
|
||||
<optics>
|
||||
<technique_common>
|
||||
<perspective>
|
||||
<xfov>49.13434</xfov>
|
||||
<aspect_ratio>1.777778</aspect_ratio>
|
||||
<znear>0.099999964237</znear>
|
||||
<zfar>100</zfar>
|
||||
</perspective>
|
||||
</technique_common>
|
||||
</optics>
|
||||
</camera>
|
||||
</library_cameras>
|
||||
<library_lights>
|
||||
<light id="Lamp-light" name="Lamp">
|
||||
<technique_common>
|
||||
<point>
|
||||
<color>1 1 1</color>
|
||||
<constant_attenuation>1</constant_attenuation>
|
||||
<linear_attenuation>0</linear_attenuation>
|
||||
<quadratic_attenuation>5.55556e-4</quadratic_attenuation>
|
||||
</point>
|
||||
</technique_common>
|
||||
</light>
|
||||
</library_lights>
|
||||
<library_images/>
|
||||
<library_effects>
|
||||
<effect id="Material-effect">
|
||||
<profile_COMMON>
|
||||
<technique sid="common">
|
||||
<lambert>
|
||||
<emission>
|
||||
<color>0 0 0 1</color>
|
||||
</emission>
|
||||
<ambient>
|
||||
<color>0 0 0 1</color>
|
||||
</ambient>
|
||||
<diffuse>
|
||||
<color>0.6400000453 0.6400000453 0.6400000453 1</color>
|
||||
</diffuse>
|
||||
<index_of_refraction>
|
||||
<float>1</float>
|
||||
</index_of_refraction>
|
||||
</lambert>
|
||||
<extra/>
|
||||
</technique>
|
||||
<extra>
|
||||
<technique profile="GOOGLEEARTH">
|
||||
<show_double_sided>1</show_double_sided>
|
||||
</technique>
|
||||
</extra>
|
||||
</profile_COMMON>
|
||||
<extra><technique profile="MAX3D"><double_sided>1</double_sided></technique></extra>
|
||||
</effect>
|
||||
</library_effects>
|
||||
<library_materials>
|
||||
<material id="Material" name="Material">
|
||||
<instance_effect url="#Material-effect"/>
|
||||
</material>
|
||||
</library_materials>
|
||||
<library_geometries>
|
||||
<geometry id="Cube-mesh">
|
||||
<mesh>
|
||||
<source id="Cube-mesh-positions">
|
||||
<float_array id="Cube-mesh-positions-array" count="24">1 0.999999940395 -1 1 -1 -1 -1 -0.999999821186 -1 -0.999999642372 1 -1 1 0.999999463558 1 0.999999344348 -1.000001 1 -1 -0.999999642372 1 -0.999999940395 1 1</float_array>
|
||||
<technique_common>
|
||||
<accessor source="#Cube-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-mesh-normals">
|
||||
<float_array id="Cube-mesh-normals-array" count="18">0 0 -1 0 0 1 1 -2.83122e-7 0 -2.83122e-7 -1 0 -1 2.23517e-7 -1.3411e-7 2.38419e-7 1 2.08616e-7</float_array>
|
||||
<technique_common>
|
||||
<accessor source="#Cube-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-mesh-vertices">
|
||||
<input semantic="POSITION" source="#Cube-mesh-positions"/>
|
||||
</vertices>
|
||||
<polylist material="Material" count="6">
|
||||
<input semantic="VERTEX" source="#Cube-mesh-vertices" offset="0"/>
|
||||
<input semantic="NORMAL" source="#Cube-mesh-normals" offset="1"/>
|
||||
<vcount>4 4 4 4 4 4 </vcount>
|
||||
<p>0 0 1 0 2 0 3 0 4 1 7 1 6 1 5 1 0 2 4 2 5 2 1 2 1 3 5 3 6 3 2 3 2 4 6 4 7 4 3 4 4 5 0 5 3 5 7 5</p>
|
||||
</polylist>
|
||||
</mesh>
|
||||
</geometry>
|
||||
</library_geometries>
|
||||
<library_animations/>
|
||||
<library_controllers/>
|
||||
<library_visual_scenes>
|
||||
<visual_scene id="Scene" name="Scene">
|
||||
<node id="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_geometry url="#Cube-mesh">
|
||||
<bind_material>
|
||||
<technique_common>
|
||||
<instance_material symbol="Material" target="#Material"/>
|
||||
</technique_common>
|
||||
</bind_material>
|
||||
</instance_geometry>
|
||||
</node>
|
||||
<node id="Lamp" type="NODE">
|
||||
<translate sid="location">4.076245 1.005454 5.903862</translate>
|
||||
<rotate sid="rotationZ">0 0 1 106.9363</rotate>
|
||||
<rotate sid="rotationY">0 1 0 3.163707</rotate>
|
||||
<rotate sid="rotationX">1 0 0 37.26105</rotate>
|
||||
<scale sid="scale">1 1 1</scale>
|
||||
<instance_light url="#Lamp-light"/>
|
||||
</node>
|
||||
<node id="Camera" type="NODE">
|
||||
<translate sid="location">7.481132 -6.50764 5.343665</translate>
|
||||
<rotate sid="rotationZ">0 0 1 46.69194</rotate>
|
||||
<rotate sid="rotationY">0 1 0 0.619767916163</rotate>
|
||||
<rotate sid="rotationX">1 0 0 63.55929</rotate>
|
||||
<scale sid="scale">1 1 1</scale>
|
||||
<instance_camera url="#Camera-camera"/>
|
||||
</node>
|
||||
</visual_scene>
|
||||
</library_visual_scenes>
|
||||
<scene>
|
||||
<instance_visual_scene url="#Scene"/>
|
||||
</scene>
|
||||
</COLLADA>
|
||||
@@ -0,0 +1,774 @@
|
||||
# Blender v2.63 (sub 0) OBJ File: 'unit_capsule.blend'
|
||||
# www.blender.org
|
||||
o Mball_Meta
|
||||
v -1.800000 0.800320 0.200000
|
||||
v -1.969880 0.600000 0.200000
|
||||
v -1.969880 0.600000 -0.200000
|
||||
v -1.800000 0.800320 -0.200000
|
||||
v -1.800000 0.600000 -0.557515
|
||||
v -1.800000 0.557515 -0.600000
|
||||
v -2.121196 0.200000 -0.200000
|
||||
v -1.969881 0.200000 -0.600000
|
||||
v -2.121196 -0.200000 -0.200000
|
||||
v -1.969881 -0.200000 -0.600000
|
||||
v -1.800000 -0.557515 -0.600000
|
||||
v -1.969880 -0.600000 -0.200000
|
||||
v -1.800000 -0.600000 -0.557515
|
||||
v -1.800000 -0.800320 -0.200000
|
||||
v -1.800000 -0.800320 0.200000
|
||||
v -1.969880 -0.600000 0.200000
|
||||
v -1.800000 -0.600000 0.557515
|
||||
v -1.800000 -0.557515 0.600000
|
||||
v -2.121196 -0.200000 0.200000
|
||||
v -1.969881 -0.200000 0.600000
|
||||
v -2.121196 0.200000 0.200000
|
||||
v -1.969881 0.200000 0.600000
|
||||
v -1.800000 -0.200000 0.800320
|
||||
v -1.800000 0.200000 0.800320
|
||||
v -1.800000 0.557515 0.600000
|
||||
v -1.773261 0.600000 0.600000
|
||||
v -1.400000 0.600000 0.895570
|
||||
v -1.400000 0.364323 1.000000
|
||||
v -1.516304 0.200000 1.000000
|
||||
v -1.400000 0.895570 0.600000
|
||||
v -1.516304 1.000000 0.200000
|
||||
v -1.400000 1.000000 0.364323
|
||||
v -1.800000 0.600000 0.557515
|
||||
v -1.400000 1.070014 0.200000
|
||||
v -1.516304 1.000000 -0.200000
|
||||
v -1.400000 1.070014 -0.200000
|
||||
v -1.400000 1.000000 -0.364323
|
||||
v -1.000000 1.000000 -0.557515
|
||||
v -1.000000 1.150200 -0.200000
|
||||
v -1.400000 0.895570 -0.600000
|
||||
v -1.000000 0.981045 -0.600000
|
||||
v -1.400000 0.600000 -0.895570
|
||||
v -1.000000 0.600000 -0.981045
|
||||
v -1.400000 0.364323 -1.000000
|
||||
v -1.000000 0.557515 -1.000000
|
||||
v -1.400000 0.200000 -1.070014
|
||||
v -1.000000 0.200000 -1.150200
|
||||
v -1.400000 -0.200000 -1.070014
|
||||
v -1.000000 -0.200000 -1.150200
|
||||
v -1.400000 -0.364323 -1.000000
|
||||
v -1.000000 -0.557515 -1.000000
|
||||
v -1.400000 -0.600000 -0.895570
|
||||
v -1.000000 -0.600000 -0.981045
|
||||
v -1.400000 -0.895570 -0.600000
|
||||
v -1.000000 -0.981045 -0.600000
|
||||
v -1.400000 -1.000000 -0.364323
|
||||
v -1.000000 -1.000000 -0.557515
|
||||
v -1.400000 -1.070014 -0.200000
|
||||
v -1.000000 -1.150200 -0.200000
|
||||
v -1.400000 -1.070014 0.200000
|
||||
v -1.000000 -1.150200 0.200000
|
||||
v -1.400000 -1.000000 0.364323
|
||||
v -1.000000 -1.000000 0.557515
|
||||
v -1.400000 -0.895570 0.600000
|
||||
v -1.000000 -0.981045 0.600000
|
||||
v -1.400000 -0.600000 0.895570
|
||||
v -1.000000 -0.600000 0.981045
|
||||
v -1.400000 -0.364323 1.000000
|
||||
v -1.000000 -0.557515 1.000000
|
||||
v -1.400000 -0.200000 1.070014
|
||||
v -1.000000 -0.200000 1.150200
|
||||
v -1.400000 0.200000 1.070014
|
||||
v -1.000000 0.200000 1.150200
|
||||
v -1.000000 0.557515 1.000000
|
||||
v -0.600000 0.557515 1.000000
|
||||
v -0.600000 0.200000 1.150200
|
||||
v -1.000000 0.600000 0.981045
|
||||
v -0.600000 0.600000 0.981045
|
||||
v -1.000000 0.981045 0.600000
|
||||
v -0.600000 0.981045 0.600000
|
||||
v -1.000000 1.000000 0.557515
|
||||
v -0.600000 1.000000 0.557515
|
||||
v -1.000000 1.150200 0.200000
|
||||
v -0.600000 1.150200 0.200000
|
||||
v -0.600000 1.150200 -0.200000
|
||||
v -0.200000 0.981045 0.600000
|
||||
v -0.200000 0.600000 0.981045
|
||||
v 0.200000 0.981045 0.600000
|
||||
v 0.200000 0.600000 0.981045
|
||||
v -0.200000 0.557515 1.000000
|
||||
v 0.200000 0.557515 1.000000
|
||||
v 0.200000 0.200000 1.150200
|
||||
v -0.200000 0.200000 1.150200
|
||||
v -0.200000 -0.200000 1.150200
|
||||
v 0.200000 -0.200000 1.150200
|
||||
v -0.200000 -0.557515 1.000000
|
||||
v 0.200000 -0.557515 1.000000
|
||||
v 0.200000 -0.600000 0.981045
|
||||
v -0.200000 -0.600000 0.981045
|
||||
v -0.200000 -0.981045 0.600000
|
||||
v 0.200000 -0.981045 0.600000
|
||||
v 0.200000 -1.000000 0.557515
|
||||
v -0.200000 -1.000000 0.557515
|
||||
v 0.600000 -0.981045 0.600000
|
||||
v 0.600000 -1.000000 0.557515
|
||||
v 0.200000 -1.150200 0.200000
|
||||
v 0.600000 -1.150200 0.200000
|
||||
v 0.600000 -1.150200 -0.200000
|
||||
v 0.200000 -1.150200 -0.200000
|
||||
v 0.600000 -1.000000 -0.557515
|
||||
v 0.200000 -1.000000 -0.557515
|
||||
v 0.200000 -0.981045 -0.600000
|
||||
v 0.600000 -0.981045 -0.600000
|
||||
v 0.600000 -0.600000 -0.981045
|
||||
v 0.200000 -0.600000 -0.981045
|
||||
v 0.200000 -0.557515 -1.000000
|
||||
v 0.600000 -0.557515 -1.000000
|
||||
v 0.600000 -0.200000 -1.150200
|
||||
v 0.200000 -0.200000 -1.150200
|
||||
v 0.600000 0.200000 -1.150200
|
||||
v 0.200000 0.200000 -1.150200
|
||||
v 0.200000 0.557515 -1.000000
|
||||
v 0.600000 0.557515 -1.000000
|
||||
v 0.600000 0.600000 -0.981045
|
||||
v 0.200000 0.600000 -0.981045
|
||||
v 0.200000 0.981045 -0.600000
|
||||
v 0.600000 0.981045 -0.600000
|
||||
v 0.600000 1.000000 -0.557515
|
||||
v 0.200000 1.000000 -0.557515
|
||||
v 0.200000 1.150200 -0.200000
|
||||
v 0.600000 1.150200 -0.200000
|
||||
v 0.200000 1.150200 0.200000
|
||||
v 0.600000 1.150200 0.200000
|
||||
v 0.600000 1.000000 0.557515
|
||||
v 0.200000 1.000000 0.557515
|
||||
v 0.600000 0.981045 0.600000
|
||||
v 1.000000 1.000000 0.557515
|
||||
v 1.000000 0.981045 0.600000
|
||||
v 1.000000 0.600000 0.981045
|
||||
v 0.600000 0.600000 0.981045
|
||||
v 0.600000 0.557515 1.000000
|
||||
v 1.000000 0.557515 1.000000
|
||||
v 1.000000 0.200000 1.150200
|
||||
v 0.600000 0.200000 1.150200
|
||||
v 0.600000 -0.200000 1.150200
|
||||
v 1.000000 -0.200000 1.150200
|
||||
v 0.600000 -0.557515 1.000000
|
||||
v 1.000000 -0.557515 1.000000
|
||||
v 1.000000 -0.600000 0.981045
|
||||
v 0.600000 -0.600000 0.981045
|
||||
v 1.000000 -0.981045 0.600000
|
||||
v 1.400000 -0.600000 0.895570
|
||||
v 1.400000 -0.895570 0.600000
|
||||
v 1.400000 -1.000000 0.364323
|
||||
v 1.000000 -1.000000 0.557515
|
||||
v 1.773261 -0.600000 0.600000
|
||||
v 1.800000 -0.600000 0.557515
|
||||
v 1.800000 -0.800320 0.200000
|
||||
v 1.516304 -1.000000 0.200000
|
||||
v 1.800000 -0.557515 0.600000
|
||||
v 1.400000 -0.364323 1.000000
|
||||
v 1.516304 -0.200000 1.000000
|
||||
v 1.800000 -0.200000 0.800320
|
||||
v 1.516304 0.200000 1.000000
|
||||
v 1.800000 0.200000 0.800320
|
||||
v 1.400000 0.364323 1.000000
|
||||
v 1.400000 0.600000 0.895570
|
||||
v 1.773261 0.600000 0.600000
|
||||
v 1.800000 0.557515 0.600000
|
||||
v 1.400000 0.895570 0.600000
|
||||
v 1.400000 0.200000 1.070014
|
||||
v 1.969881 0.200000 0.600000
|
||||
v 1.800000 0.600000 0.557515
|
||||
v 1.969880 0.600000 0.200000
|
||||
v 2.121196 0.200000 0.200000
|
||||
v 1.800000 0.800320 0.200000
|
||||
v 1.800000 0.800320 -0.200000
|
||||
v 1.969880 0.600000 -0.200000
|
||||
v 1.800000 0.600000 -0.557515
|
||||
v 1.800000 0.557515 -0.600000
|
||||
v 1.969881 0.200000 -0.600000
|
||||
v 2.121196 0.200000 -0.200000
|
||||
v 2.121196 -0.200000 -0.200000
|
||||
v 1.969881 -0.200000 -0.600000
|
||||
v 1.800000 -0.557515 -0.600000
|
||||
v 1.800000 -0.600000 -0.557515
|
||||
v 1.969880 -0.600000 -0.200000
|
||||
v 1.800000 -0.800320 -0.200000
|
||||
v 1.969880 -0.600000 0.200000
|
||||
v 1.400000 -0.895570 -0.600000
|
||||
v 1.400000 -1.000000 -0.364323
|
||||
v 1.516304 -1.000000 -0.200000
|
||||
v 1.773261 -0.600000 -0.600000
|
||||
v 1.400000 -1.070014 -0.200000
|
||||
v 1.000000 -1.150200 -0.200000
|
||||
v 1.000000 -1.000000 -0.557515
|
||||
v 1.400000 -0.600000 -0.895570
|
||||
v 1.400000 -0.364323 -1.000000
|
||||
v 1.800000 -0.200000 -0.800320
|
||||
v 1.516304 -0.200000 -1.000000
|
||||
v 1.800000 0.200000 -0.800320
|
||||
v 1.516304 0.200000 -1.000000
|
||||
v 1.400000 0.364323 -1.000000
|
||||
v 1.773261 0.600000 -0.600000
|
||||
v 1.400000 0.600000 -0.895570
|
||||
v 1.400000 0.895570 -0.600000
|
||||
v 1.400000 0.200000 -1.070014
|
||||
v 1.400000 -0.200000 -1.070014
|
||||
v 1.000000 -0.981045 -0.600000
|
||||
v 1.000000 -0.600000 -0.981045
|
||||
v 1.516304 1.000000 -0.200000
|
||||
v 1.400000 1.000000 -0.364323
|
||||
v 1.400000 1.070014 -0.200000
|
||||
v 1.400000 1.070014 0.200000
|
||||
v 1.516304 1.000000 0.200000
|
||||
v 1.400000 1.000000 0.364323
|
||||
v 1.000000 1.150200 0.200000
|
||||
v 1.000000 1.150200 -0.200000
|
||||
v 1.000000 1.000000 -0.557515
|
||||
v 1.000000 0.981045 -0.600000
|
||||
v 1.400000 -0.200000 1.070014
|
||||
v 1.969881 -0.200000 0.600000
|
||||
v -0.200000 1.150200 -0.200000
|
||||
v -0.200000 1.000000 -0.557515
|
||||
v -0.600000 1.000000 -0.557515
|
||||
v -0.600000 0.981045 -0.600000
|
||||
v -0.200000 0.981045 -0.600000
|
||||
v -0.200000 -0.981045 -0.600000
|
||||
v -0.200000 -0.600000 -0.981045
|
||||
v -0.600000 -0.981045 -0.600000
|
||||
v -0.600000 -0.600000 -0.981045
|
||||
v -0.600000 -1.000000 -0.557515
|
||||
v -0.200000 -1.000000 -0.557515
|
||||
v -0.600000 -1.150200 -0.200000
|
||||
v -0.200000 -1.150200 -0.200000
|
||||
v 1.000000 -1.150200 0.200000
|
||||
v -0.600000 -0.981045 0.600000
|
||||
v -0.600000 -1.000000 0.557515
|
||||
v -0.600000 -0.600000 0.981045
|
||||
v -0.600000 -0.557515 1.000000
|
||||
v -0.600000 -0.200000 1.150200
|
||||
v -1.516304 -0.200000 1.000000
|
||||
v -1.773261 -0.600000 0.600000
|
||||
v -0.600000 -1.150200 0.200000
|
||||
v -1.516304 -1.000000 0.200000
|
||||
v -1.516304 -1.000000 -0.200000
|
||||
v -1.773261 -0.600000 -0.600000
|
||||
v -0.600000 -0.557515 -1.000000
|
||||
v -0.600000 -0.200000 -1.150200
|
||||
v -0.600000 0.200000 -1.150200
|
||||
v -0.600000 0.557515 -1.000000
|
||||
v -0.600000 0.600000 -0.981045
|
||||
v -1.773261 0.600000 -0.600000
|
||||
v -1.516304 0.200000 -1.000000
|
||||
v -1.516304 -0.200000 -1.000000
|
||||
v -1.800000 -0.200000 -0.800320
|
||||
v -1.800000 0.200000 -0.800320
|
||||
v -0.200000 -1.150200 0.200000
|
||||
v -0.200000 1.150200 0.200000
|
||||
v -0.200000 1.000000 0.557515
|
||||
v -0.200000 -0.200000 -1.150200
|
||||
v -0.200000 0.200000 -1.150200
|
||||
v -0.200000 -0.557515 -1.000000
|
||||
v -0.200000 0.557515 -1.000000
|
||||
v -0.200000 0.600000 -0.981045
|
||||
v 1.400000 -1.070014 0.200000
|
||||
v 2.121196 -0.200000 0.200000
|
||||
v 1.000000 -0.200000 -1.150200
|
||||
v 1.000000 0.200000 -1.150200
|
||||
v 1.000000 -0.557515 -1.000000
|
||||
v 1.000000 0.557515 -1.000000
|
||||
v 1.000000 0.600000 -0.981045
|
||||
vn -0.659597 0.728843 0.183477
|
||||
vn -0.659597 0.728843 -0.183477
|
||||
vn -0.850337 0.491104 -0.188971
|
||||
vn -0.847621 0.499496 0.178869
|
||||
vn -0.732719 0.541581 -0.412000
|
||||
vn -0.966216 0.182501 -0.181890
|
||||
vn -0.729942 0.381756 -0.566942
|
||||
vn -0.850795 0.191351 -0.489364
|
||||
vn -0.848079 -0.178320 -0.498917
|
||||
vn -0.966369 -0.181768 -0.181768
|
||||
vn -0.847621 -0.499496 -0.178869
|
||||
vn -0.726707 -0.388348 -0.566637
|
||||
vn -0.719321 -0.561998 -0.408246
|
||||
vn -0.659597 -0.728843 -0.183477
|
||||
vn -0.850337 -0.491104 0.188971
|
||||
vn -0.659597 -0.728843 0.183477
|
||||
vn -0.732719 -0.541581 0.412000
|
||||
vn -0.966216 -0.182501 0.181890
|
||||
vn -0.729942 -0.381756 0.566942
|
||||
vn -0.850795 -0.191351 0.489364
|
||||
vn -0.848079 0.178320 0.498917
|
||||
vn -0.966369 0.181768 0.181768
|
||||
vn -0.655629 0.191717 0.730308
|
||||
vn -0.655629 -0.191717 0.730308
|
||||
vn -0.726707 0.388348 0.566637
|
||||
vn -0.369396 0.385632 0.845454
|
||||
vn -0.362957 0.521683 0.772057
|
||||
vn -0.616260 0.542253 0.571093
|
||||
vn -0.543168 0.194830 0.816675
|
||||
vn -0.351543 0.770226 0.532090
|
||||
vn -0.358592 0.854244 0.376324
|
||||
vn -0.539201 0.823176 0.177709
|
||||
vn -0.719321 0.561998 0.408246
|
||||
vn -0.349284 0.918699 0.184210
|
||||
vn -0.349284 0.918699 -0.184210
|
||||
vn -0.539201 0.823176 -0.177709
|
||||
vn -0.358592 0.854244 -0.376324
|
||||
vn -0.096133 0.976104 -0.194739
|
||||
vn -0.094699 0.913083 -0.396558
|
||||
vn -0.087039 0.824763 -0.558702
|
||||
vn -0.351543 0.770226 -0.532090
|
||||
vn -0.087039 0.558702 -0.824763
|
||||
vn -0.362957 0.521683 -0.772057
|
||||
vn -0.094699 0.396558 -0.913083
|
||||
vn -0.369396 0.385632 -0.845454
|
||||
vn -0.096133 0.194739 -0.976104
|
||||
vn -0.349284 0.184210 -0.918699
|
||||
vn -0.096133 -0.194739 -0.976104
|
||||
vn -0.349284 -0.184210 -0.918699
|
||||
vn -0.094699 -0.396558 -0.913083
|
||||
vn -0.369396 -0.385632 -0.845454
|
||||
vn -0.087039 -0.558702 -0.824763
|
||||
vn -0.362957 -0.521683 -0.772057
|
||||
vn -0.087039 -0.824763 -0.558702
|
||||
vn -0.351543 -0.770226 -0.532090
|
||||
vn -0.094699 -0.913083 -0.396558
|
||||
vn -0.358592 -0.854244 -0.376324
|
||||
vn -0.096133 -0.976104 -0.194739
|
||||
vn -0.349284 -0.918699 -0.184210
|
||||
vn -0.096133 -0.976104 0.194739
|
||||
vn -0.349284 -0.918699 0.184210
|
||||
vn -0.094699 -0.913083 0.396558
|
||||
vn -0.358592 -0.854244 0.376324
|
||||
vn -0.087039 -0.824763 0.558702
|
||||
vn -0.351543 -0.770226 0.532090
|
||||
vn -0.087039 -0.558702 0.824763
|
||||
vn -0.362957 -0.521683 0.772057
|
||||
vn -0.094699 -0.396558 0.913083
|
||||
vn -0.369396 -0.385632 0.845454
|
||||
vn -0.096133 -0.194739 0.976104
|
||||
vn -0.349284 -0.184210 0.918699
|
||||
vn -0.096133 0.194739 0.976104
|
||||
vn -0.349284 0.184210 0.918699
|
||||
vn -0.094699 0.396558 0.913083
|
||||
vn 0.000000 0.197546 0.980285
|
||||
vn 0.000000 0.397382 0.917631
|
||||
vn 0.000000 0.566698 0.823878
|
||||
vn -0.087039 0.558702 0.824763
|
||||
vn 0.000000 0.823878 0.566698
|
||||
vn -0.087039 0.824763 0.558702
|
||||
vn 0.000000 0.917631 0.397382
|
||||
vn -0.094699 0.913083 0.396558
|
||||
vn 0.000000 0.980285 0.197546
|
||||
vn -0.096133 0.976104 0.194739
|
||||
vn 0.000000 0.980285 -0.197546
|
||||
vn 0.000000 -0.197546 0.980285
|
||||
vn 0.000000 -0.397382 0.917631
|
||||
vn 0.000000 -0.566698 0.823878
|
||||
vn 0.000000 -0.823878 0.566698
|
||||
vn 0.000000 -0.917631 0.397382
|
||||
vn 0.000000 -0.980285 0.197546
|
||||
vn 0.000000 -0.980285 -0.197546
|
||||
vn 0.000000 -0.917631 -0.397382
|
||||
vn 0.000000 -0.823878 -0.566698
|
||||
vn 0.000000 -0.566698 -0.823878
|
||||
vn 0.000000 -0.397382 -0.917631
|
||||
vn 0.000000 -0.197546 -0.980285
|
||||
vn 0.000000 0.197546 -0.980285
|
||||
vn 0.000000 0.397382 -0.917631
|
||||
vn 0.000000 0.566698 -0.823878
|
||||
vn 0.000000 0.823878 -0.566698
|
||||
vn 0.000000 0.917631 -0.397382
|
||||
vn 0.087039 0.824763 0.558702
|
||||
vn 0.094699 0.913083 0.396558
|
||||
vn 0.087039 0.558702 0.824763
|
||||
vn 0.094699 0.396558 0.913083
|
||||
vn 0.096133 0.194739 0.976104
|
||||
vn 0.096133 -0.194739 0.976104
|
||||
vn 0.094699 -0.396558 0.913083
|
||||
vn 0.087039 -0.558702 0.824763
|
||||
vn 0.087039 -0.824763 0.558702
|
||||
vn 0.351543 -0.770226 0.532090
|
||||
vn 0.362957 -0.521683 0.772057
|
||||
vn 0.094699 -0.913083 0.396558
|
||||
vn 0.358592 -0.854244 0.376324
|
||||
vn 0.659597 -0.728843 0.183477
|
||||
vn 0.719321 -0.561998 0.408246
|
||||
vn 0.616260 -0.542253 0.571093
|
||||
vn 0.539201 -0.823176 0.177709
|
||||
vn 0.726707 -0.388348 0.566637
|
||||
vn 0.655629 -0.191717 0.730308
|
||||
vn 0.543168 -0.194830 0.816675
|
||||
vn 0.369396 -0.385632 0.845454
|
||||
vn 0.655629 0.191717 0.730308
|
||||
vn 0.543168 0.194830 0.816675
|
||||
vn 0.729942 0.381756 0.566942
|
||||
vn 0.616260 0.542253 0.571093
|
||||
vn 0.362957 0.521683 0.772057
|
||||
vn 0.369396 0.385632 0.845454
|
||||
vn 0.351543 0.770226 0.532090
|
||||
vn 0.349284 0.184210 0.918699
|
||||
vn 0.850795 0.191351 0.489364
|
||||
vn 0.966216 0.182501 0.181890
|
||||
vn 0.850337 0.491104 0.188971
|
||||
vn 0.732719 0.541581 0.412000
|
||||
vn 0.659597 0.728843 0.183477
|
||||
vn 0.847621 0.499496 -0.178869
|
||||
vn 0.659597 0.728843 -0.183477
|
||||
vn 0.719321 0.561998 -0.408246
|
||||
vn 0.966369 0.181768 -0.181768
|
||||
vn 0.848079 0.178320 -0.498917
|
||||
vn 0.726707 0.388348 -0.566637
|
||||
vn 0.850795 -0.191351 -0.489364
|
||||
vn 0.966216 -0.182501 -0.181890
|
||||
vn 0.850337 -0.491104 -0.188971
|
||||
vn 0.732719 -0.541581 -0.412000
|
||||
vn 0.729942 -0.381756 -0.566942
|
||||
vn 0.659597 -0.728843 -0.183477
|
||||
vn 0.847621 -0.499496 0.178869
|
||||
vn 0.539201 -0.823176 -0.177709
|
||||
vn 0.358592 -0.854244 -0.376324
|
||||
vn 0.351543 -0.770226 -0.532090
|
||||
vn 0.616260 -0.542253 -0.571093
|
||||
vn 0.349284 -0.918699 -0.184210
|
||||
vn 0.094699 -0.913083 -0.396558
|
||||
vn 0.096133 -0.976104 -0.194739
|
||||
vn 0.362957 -0.521683 -0.772057
|
||||
vn 0.369396 -0.385632 -0.845454
|
||||
vn 0.543168 -0.194830 -0.816675
|
||||
vn 0.655629 -0.191717 -0.730308
|
||||
vn 0.543168 0.194830 -0.816675
|
||||
vn 0.655629 0.191717 -0.730308
|
||||
vn 0.369396 0.385632 -0.845454
|
||||
vn 0.362957 0.521683 -0.772057
|
||||
vn 0.616260 0.542253 -0.571093
|
||||
vn 0.351543 0.770226 -0.532090
|
||||
vn 0.349284 0.184210 -0.918699
|
||||
vn 0.349284 -0.184210 -0.918699
|
||||
vn 0.087039 -0.558702 -0.824763
|
||||
vn 0.087039 -0.824763 -0.558702
|
||||
vn 0.358592 0.854244 -0.376324
|
||||
vn 0.539201 0.823176 -0.177709
|
||||
vn 0.349284 0.918699 -0.184210
|
||||
vn 0.539201 0.823176 0.177709
|
||||
vn 0.349284 0.918699 0.184210
|
||||
vn 0.358592 0.854244 0.376324
|
||||
vn 0.096133 0.976104 0.194739
|
||||
vn 0.096133 0.976104 -0.194739
|
||||
vn 0.094699 0.913083 -0.396558
|
||||
vn 0.087039 0.824763 -0.558702
|
||||
vn 0.349284 -0.184210 0.918699
|
||||
vn 0.848079 -0.178320 0.498917
|
||||
vn 0.096133 -0.976104 0.194739
|
||||
vn -0.543168 -0.194830 0.816675
|
||||
vn -0.616260 -0.542253 0.571093
|
||||
vn -0.539201 -0.823176 0.177709
|
||||
vn -0.539201 -0.823176 -0.177709
|
||||
vn -0.616260 -0.542253 -0.571093
|
||||
vn -0.616260 0.542253 -0.571093
|
||||
vn -0.543168 -0.194830 -0.816675
|
||||
vn -0.543168 0.194830 -0.816675
|
||||
vn -0.655629 0.191717 -0.730308
|
||||
vn -0.655629 -0.191717 -0.730308
|
||||
vn 0.349284 -0.918699 0.184210
|
||||
vn 0.966369 -0.181768 0.181768
|
||||
vn 0.096133 0.194739 -0.976104
|
||||
vn 0.096133 -0.194739 -0.976104
|
||||
vn 0.094699 -0.396558 -0.913083
|
||||
vn 0.094699 0.396558 -0.913083
|
||||
vn 0.087039 0.558702 -0.824763
|
||||
s 1
|
||||
f 1//1 4//2 3//3 2//4
|
||||
f 5//5 3//3 4//2
|
||||
f 7//6 3//3 5//5 6//7
|
||||
f 8//8 7//6 6//7
|
||||
f 7//6 8//8 10//9 9//10
|
||||
f 12//11 9//10 10//9 11//12
|
||||
f 13//13 12//11 11//12
|
||||
f 12//11 13//13 14//14
|
||||
f 16//15 12//11 14//14 15//16
|
||||
f 17//17 16//15 15//16
|
||||
f 19//18 16//15 17//17 18//19
|
||||
f 20//20 19//18 18//19
|
||||
f 22//21 21//22 19//18 20//20
|
||||
f 24//23 22//21 20//20 23//24
|
||||
f 22//21 24//23 25//25
|
||||
f 28//26 27//27 26//28 25//25
|
||||
f 24//23 29//29 28//26 25//25
|
||||
f 26//28 27//27 30//30
|
||||
f 1//1 30//30 32//31 31//32
|
||||
f 1//1 33//33 26//28 30//30
|
||||
f 31//32 32//31 34//34
|
||||
f 36//35 35//36 31//32 34//34
|
||||
f 37//37 35//36 36//35
|
||||
f 39//38 38//39 37//37 36//35
|
||||
f 37//37 38//39 41//40 40//41
|
||||
f 41//40 43//42 42//43 40//41
|
||||
f 42//43 43//42 45//44 44//45
|
||||
f 45//44 47//46 46//47 44//45
|
||||
f 46//47 47//46 49//48 48//49
|
||||
f 48//49 49//48 51//50 50//51
|
||||
f 51//50 53//52 52//53 50//51
|
||||
f 52//53 53//52 55//54 54//55
|
||||
f 55//54 57//56 56//57 54//55
|
||||
f 56//57 57//56 59//58 58//59
|
||||
f 58//59 59//58 61//60 60//61
|
||||
f 61//60 63//62 62//63 60//61
|
||||
f 62//63 63//62 65//64 64//65
|
||||
f 65//64 67//66 66//67 64//65
|
||||
f 66//67 67//66 69//68 68//69
|
||||
f 69//68 71//70 70//71 68//69
|
||||
f 71//70 73//72 72//73 70//71
|
||||
f 72//73 73//72 74//74 28//26
|
||||
f 73//72 76//75 75//76 74//74
|
||||
f 75//76 78//77 77//78 74//74
|
||||
f 77//78 78//77 80//79 79//80
|
||||
f 80//79 82//81 81//82 79//80
|
||||
f 81//82 82//81 84//83 83//84
|
||||
f 84//83 85//85 39//38 83//84
|
||||
f 78//77 87//77 86//79 80//79
|
||||
f 87//77 89//77 88//79 86//79
|
||||
f 91//76 89//77 87//77 90//76
|
||||
f 93//75 92//75 91//76 90//76
|
||||
f 95//86 92//75 93//75 94//86
|
||||
f 97//87 95//86 94//86 96//87
|
||||
f 99//88 98//88 97//87 96//87
|
||||
f 101//89 98//88 99//88 100//89
|
||||
f 103//90 102//90 101//89 100//89
|
||||
f 102//90 105//90 104//89 101//89
|
||||
f 107//91 105//90 102//90 106//91
|
||||
f 109//92 108//92 107//91 106//91
|
||||
f 111//93 110//93 108//92 109//92
|
||||
f 113//94 110//93 111//93 112//94
|
||||
f 115//95 114//95 113//94 112//94
|
||||
f 117//96 114//95 115//95 116//96
|
||||
f 119//97 118//97 117//96 116//96
|
||||
f 121//98 120//98 118//97 119//97
|
||||
f 123//99 120//98 121//98 122//99
|
||||
f 125//100 124//100 123//99 122//99
|
||||
f 127//101 124//100 125//100 126//101
|
||||
f 129//102 128//102 127//101 126//101
|
||||
f 131//85 128//102 129//102 130//85
|
||||
f 133//83 131//85 130//85 132//83
|
||||
f 135//81 134//81 133//83 132//83
|
||||
f 136//79 134//81 135//81 88//79
|
||||
f 138//103 137//104 134//81 136//79
|
||||
f 140//77 139//105 138//103 136//79
|
||||
f 142//106 139//105 140//77 141//76
|
||||
f 144//75 143//107 142//106 141//76
|
||||
f 146//108 143//107 144//75 145//86
|
||||
f 148//109 146//108 145//86 147//87
|
||||
f 150//88 149//110 148//109 147//87
|
||||
f 151//111 149//110 150//88 104//89
|
||||
f 153//112 152//113 149//110 151//111
|
||||
f 155//114 154//115 153//112 151//111
|
||||
f 158//116 157//117 156//118 153//112
|
||||
f 154//115 159//119 158//116 153//112
|
||||
f 156//118 157//117 160//120
|
||||
f 160//120 163//121 162//122 161//123
|
||||
f 152//113 156//118 160//120 161//123
|
||||
f 165//124 164//125 162//122 163//121
|
||||
f 169//126 168//127 167//128 166//129
|
||||
f 164//125 165//124 169//126 166//129
|
||||
f 167//128 168//127 170//130
|
||||
f 171//131 164//125 166//129
|
||||
f 165//124 172//132 169//126
|
||||
f 175//133 174//134 173//135 169//126
|
||||
f 172//132 175//133 169//126
|
||||
f 173//135 174//134 176//136
|
||||
f 174//134 178//137 177//138 176//136
|
||||
f 178//137 179//139 177//138
|
||||
f 178//137 182//140 181//141 180//142
|
||||
f 179//139 178//137 180//142
|
||||
f 184//143 181//141 182//140 183//144
|
||||
f 183//144 187//145 186//146 185//147
|
||||
f 184//143 183//144 185//147
|
||||
f 186//146 187//145 188//148
|
||||
f 188//148 187//145 189//149 158//116
|
||||
f 188//148 192//150 191//151 190//152
|
||||
f 193//153 186//146 188//148 190//152
|
||||
f 191//151 192//150 194//154
|
||||
f 196//155 191//151 194//154 195//156
|
||||
f 197//157 193//153 190//152
|
||||
f 185//147 193//153 197//157 198//158
|
||||
f 200//159 199//160 185//147 198//158
|
||||
f 200//159 202//161 201//162 199//160
|
||||
f 180//142 201//162 202//161 203//163
|
||||
f 205//164 204//165 180//142 203//163
|
||||
f 204//165 205//164 206//166
|
||||
f 202//161 207//167 203//163
|
||||
f 207//167 202//161 200//159 208//168
|
||||
f 208//168 200//159 198//158
|
||||
f 210//169 197//157 190//152 209//170
|
||||
f 190//152 191//151 196//155 209//170
|
||||
f 199//160 184//143 185//147
|
||||
f 186//146 193//153 185//147
|
||||
f 201//162 181//141 184//143 199//160
|
||||
f 181//141 201//162 180//142
|
||||
f 204//165 179//139 180//142
|
||||
f 177//138 179//139 204//165 206//166
|
||||
f 212//171 211//172 177//138 206//166
|
||||
f 211//172 212//171 213//173
|
||||
f 215//174 211//172 213//173 214//175
|
||||
f 216//176 215//174 214//175
|
||||
f 137//104 216//176 214//175 217//177
|
||||
f 214//175 213//173 218//178 217//177
|
||||
f 213//173 212//171 219//179 218//178
|
||||
f 219//179 212//171 206//166 220//180
|
||||
f 182//140 178//137 174//134 175//133
|
||||
f 162//122 164//125 171//131 221//181
|
||||
f 222//182 172//132 165//124 163//121
|
||||
f 162//122 221//181 161//123
|
||||
f 222//182 163//121 160//120
|
||||
f 159//119 192//150 188//148 158//116
|
||||
f 189//149 157//117 158//116
|
||||
f 156//118 152//113 153//112
|
||||
f 149//110 152//113 161//123 148//109
|
||||
f 161//123 221//181 146//108 148//109
|
||||
f 221//181 171//131 143//107 146//108
|
||||
f 143//107 171//131 166//129 142//106
|
||||
f 166//129 167//128 139//105 142//106
|
||||
f 139//105 167//128 170//130 138//103
|
||||
f 134//81 137//104 217//177 133//83
|
||||
f 217//177 218//178 131//85 133//83
|
||||
f 218//178 219//179 128//102 131//85
|
||||
f 130//85 129//102 224//102 223//85
|
||||
f 223//85 224//102 225//102 85//85
|
||||
f 225//102 224//102 227//101 226//101
|
||||
f 128//102 219//179 220//180 127//101
|
||||
f 224//102 129//102 126//101 227//101
|
||||
f 114//95 210//169 209//170 113//94
|
||||
f 229//95 115//95 112//94 228//94
|
||||
f 231//95 229//95 228//94 230//94
|
||||
f 228//94 233//93 232//93 230//94
|
||||
f 232//93 233//93 235//92 234//92
|
||||
f 209//170 196//155 110//93 113//94
|
||||
f 112//94 111//93 233//93 228//94
|
||||
f 110//93 196//155 195//156 108//92
|
||||
f 233//93 111//93 109//92 235//92
|
||||
f 108//92 195//156 236//183 107//91
|
||||
f 236//183 155//114 105//90 107//91
|
||||
f 105//90 155//114 151//111 104//89
|
||||
f 238//90 103//90 100//89 237//89
|
||||
f 104//89 150//88 98//88 101//89
|
||||
f 100//89 99//88 239//88 237//89
|
||||
f 98//88 150//88 147//87 97//87
|
||||
f 239//88 99//88 96//87 240//87
|
||||
f 147//87 145//86 95//86 97//87
|
||||
f 96//87 94//86 241//86 240//87
|
||||
f 145//86 144//75 92//75 95//86
|
||||
f 94//86 93//75 76//75 241//86
|
||||
f 92//75 144//75 141//76 91//76
|
||||
f 141//76 140//77 89//77 91//76
|
||||
f 89//77 140//77 136//79 88//79
|
||||
f 90//76 87//77 78//77 75//76
|
||||
f 76//75 93//75 90//76 75//76
|
||||
f 241//86 76//75 73//72 71//70
|
||||
f 72//73 29//29 242//184 70//71
|
||||
f 240//87 241//86 71//70 69//68
|
||||
f 70//71 242//184 68//69
|
||||
f 67//66 239//88 240//87 69//68
|
||||
f 68//69 242//184 23//24 18//19
|
||||
f 243//185 66//67 68//69 18//19
|
||||
f 237//89 239//88 67//66 65//64
|
||||
f 66//67 243//185 64//65
|
||||
f 63//62 238//90 237//89 65//64
|
||||
f 244//91 238//90 63//62 61//60
|
||||
f 62//63 245//186 60//61
|
||||
f 59//58 234//92 244//91 61//60
|
||||
f 245//186 246//187 58//59 60//61
|
||||
f 57//56 232//93 234//92 59//58
|
||||
f 246//187 56//57 58//59
|
||||
f 230//94 232//93 57//56 55//54
|
||||
f 53//52 231//95 230//94 55//54
|
||||
f 247//188 52//53 54//55
|
||||
f 248//96 231//95 53//52 51//50
|
||||
f 49//48 249//97 248//96 51//50
|
||||
f 47//46 250//98 249//97 49//48
|
||||
f 251//99 250//98 47//46 45//44
|
||||
f 43//42 252//100 251//99 45//44
|
||||
f 226//101 252//100 43//42 41//40
|
||||
f 38//39 225//102 226//101 41//40
|
||||
f 85//85 225//102 38//39 39//38
|
||||
f 83//84 39//38 36//35 34//34
|
||||
f 32//31 81//82 83//84 34//34
|
||||
f 79//80 81//82 32//31 30//30
|
||||
f 27//27 77//78 79//80 30//30
|
||||
f 26//28 33//33 25//25
|
||||
f 29//29 72//73 28//26
|
||||
f 74//74 77//78 27//27 28//26
|
||||
f 242//184 29//29 24//23 23//24
|
||||
f 23//24 20//20 18//19
|
||||
f 17//17 243//185 18//19
|
||||
f 64//65 243//185 17//17 15//16
|
||||
f 245//186 62//63 64//65 15//16
|
||||
f 14//14 246//187 245//186 15//16
|
||||
f 54//55 56//57 246//187 14//14
|
||||
f 13//13 247//188 54//55 14//14
|
||||
f 19//18 9//10 12//11 16//15
|
||||
f 247//188 13//13 11//12
|
||||
f 21//22 7//6 9//10 19//18
|
||||
f 5//5 253//189 6//7
|
||||
f 40//41 253//189 5//5 4//2
|
||||
f 35//36 37//37 40//41 4//2
|
||||
f 1//1 31//32 35//36 4//2
|
||||
f 2//4 3//3 7//6 21//22
|
||||
f 33//33 1//1 2//4
|
||||
f 2//4 21//22 22//21 25//25
|
||||
f 33//33 2//4 25//25
|
||||
f 255//190 254//191 46//47 48//49
|
||||
f 255//190 48//49 50//51
|
||||
f 257//192 254//191 255//190 256//193
|
||||
f 50//51 52//53 247//188 11//12
|
||||
f 256//193 255//190 50//51 11//12
|
||||
f 10//9 8//8 257//192 256//193
|
||||
f 10//9 256//193 11//12
|
||||
f 46//47 254//191 44//45
|
||||
f 42//43 253//189 40//41
|
||||
f 44//45 254//191 257//192 6//7
|
||||
f 253//189 42//43 44//45 6//7
|
||||
f 257//192 8//8 6//7
|
||||
f 235//92 109//92 106//91 258//91
|
||||
f 106//91 102//90 103//90 258//91
|
||||
f 234//92 235//92 258//91 244//91
|
||||
f 258//91 103//90 238//90 244//91
|
||||
f 132//83 130//85 223//85 259//83
|
||||
f 260//81 135//81 132//83 259//83
|
||||
f 88//79 135//81 260//81 86//79
|
||||
f 259//83 223//85 85//85 84//83
|
||||
f 82//81 260//81 259//83 84//83
|
||||
f 86//79 260//81 82//81 80//79
|
||||
f 262//98 121//98 119//97 261//97
|
||||
f 261//97 119//97 116//96 263//96
|
||||
f 116//96 115//95 229//95 263//96
|
||||
f 250//98 262//98 261//97 249//97
|
||||
f 249//97 261//97 263//96 248//96
|
||||
f 263//96 229//95 231//95 248//96
|
||||
f 122//99 121//98 262//98 264//99
|
||||
f 126//101 125//100 265//100 227//101
|
||||
f 265//100 125//100 122//99 264//99
|
||||
f 264//99 262//98 250//98 251//99
|
||||
f 227//101 265//100 252//100 226//101
|
||||
f 252//100 265//100 264//99 251//99
|
||||
f 194//154 192//150 159//119 266//194
|
||||
f 159//119 154//115 266//194
|
||||
f 195//156 194//154 266//194 236//183
|
||||
f 266//194 154//115 155//114 236//183
|
||||
f 183//144 182//140 175//133 267//195
|
||||
f 187//145 183//144 267//195 189//149
|
||||
f 267//195 175//133 172//132 222//182
|
||||
f 189//149 267//195 222//182 160//120
|
||||
f 157//117 189//149 160//120
|
||||
f 177//138 211//172 215//174 176//136
|
||||
f 176//136 215//174 216//176 170//130
|
||||
f 168//127 173//135 176//136 170//130
|
||||
f 173//135 168//127 169//126
|
||||
f 170//130 216//176 137//104 138//103
|
||||
f 269//196 207//167 208//168 268//197
|
||||
f 268//197 208//168 198//158 270//198
|
||||
f 198//158 197//157 210//169 270//198
|
||||
f 120//98 269//196 268//197 118//97
|
||||
f 118//97 268//197 270//198 117//96
|
||||
f 270//198 210//169 114//95 117//96
|
||||
f 203//163 207//167 269//196 271//199
|
||||
f 206//166 205//164 272//200 220//180
|
||||
f 272//200 205//164 203//163 271//199
|
||||
f 271//199 269//196 120//98 123//99
|
||||
f 220//180 272//200 124//100 127//101
|
||||
f 124//100 272//200 271//199 123//99
|
||||
@@ -0,0 +1,132 @@
|
||||
# Blender v2.63 (sub 0) OBJ File: 'unit_cone.blend'
|
||||
# www.blender.org
|
||||
o Cone
|
||||
v 0.000000 -0.500000 -0.500000
|
||||
v 0.000000 0.500000 0.000000
|
||||
v 0.097545 -0.500000 -0.490393
|
||||
v 0.191342 -0.500000 -0.461940
|
||||
v 0.277785 -0.500000 -0.415735
|
||||
v 0.353553 -0.500000 -0.353553
|
||||
v 0.415735 -0.500000 -0.277785
|
||||
v 0.461940 -0.500000 -0.191342
|
||||
v 0.490393 -0.500000 -0.097545
|
||||
v 0.500000 -0.500000 -0.000000
|
||||
v 0.490393 -0.500000 0.097545
|
||||
v 0.461940 -0.500000 0.191342
|
||||
v 0.415735 -0.500000 0.277785
|
||||
v 0.353553 -0.500000 0.353553
|
||||
v 0.277785 -0.500000 0.415735
|
||||
v 0.191342 -0.500000 0.461940
|
||||
v 0.097545 -0.500000 0.490393
|
||||
v -0.000000 -0.500000 0.500000
|
||||
v -0.097545 -0.500000 0.490393
|
||||
v -0.191342 -0.500000 0.461940
|
||||
v -0.277785 -0.500000 0.415735
|
||||
v -0.353554 -0.500000 0.353553
|
||||
v -0.415735 -0.500000 0.277785
|
||||
v -0.461940 -0.500000 0.191341
|
||||
v -0.490393 -0.500000 0.097545
|
||||
v -0.500000 -0.500000 -0.000000
|
||||
v -0.490393 -0.500000 -0.097546
|
||||
v -0.461940 -0.500000 -0.191342
|
||||
v -0.415734 -0.500000 -0.277786
|
||||
v -0.353553 -0.500000 -0.353554
|
||||
v -0.277785 -0.500000 -0.415735
|
||||
v -0.191341 -0.500000 -0.461940
|
||||
v -0.097544 -0.500000 -0.490393
|
||||
vn -0.259887 0.445488 -0.856737
|
||||
vn 0.087754 0.445488 -0.890977
|
||||
vn -0.087753 0.445488 -0.890977
|
||||
vn 0.259888 0.445488 -0.856737
|
||||
vn -0.422035 0.445488 -0.789574
|
||||
vn -0.567964 0.445488 -0.692068
|
||||
vn -0.692066 0.445488 -0.567965
|
||||
vn -0.789573 0.445488 -0.422037
|
||||
vn -0.856737 0.445488 -0.259889
|
||||
vn -0.890977 0.445488 -0.087754
|
||||
vn -0.890977 0.445488 0.087753
|
||||
vn -0.856737 0.445488 0.259887
|
||||
vn -0.789574 0.445488 0.422035
|
||||
vn -0.692067 0.445488 0.567964
|
||||
vn -0.567965 0.445488 0.692066
|
||||
vn -0.422036 0.445488 0.789573
|
||||
vn -0.259888 0.445488 0.856737
|
||||
vn -0.087754 0.445488 0.890977
|
||||
vn 0.087753 0.445488 0.890977
|
||||
vn 0.259888 0.445488 0.856737
|
||||
vn 0.422035 0.445488 0.789573
|
||||
vn 0.567965 0.445488 0.692067
|
||||
vn 0.692067 0.445488 0.567965
|
||||
vn 0.789573 0.445488 0.422035
|
||||
vn 0.856737 0.445488 0.259888
|
||||
vn 0.890977 0.445488 0.087753
|
||||
vn 0.890977 0.445488 -0.087754
|
||||
vn 0.856737 0.445488 -0.259888
|
||||
vn 0.789573 0.445488 -0.422036
|
||||
vn 0.692067 0.445488 -0.567964
|
||||
vn 0.567964 0.445488 -0.692067
|
||||
vn 0.422036 0.445488 -0.789573
|
||||
vn 0.000000 -1.000000 -0.000000
|
||||
s off
|
||||
f 32//1 2//1 33//1
|
||||
f 1//2 2//2 3//2
|
||||
f 2//3 1//3 33//3
|
||||
f 3//4 2//4 4//4
|
||||
f 31//5 2//5 32//5
|
||||
f 30//6 2//6 31//6
|
||||
f 29//7 2//7 30//7
|
||||
f 28//8 2//8 29//8
|
||||
f 27//9 2//9 28//9
|
||||
f 26//10 2//10 27//10
|
||||
f 25//11 2//11 26//11
|
||||
f 24//12 2//12 25//12
|
||||
f 23//13 2//13 24//13
|
||||
f 22//14 2//14 23//14
|
||||
f 21//15 2//15 22//15
|
||||
f 20//16 2//16 21//16
|
||||
f 19//17 2//17 20//17
|
||||
f 18//18 2//18 19//18
|
||||
f 17//19 2//19 18//19
|
||||
f 16//20 2//20 17//20
|
||||
f 15//21 2//21 16//21
|
||||
f 14//22 2//22 15//22
|
||||
f 13//23 2//23 14//23
|
||||
f 12//24 2//24 13//24
|
||||
f 11//25 2//25 12//25
|
||||
f 10//26 2//26 11//26
|
||||
f 9//27 2//27 10//27
|
||||
f 8//28 2//28 9//28
|
||||
f 7//29 2//29 8//29
|
||||
f 6//30 2//30 7//30
|
||||
f 5//31 2//31 6//31
|
||||
f 4//32 2//32 5//32
|
||||
f 1//33 3//33 33//33
|
||||
f 3//33 32//33 33//33
|
||||
f 3//33 4//33 32//33
|
||||
f 4//33 31//33 32//33
|
||||
f 4//33 5//33 31//33
|
||||
f 5//33 30//33 31//33
|
||||
f 5//33 6//33 30//33
|
||||
f 6//33 29//33 30//33
|
||||
f 6//33 7//33 29//33
|
||||
f 7//33 28//33 29//33
|
||||
f 7//33 8//33 28//33
|
||||
f 8//33 27//33 28//33
|
||||
f 8//33 9//33 27//33
|
||||
f 9//33 26//33 27//33
|
||||
f 9//33 10//33 26//33
|
||||
f 10//33 25//33 26//33
|
||||
f 10//33 11//33 25//33
|
||||
f 11//33 24//33 25//33
|
||||
f 11//33 12//33 24//33
|
||||
f 12//33 23//33 24//33
|
||||
f 12//33 13//33 23//33
|
||||
f 13//33 22//33 23//33
|
||||
f 13//33 14//33 22//33
|
||||
f 14//33 21//33 22//33
|
||||
f 14//33 15//33 21//33
|
||||
f 15//33 20//33 21//33
|
||||
f 15//33 16//33 20//33
|
||||
f 16//33 19//33 20//33
|
||||
f 16//33 17//33 19//33
|
||||
f 17//33 18//33 19//33
|
||||
@@ -0,0 +1,200 @@
|
||||
# Blender v2.63 (sub 0) OBJ File: 'unit_cylinder.blend'
|
||||
# www.blender.org
|
||||
o Cylinder_Cylinder.001
|
||||
v 0.000000 -0.500000 0.000000
|
||||
v 0.000000 0.500000 0.000000
|
||||
v 0.000000 -0.500000 -0.500000
|
||||
v 0.000000 0.500000 -0.500000
|
||||
v 0.097545 -0.500000 -0.490393
|
||||
v 0.097545 0.500000 -0.490393
|
||||
v 0.191342 -0.500000 -0.461940
|
||||
v 0.191342 0.500000 -0.461940
|
||||
v 0.277785 -0.500000 -0.415735
|
||||
v 0.277785 0.500000 -0.415735
|
||||
v 0.353553 -0.500000 -0.353553
|
||||
v 0.353553 0.500000 -0.353553
|
||||
v 0.415735 -0.500000 -0.277785
|
||||
v 0.415735 0.500000 -0.277785
|
||||
v 0.461940 -0.500000 -0.191342
|
||||
v 0.461940 0.500000 -0.191342
|
||||
v 0.490393 -0.500000 -0.097545
|
||||
v 0.490393 0.500000 -0.097545
|
||||
v 0.500000 -0.500000 -0.000000
|
||||
v 0.500000 0.500000 -0.000000
|
||||
v 0.490393 -0.500000 0.097545
|
||||
v 0.490393 0.500000 0.097545
|
||||
v 0.461940 -0.500000 0.191342
|
||||
v 0.461940 0.500000 0.191342
|
||||
v 0.415735 -0.500000 0.277785
|
||||
v 0.415735 0.500000 0.277785
|
||||
v 0.353553 -0.500000 0.353553
|
||||
v 0.353553 0.500000 0.353553
|
||||
v 0.277785 -0.500000 0.415735
|
||||
v 0.277785 0.500000 0.415735
|
||||
v 0.191342 -0.500000 0.461940
|
||||
v 0.191342 0.500000 0.461940
|
||||
v 0.097545 -0.500000 0.490393
|
||||
v 0.097545 0.500000 0.490393
|
||||
v -0.000000 -0.500000 0.500000
|
||||
v -0.000000 0.500000 0.500000
|
||||
v -0.097545 -0.500000 0.490393
|
||||
v -0.097545 0.500000 0.490393
|
||||
v -0.191342 -0.500000 0.461940
|
||||
v -0.191342 0.500000 0.461940
|
||||
v -0.277785 -0.500000 0.415735
|
||||
v -0.277785 0.500000 0.415735
|
||||
v -0.353554 -0.500000 0.353553
|
||||
v -0.353554 0.500000 0.353553
|
||||
v -0.415735 -0.500000 0.277785
|
||||
v -0.415735 0.500000 0.277785
|
||||
v -0.461940 -0.500000 0.191341
|
||||
v -0.461940 0.500000 0.191341
|
||||
v -0.490393 -0.500000 0.097545
|
||||
v -0.490393 0.500000 0.097545
|
||||
v -0.500000 -0.500000 -0.000000
|
||||
v -0.500000 0.500000 -0.000000
|
||||
v -0.490393 -0.500000 -0.097546
|
||||
v -0.490393 0.500000 -0.097546
|
||||
v -0.461940 -0.500000 -0.191342
|
||||
v -0.461940 0.500000 -0.191342
|
||||
v -0.415734 -0.500000 -0.277786
|
||||
v -0.415734 0.500000 -0.277786
|
||||
v -0.353553 -0.500000 -0.353554
|
||||
v -0.353553 0.500000 -0.353554
|
||||
v -0.277785 -0.500000 -0.415735
|
||||
v -0.277785 0.500000 -0.415735
|
||||
v -0.191341 -0.500000 -0.461940
|
||||
v -0.191341 0.500000 -0.461940
|
||||
v -0.097544 -0.500000 -0.490393
|
||||
v -0.097544 0.500000 -0.490393
|
||||
vn -0.000000 -1.000000 0.000000
|
||||
vn 0.000000 1.000000 -0.000000
|
||||
vn 0.098017 0.000000 -0.995185
|
||||
vn 0.290284 0.000000 -0.956940
|
||||
vn 0.471397 0.000000 -0.881921
|
||||
vn 0.634393 0.000000 -0.773011
|
||||
vn 0.773011 0.000000 -0.634393
|
||||
vn 0.881921 0.000000 -0.471397
|
||||
vn 0.956940 0.000000 -0.290284
|
||||
vn 0.995185 0.000000 -0.098017
|
||||
vn 0.995185 0.000000 0.098017
|
||||
vn 0.956940 0.000000 0.290285
|
||||
vn 0.881921 0.000000 0.471396
|
||||
vn 0.773010 0.000000 0.634393
|
||||
vn 0.634393 0.000000 0.773010
|
||||
vn 0.471396 0.000000 0.881921
|
||||
vn 0.290285 0.000000 0.956940
|
||||
vn 0.098017 0.000000 0.995185
|
||||
vn -0.098018 0.000000 0.995185
|
||||
vn -0.290285 0.000000 0.956940
|
||||
vn -0.471397 0.000000 0.881921
|
||||
vn -0.634394 0.000000 0.773010
|
||||
vn -0.773011 0.000000 0.634393
|
||||
vn -0.881922 0.000000 0.471396
|
||||
vn -0.956941 0.000000 0.290284
|
||||
vn -0.995185 0.000000 0.098016
|
||||
vn -0.995185 0.000000 -0.098018
|
||||
vn -0.956940 0.000000 -0.290286
|
||||
vn -0.881921 0.000000 -0.471398
|
||||
vn -0.773010 0.000000 -0.634394
|
||||
vn -0.634392 0.000000 -0.773011
|
||||
vn -0.471395 0.000000 -0.881922
|
||||
vn -0.290283 0.000000 -0.956941
|
||||
vn -0.098016 0.000000 -0.995185
|
||||
s off
|
||||
f 1//1 3//1 5//1
|
||||
f 2//2 6//2 4//2
|
||||
f 3//3 4//3 6//3 5//3
|
||||
f 1//1 5//1 7//1
|
||||
f 2//2 8//2 6//2
|
||||
f 5//4 6//4 8//4 7//4
|
||||
f 1//1 7//1 9//1
|
||||
f 2//2 10//2 8//2
|
||||
f 7//5 8//5 10//5 9//5
|
||||
f 1//1 9//1 11//1
|
||||
f 2//2 12//2 10//2
|
||||
f 9//6 10//6 12//6 11//6
|
||||
f 1//1 11//1 13//1
|
||||
f 2//2 14//2 12//2
|
||||
f 11//7 12//7 14//7 13//7
|
||||
f 1//1 13//1 15//1
|
||||
f 2//2 16//2 14//2
|
||||
f 13//8 14//8 16//8 15//8
|
||||
f 1//1 15//1 17//1
|
||||
f 2//2 18//2 16//2
|
||||
f 15//9 16//9 18//9 17//9
|
||||
f 1//1 17//1 19//1
|
||||
f 2//2 20//2 18//2
|
||||
f 17//10 18//10 20//10 19//10
|
||||
f 1//1 19//1 21//1
|
||||
f 2//2 22//2 20//2
|
||||
f 19//11 20//11 22//11 21//11
|
||||
f 1//1 21//1 23//1
|
||||
f 2//2 24//2 22//2
|
||||
f 21//12 22//12 24//12 23//12
|
||||
f 1//1 23//1 25//1
|
||||
f 2//2 26//2 24//2
|
||||
f 23//13 24//13 26//13 25//13
|
||||
f 1//1 25//1 27//1
|
||||
f 2//2 28//2 26//2
|
||||
f 25//14 26//14 28//14 27//14
|
||||
f 1//1 27//1 29//1
|
||||
f 2//2 30//2 28//2
|
||||
f 27//15 28//15 30//15 29//15
|
||||
f 1//1 29//1 31//1
|
||||
f 2//2 32//2 30//2
|
||||
f 29//16 30//16 32//16 31//16
|
||||
f 1//1 31//1 33//1
|
||||
f 2//2 34//2 32//2
|
||||
f 31//17 32//17 34//17 33//17
|
||||
f 1//1 33//1 35//1
|
||||
f 2//2 36//2 34//2
|
||||
f 33//18 34//18 36//18 35//18
|
||||
f 1//1 35//1 37//1
|
||||
f 2//2 38//2 36//2
|
||||
f 35//19 36//19 38//19 37//19
|
||||
f 1//1 37//1 39//1
|
||||
f 2//2 40//2 38//2
|
||||
f 37//20 38//20 40//20 39//20
|
||||
f 1//1 39//1 41//1
|
||||
f 2//2 42//2 40//2
|
||||
f 39//21 40//21 42//21 41//21
|
||||
f 1//1 41//1 43//1
|
||||
f 2//2 44//2 42//2
|
||||
f 41//22 42//22 44//22 43//22
|
||||
f 1//1 43//1 45//1
|
||||
f 2//2 46//2 44//2
|
||||
f 43//23 44//23 46//23 45//23
|
||||
f 1//1 45//1 47//1
|
||||
f 2//2 48//2 46//2
|
||||
f 45//24 46//24 48//24 47//24
|
||||
f 1//1 47//1 49//1
|
||||
f 2//2 50//2 48//2
|
||||
f 47//25 48//25 50//25 49//25
|
||||
f 1//1 49//1 51//1
|
||||
f 2//2 52//2 50//2
|
||||
f 49//26 50//26 52//26 51//26
|
||||
f 1//1 51//1 53//1
|
||||
f 2//2 54//2 52//2
|
||||
f 51//27 52//27 54//27 53//27
|
||||
f 1//1 53//1 55//1
|
||||
f 2//2 56//2 54//2
|
||||
f 53//28 54//28 56//28 55//28
|
||||
f 1//1 55//1 57//1
|
||||
f 2//2 58//2 56//2
|
||||
f 55//29 56//29 58//29 57//29
|
||||
f 1//1 57//1 59//1
|
||||
f 2//2 60//2 58//2
|
||||
f 57//30 58//30 60//30 59//30
|
||||
f 1//1 59//1 61//1
|
||||
f 2//2 62//2 60//2
|
||||
f 59//31 60//31 62//31 61//31
|
||||
f 1//1 61//1 63//1
|
||||
f 2//2 64//2 62//2
|
||||
f 61//32 62//32 64//32 63//32
|
||||
f 1//1 63//1 65//1
|
||||
f 2//2 66//2 64//2
|
||||
f 63//33 64//33 66//33 65//33
|
||||
f 1//1 65//1 3//1
|
||||
f 2//2 4//2 66//2
|
||||
f 65//34 66//34 4//34 3//34
|
||||
|
After Width: | Height: | Size: 3.4 KiB |
|
After Width: | Height: | Size: 3.4 KiB |
|
After Width: | Height: | Size: 513 KiB |
@@ -0,0 +1,12 @@
|
||||
#version 140
|
||||
|
||||
|
||||
in vec4 frag_Color;
|
||||
out vec4 final_Color;
|
||||
|
||||
|
||||
void
|
||||
main()
|
||||
{
|
||||
final_Color = frag_Color;
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
#version 140
|
||||
|
||||
uniform mat4 mvp_Transform;
|
||||
uniform vec3 Scale;
|
||||
|
||||
in vec3 Site;
|
||||
in vec4 Color;
|
||||
|
||||
out vec3 frag_Site;
|
||||
out vec4 frag_Color;
|
||||
|
||||
|
||||
void main()
|
||||
{
|
||||
// Pass some variables to the fragment shader.
|
||||
//
|
||||
frag_Site = Site;
|
||||
frag_Color = Color;
|
||||
|
||||
// Apply all matrix transformations to 'Site'.
|
||||
//
|
||||
gl_Position = mvp_Transform * vec4 (Site * Scale, 1);
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
#version 140
|
||||
|
||||
uniform sampler2D sTexture;
|
||||
|
||||
varying vec4 vColor;
|
||||
varying vec2 vCoords;
|
||||
|
||||
|
||||
void main()
|
||||
{
|
||||
gl_FragColor = mix (texture2D (sTexture, vCoords),
|
||||
vColor,
|
||||
0.5);
|
||||
}
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
#version 140
|
||||
|
||||
uniform mat4 mvp_Transform;
|
||||
uniform vec3 Scale;
|
||||
|
||||
attribute vec3 Site;
|
||||
attribute vec4 Color;
|
||||
attribute vec2 Coords;
|
||||
|
||||
varying vec4 vColor;
|
||||
varying vec2 vCoords;
|
||||
|
||||
|
||||
void main()
|
||||
{
|
||||
gl_Position = mvp_Transform * vec4 (Site * Scale, 1.0);
|
||||
vColor = Color;
|
||||
vCoords = Coords;
|
||||
}
|
||||
@@ -0,0 +1,123 @@
|
||||
#version 140
|
||||
|
||||
struct light
|
||||
{
|
||||
vec4 Site;
|
||||
vec3 Color;
|
||||
float Attenuation;
|
||||
float ambient_Coefficient;
|
||||
float cone_Angle;
|
||||
vec3 cone_Direction;
|
||||
};
|
||||
|
||||
|
||||
uniform mat4 model_Transform;
|
||||
uniform mat3 inverse_model_Rotation;
|
||||
uniform vec3 camera_Site;
|
||||
uniform vec3 specular_Color; // The materials specular color.
|
||||
uniform int light_Count;
|
||||
uniform light Lights [10];
|
||||
|
||||
|
||||
in vec3 frag_Site;
|
||||
in vec3 frag_Normal;
|
||||
in vec4 frag_Color;
|
||||
in float frag_Shine;
|
||||
|
||||
out vec4 final_Color;
|
||||
|
||||
|
||||
vec3
|
||||
apply_Light (light Light,
|
||||
vec3 surface_Color,
|
||||
vec3 Normal,
|
||||
vec3 surface_Site,
|
||||
vec3 Surface_to_Camera)
|
||||
{
|
||||
vec3 Surface_to_Light;
|
||||
float Attenuation = 1.0;
|
||||
|
||||
if (Light.Site.w == 0.0)
|
||||
{
|
||||
// Directional light.
|
||||
//
|
||||
Surface_to_Light = normalize (-Light.Site.xyz);
|
||||
Attenuation = 1.0; // No attenuation for directional lights.
|
||||
}
|
||||
else
|
||||
{
|
||||
// Point light.
|
||||
//
|
||||
vec3 Surface_to_Light_vector = Light.Site.xyz - surface_Site;
|
||||
float Distance_to_Light = length (Surface_to_Light_vector);
|
||||
|
||||
Surface_to_Light = normalize (Surface_to_Light_vector);
|
||||
Attenuation = 1.0
|
||||
/ ( 1.0
|
||||
+ Light.Attenuation
|
||||
* pow (Distance_to_Light, 2));
|
||||
|
||||
// Cone restrictions which affects attenuation.
|
||||
//
|
||||
float Light_to_Surface_Angle = degrees (acos (dot (-Surface_to_Light,
|
||||
normalize (Light.cone_Direction))));
|
||||
|
||||
if (Light_to_Surface_Angle > Light.cone_Angle)
|
||||
{
|
||||
Attenuation = 0.0;
|
||||
}
|
||||
}
|
||||
|
||||
vec3 lit_surface_Color = surface_Color * Light.Color;
|
||||
vec3 Ambient = Light.ambient_Coefficient * lit_surface_Color;
|
||||
float diffuse_Coefficient = max (0.0,
|
||||
dot (Normal,
|
||||
Surface_to_Light));
|
||||
vec3 Diffuse = diffuse_Coefficient * lit_surface_Color;
|
||||
float specular_Coefficient = 0.0;
|
||||
|
||||
if (diffuse_Coefficient > 0.0)
|
||||
specular_Coefficient = pow (max (0.0,
|
||||
dot (Surface_to_Camera,
|
||||
reflect (-Surface_to_Light,
|
||||
Normal))),
|
||||
frag_Shine);
|
||||
|
||||
vec3 Specular = specular_Coefficient * specular_Color * Light.Color;
|
||||
|
||||
return Ambient + Attenuation * (Diffuse + Specular); // Linear color (before gamma correction).
|
||||
}
|
||||
|
||||
|
||||
|
||||
void
|
||||
main()
|
||||
{
|
||||
vec3 surface_Site = vec3 ( model_Transform
|
||||
* vec4 (frag_Site, 1));
|
||||
|
||||
vec4 surface_Color = frag_Color;
|
||||
|
||||
vec3 Surface_to_Camera = normalize (camera_Site - surface_Site);
|
||||
vec3 Normal = normalize ( frag_Normal
|
||||
* inverse_model_Rotation);
|
||||
|
||||
// Combine color from all the lights.
|
||||
//
|
||||
vec3 linear_Color = vec3 (0);
|
||||
|
||||
for (int i = 0; i < light_Count; ++i)
|
||||
{
|
||||
linear_Color += apply_Light (Lights [i],
|
||||
surface_Color.rgb,
|
||||
Normal,
|
||||
surface_Site,
|
||||
Surface_to_Camera);
|
||||
}
|
||||
|
||||
vec3 Gamma = vec3 (1.0 / 2.2);
|
||||
|
||||
final_Color = vec4 (pow (linear_Color, // Final color (after gamma correction).
|
||||
Gamma),
|
||||
surface_Color.a);
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
#version 140
|
||||
|
||||
uniform mat4 mvp_Transform;
|
||||
uniform vec3 Scale;
|
||||
|
||||
in vec3 Site;
|
||||
in vec3 Normal;
|
||||
in vec4 Color;
|
||||
in float Shine;
|
||||
|
||||
out vec3 frag_Site;
|
||||
out vec3 frag_Normal;
|
||||
out vec4 frag_Color;
|
||||
out float frag_Shine;
|
||||
|
||||
|
||||
void main()
|
||||
{
|
||||
// Pass some variables to the fragment shader.
|
||||
//
|
||||
frag_Site = Site;
|
||||
frag_Normal = Normal;
|
||||
frag_Color = Color;
|
||||
frag_Shine = Shine;
|
||||
|
||||
// Apply all matrix transformations to 'Site'.
|
||||
//
|
||||
gl_Position = mvp_Transform * vec4 (Site * Scale, 1);
|
||||
}
|
||||
@@ -0,0 +1,127 @@
|
||||
#version 140
|
||||
|
||||
struct light
|
||||
{
|
||||
vec4 Site;
|
||||
vec3 Color;
|
||||
float Attenuation;
|
||||
float ambient_Coefficient;
|
||||
float cone_Angle;
|
||||
vec3 cone_Direction;
|
||||
};
|
||||
|
||||
|
||||
uniform mat4 model_Transform;
|
||||
uniform mat3 inverse_model_Rotation;
|
||||
uniform vec3 camera_Site;
|
||||
uniform vec3 specular_Color; // The materials specular color.
|
||||
uniform sampler2D Texture;
|
||||
uniform int light_Count;
|
||||
uniform light Lights [10];
|
||||
|
||||
|
||||
in vec3 frag_Site;
|
||||
in vec3 frag_Normal;
|
||||
in vec4 frag_Color;
|
||||
in vec2 frag_Coords;
|
||||
in float frag_Shine;
|
||||
|
||||
out vec4 final_Color;
|
||||
|
||||
|
||||
vec3
|
||||
apply_Light (light Light,
|
||||
vec3 surface_Color,
|
||||
vec3 Normal,
|
||||
vec3 surface_Site,
|
||||
vec3 Surface_to_Camera)
|
||||
{
|
||||
vec3 Surface_to_Light;
|
||||
float Attenuation = 1.0;
|
||||
|
||||
if (Light.Site.w == 0.0)
|
||||
{
|
||||
// Directional light.
|
||||
//
|
||||
Surface_to_Light = normalize (-Light.Site.xyz);
|
||||
Attenuation = 1.0; // No attenuation for directional lights.
|
||||
}
|
||||
else
|
||||
{
|
||||
// Point light.
|
||||
//
|
||||
vec3 Surface_to_Light_vector = Light.Site.xyz - surface_Site;
|
||||
float Distance_to_Light = length (Surface_to_Light_vector);
|
||||
|
||||
Surface_to_Light = normalize (Surface_to_Light_vector);
|
||||
Attenuation = 1.0
|
||||
/ ( 1.0
|
||||
+ Light.Attenuation
|
||||
* pow (Distance_to_Light, 2));
|
||||
|
||||
// Cone restrictions which affects attenuation.
|
||||
//
|
||||
float Light_to_Surface_Angle = degrees (acos (dot (-Surface_to_Light,
|
||||
normalize (Light.cone_Direction))));
|
||||
|
||||
if (Light_to_Surface_Angle > Light.cone_Angle)
|
||||
{
|
||||
Attenuation = 0.0;
|
||||
}
|
||||
}
|
||||
|
||||
vec3 lit_surface_Color = surface_Color * Light.Color;
|
||||
vec3 Ambient = Light.ambient_Coefficient * lit_surface_Color;
|
||||
float diffuse_Coefficient = max (0.0,
|
||||
dot (Normal,
|
||||
Surface_to_Light));
|
||||
vec3 Diffuse = diffuse_Coefficient * lit_surface_Color;
|
||||
float specular_Coefficient = 0.0;
|
||||
|
||||
if (diffuse_Coefficient > 0.0)
|
||||
specular_Coefficient = pow (max (0.0,
|
||||
dot (Surface_to_Camera,
|
||||
reflect (-Surface_to_Light,
|
||||
Normal))),
|
||||
frag_Shine);
|
||||
|
||||
vec3 Specular = specular_Coefficient * specular_Color * Light.Color;
|
||||
|
||||
return Ambient + Attenuation * (Diffuse + Specular); // Linear color (before gamma correction).
|
||||
}
|
||||
|
||||
|
||||
|
||||
void
|
||||
main()
|
||||
{
|
||||
vec3 surface_Site = vec3 ( model_Transform
|
||||
* vec4 (frag_Site, 1));
|
||||
|
||||
vec4 surface_Color = ( texture (Texture, frag_Coords)
|
||||
+ frag_Color)
|
||||
/ 2.0;
|
||||
|
||||
vec3 Surface_to_Camera = normalize (camera_Site - surface_Site);
|
||||
vec3 Normal = normalize ( frag_Normal
|
||||
* inverse_model_Rotation);
|
||||
|
||||
// Combine color from all the lights.
|
||||
//
|
||||
vec3 linear_Color = vec3 (0);
|
||||
|
||||
for (int i = 0; i < light_Count; ++i)
|
||||
{
|
||||
linear_Color += apply_Light (Lights [i],
|
||||
surface_Color.rgb,
|
||||
Normal,
|
||||
surface_Site,
|
||||
Surface_to_Camera);
|
||||
}
|
||||
|
||||
vec3 Gamma = vec3 (1.0 / 2.2);
|
||||
|
||||
final_Color = vec4 (pow (linear_Color, // Final color (after gamma correction).
|
||||
Gamma),
|
||||
surface_Color.a);
|
||||
}
|
||||
@@ -0,0 +1,114 @@
|
||||
#version 140
|
||||
|
||||
uniform mat4 mvp_Transform;
|
||||
uniform vec3 Scale;
|
||||
uniform mat4 bone_Matrices[120];
|
||||
|
||||
in vec3 Site;
|
||||
in vec3 Normal;
|
||||
in vec4 Color;
|
||||
in vec2 Coords;
|
||||
in float Shine;
|
||||
in vec4 bone_Ids;
|
||||
in vec4 bone_Weights;
|
||||
|
||||
out vec3 frag_Site;
|
||||
out vec3 frag_Normal;
|
||||
out vec4 frag_Color;
|
||||
out vec2 frag_Coords;
|
||||
out float frag_Shine;
|
||||
|
||||
const float c_zero = 0.0;
|
||||
const float c_one = 1.0;
|
||||
|
||||
|
||||
void main()
|
||||
{
|
||||
vec4 transformedPosition = vec4 (0.0);
|
||||
vec3 transformedNormal = vec3 (0.0);
|
||||
|
||||
if (int (bone_Ids.x) == 0) // No bones affect this vertex.
|
||||
{
|
||||
transformedPosition = vec4 (Site, c_one);
|
||||
transformedNormal = Normal;
|
||||
}
|
||||
else
|
||||
{
|
||||
// Bone 1.
|
||||
//
|
||||
mat4 m44 = bone_Matrices [int (bone_Ids.x) - 1];
|
||||
|
||||
// Transform the offset by bone 1.
|
||||
transformedPosition += m44 * vec4 (Site, c_one) * bone_Weights.x;
|
||||
|
||||
mat3 m33 = mat3 (m44[0].xyz,
|
||||
m44[1].xyz,
|
||||
m44[2].xyz);
|
||||
|
||||
// Transform the normal by bone 1.
|
||||
transformedNormal += m33 * Normal * bone_Weights.x;
|
||||
|
||||
if (int (bone_Ids.y) != 0)
|
||||
{
|
||||
// Bone 2.
|
||||
//
|
||||
m44 = bone_Matrices [int (bone_Ids.y) - 1];
|
||||
|
||||
// Transform the offset by bone 2.
|
||||
transformedPosition += m44 * vec4 (Site, c_one) * bone_Weights.y;
|
||||
|
||||
m33 = mat3 (m44[0].xyz,
|
||||
m44[1].xyz,
|
||||
m44[2].xyz);
|
||||
|
||||
// Transform the normal by bone 2.
|
||||
transformedNormal += m33 * Normal * bone_Weights.y;
|
||||
|
||||
if (int (bone_Ids.z) != 0)
|
||||
{
|
||||
// Bone 3.
|
||||
//
|
||||
m44 = bone_Matrices [int (bone_Ids.z) - 1];
|
||||
|
||||
// Transform the offset by bone 3.
|
||||
transformedPosition += m44 * vec4 (Site, c_one) * bone_Weights.z;
|
||||
|
||||
m33 = mat3(m44[0].xyz,
|
||||
m44[1].xyz,
|
||||
m44[2].xyz);
|
||||
|
||||
// Transform the normal by bone 3.
|
||||
transformedNormal += m33 * Normal * bone_Weights.z;
|
||||
|
||||
if (int (bone_Ids.w) != 0)
|
||||
{
|
||||
// Bone 4.
|
||||
//
|
||||
m44 = bone_Matrices [int (bone_Ids.w) - 1];
|
||||
|
||||
// Transform the offset by bone 4.
|
||||
transformedPosition += m44 * vec4 (Site, c_one) * bone_Weights.w;
|
||||
|
||||
m33 = mat3 (m44[0].xyz,
|
||||
m44[1].xyz,
|
||||
m44[2].xyz);
|
||||
|
||||
// Transform the normal by bone 4.
|
||||
transformedNormal += m33 * Normal * bone_Weights.w;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Pass some variables to the fragment shader.
|
||||
//
|
||||
frag_Site = Site;
|
||||
frag_Normal = normalize (transformedNormal);
|
||||
frag_Color = Color;
|
||||
frag_Coords = Coords;
|
||||
frag_Shine = Shine;
|
||||
|
||||
// Apply all matrix transformations to 'Site'.
|
||||
//
|
||||
gl_Position = mvp_Transform * (transformedPosition * vec4 (Scale, 1));
|
||||
}
|
||||
@@ -0,0 +1,132 @@
|
||||
#version 140
|
||||
|
||||
struct light
|
||||
{
|
||||
vec4 Site;
|
||||
vec3 Color;
|
||||
float Attenuation;
|
||||
float ambient_Coefficient;
|
||||
float cone_Angle;
|
||||
vec3 cone_Direction;
|
||||
};
|
||||
|
||||
|
||||
uniform mat4 model_Transform;
|
||||
uniform mat3 inverse_model_Rotation;
|
||||
uniform vec3 camera_Site;
|
||||
uniform vec3 specular_Color; // The materials specular color.
|
||||
uniform sampler2D Texture;
|
||||
uniform int light_Count;
|
||||
uniform light Lights [10];
|
||||
|
||||
|
||||
in vec3 frag_Site;
|
||||
in vec3 frag_Normal;
|
||||
in vec4 frag_Color;
|
||||
in vec2 frag_Coords;
|
||||
in float frag_Shine;
|
||||
|
||||
out vec4 final_Color;
|
||||
|
||||
|
||||
vec3
|
||||
apply_Light (light Light,
|
||||
vec3 surface_Color,
|
||||
vec3 Normal,
|
||||
vec3 surface_Site,
|
||||
vec3 Surface_to_Camera)
|
||||
{
|
||||
vec3 Surface_to_Light;
|
||||
float Attenuation = 1.0;
|
||||
|
||||
if (Light.Site.w == 0.0)
|
||||
{
|
||||
// Directional light.
|
||||
//
|
||||
Surface_to_Light = normalize (-Light.Site.xyz);
|
||||
Attenuation = 1.0; // No attenuation for directional lights.
|
||||
}
|
||||
else
|
||||
{
|
||||
// Difuse light.
|
||||
//
|
||||
vec3 Surface_to_Light_vector = Light.Site.xyz - surface_Site;
|
||||
float Distance_to_Light = length (Surface_to_Light_vector);
|
||||
|
||||
Surface_to_Light = normalize (Surface_to_Light_vector);
|
||||
Attenuation = 1.0
|
||||
/ ( 1.0
|
||||
+ Light.Attenuation
|
||||
* pow (Distance_to_Light, 2));
|
||||
|
||||
// Cone restrictions which affects attenuation.
|
||||
//
|
||||
float Light_to_Surface_Angle = degrees (acos (dot (-Surface_to_Light,
|
||||
normalize (Light.cone_Direction))));
|
||||
|
||||
if (Light_to_Surface_Angle > Light.cone_Angle)
|
||||
{
|
||||
Attenuation = 0.0;
|
||||
}
|
||||
}
|
||||
|
||||
vec3 lit_surface_Color = surface_Color * Light.Color;
|
||||
vec3 Ambient = Light.ambient_Coefficient * lit_surface_Color;
|
||||
float diffuse_Coefficient = max (0.0,
|
||||
dot (Normal,
|
||||
Surface_to_Light));
|
||||
vec3 Diffuse = diffuse_Coefficient * lit_surface_Color;
|
||||
float specular_Coefficient = 0.0;
|
||||
|
||||
if (diffuse_Coefficient > 0.0)
|
||||
specular_Coefficient = pow (max (0.0,
|
||||
dot (Surface_to_Camera,
|
||||
reflect (-Surface_to_Light,
|
||||
Normal))),
|
||||
frag_Shine);
|
||||
|
||||
vec3 Specular = specular_Coefficient * specular_Color * Light.Color;
|
||||
|
||||
return Ambient + Attenuation * (Diffuse + Specular); // Linear color (before gamma correction).
|
||||
}
|
||||
|
||||
|
||||
|
||||
void
|
||||
main()
|
||||
{
|
||||
vec4 texture_Color = texture (Texture, frag_Coords);
|
||||
|
||||
vec4 surface_Color = vec4 (mix (texture_Color.rgb,
|
||||
frag_Color .rgb,
|
||||
0.5),
|
||||
texture_Color.a
|
||||
* frag_Color .a);
|
||||
|
||||
vec3 surface_Site = vec3 ( model_Transform
|
||||
* vec4 (frag_Site, 1));
|
||||
|
||||
|
||||
vec3 Surface_to_Camera = normalize (camera_Site - surface_Site);
|
||||
vec3 Normal = normalize ( frag_Normal
|
||||
* inverse_model_Rotation);
|
||||
|
||||
// Combine color from all the lights.
|
||||
//
|
||||
vec3 linear_Color = vec3 (0);
|
||||
|
||||
for (int i = 0; i < light_Count; ++i)
|
||||
{
|
||||
linear_Color += apply_Light (Lights [i],
|
||||
surface_Color.rgb,
|
||||
Normal,
|
||||
surface_Site,
|
||||
Surface_to_Camera);
|
||||
}
|
||||
|
||||
vec3 Gamma = vec3 (1.0 / 2.2);
|
||||
|
||||
final_Color = vec4 (pow (linear_Color, // Final color (after gamma correction).
|
||||
Gamma),
|
||||
surface_Color.a);
|
||||
}
|
||||
@@ -0,0 +1,126 @@
|
||||
#version 140
|
||||
|
||||
struct light
|
||||
{
|
||||
vec4 Site;
|
||||
vec3 Color;
|
||||
float Attenuation;
|
||||
float ambient_Coefficient;
|
||||
float cone_Angle;
|
||||
vec3 cone_Direction;
|
||||
};
|
||||
|
||||
|
||||
uniform mat4 model_Transform;
|
||||
uniform mat3 inverse_model_Rotation;
|
||||
uniform vec3 camera_Site;
|
||||
uniform vec3 specular_Color; // The materials specular color.
|
||||
uniform sampler2D Texture;
|
||||
uniform int light_Count;
|
||||
uniform light Lights [10];
|
||||
|
||||
|
||||
in vec3 frag_Site;
|
||||
in vec3 frag_Normal;
|
||||
in vec4 frag_Color;
|
||||
in vec2 frag_Coords;
|
||||
in float frag_Shine;
|
||||
|
||||
out vec4 final_Color;
|
||||
|
||||
|
||||
vec3
|
||||
apply_Light (light Light,
|
||||
vec3 surface_Color,
|
||||
vec3 Normal,
|
||||
vec3 surface_Site,
|
||||
vec3 Surface_to_Camera)
|
||||
{
|
||||
vec3 Surface_to_Light;
|
||||
float Attenuation = 1.0;
|
||||
|
||||
if (Light.Site.w == 0.0)
|
||||
{
|
||||
// Directional light.
|
||||
//
|
||||
Surface_to_Light = normalize (-Light.Site.xyz);
|
||||
Attenuation = 1.0; // No attenuation for directional lights.
|
||||
}
|
||||
else
|
||||
{
|
||||
// Point light.
|
||||
//
|
||||
vec3 Surface_to_Light_vector = Light.Site.xyz - surface_Site;
|
||||
float Distance_to_Light = length (Surface_to_Light_vector);
|
||||
|
||||
Surface_to_Light = normalize (Surface_to_Light_vector);
|
||||
Attenuation = 1.0
|
||||
/ ( 1.0
|
||||
+ Light.Attenuation
|
||||
* pow (Distance_to_Light, 2));
|
||||
|
||||
// Cone restrictions which affects attenuation.
|
||||
//
|
||||
float Light_to_Surface_Angle = degrees (acos (dot (-Surface_to_Light,
|
||||
normalize (Light.cone_Direction))));
|
||||
|
||||
if (Light_to_Surface_Angle > Light.cone_Angle)
|
||||
{
|
||||
Attenuation = 0.0;
|
||||
}
|
||||
}
|
||||
|
||||
vec3 lit_surface_Color = surface_Color * Light.Color;
|
||||
vec3 Ambient = Light.ambient_Coefficient * lit_surface_Color;
|
||||
float diffuse_Coefficient = max (0.0,
|
||||
dot (Normal,
|
||||
Surface_to_Light));
|
||||
vec3 Diffuse = diffuse_Coefficient * lit_surface_Color;
|
||||
float specular_Coefficient = 0.0;
|
||||
|
||||
if (diffuse_Coefficient > 0.0)
|
||||
specular_Coefficient = pow (max (0.0,
|
||||
dot (Surface_to_Camera,
|
||||
reflect (-Surface_to_Light,
|
||||
Normal))),
|
||||
frag_Shine);
|
||||
|
||||
vec3 Specular = specular_Coefficient * specular_Color * Light.Color;
|
||||
|
||||
return Ambient + Attenuation * (Diffuse + Specular); // Linear color (before gamma correction).
|
||||
}
|
||||
|
||||
|
||||
|
||||
void
|
||||
main()
|
||||
{
|
||||
vec3 surface_Site = vec3 ( model_Transform
|
||||
* vec4 (frag_Site, 1));
|
||||
|
||||
vec4 surface_Color = mix (texture (Texture, frag_Coords),
|
||||
frag_Color,
|
||||
0.5);
|
||||
|
||||
vec3 Surface_to_Camera = normalize (camera_Site - surface_Site);
|
||||
vec3 Normal = normalize (frag_Normal * inverse_model_Rotation);
|
||||
|
||||
// Combine color from all the lights.
|
||||
//
|
||||
vec3 linear_Color = vec3 (0);
|
||||
|
||||
for (int i = 0; i < light_Count; ++i)
|
||||
{
|
||||
linear_Color += apply_Light (Lights [i],
|
||||
surface_Color.rgb,
|
||||
Normal,
|
||||
surface_Site,
|
||||
Surface_to_Camera);
|
||||
}
|
||||
|
||||
vec3 Gamma = vec3 (1.0 / 2.2);
|
||||
|
||||
final_Color = vec4 (pow (linear_Color, // Final color (after gamma correction).
|
||||
Gamma),
|
||||
surface_Color.a);
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
#version 140
|
||||
|
||||
uniform mat4 mvp_Transform;
|
||||
uniform vec3 Scale;
|
||||
|
||||
in vec3 Site;
|
||||
in vec3 Normal;
|
||||
in vec4 Color;
|
||||
in vec2 Coords;
|
||||
in float Shine;
|
||||
|
||||
out vec3 frag_Site;
|
||||
out vec3 frag_Normal;
|
||||
out vec4 frag_Color;
|
||||
out vec2 frag_Coords;
|
||||
out float frag_Shine;
|
||||
|
||||
|
||||
void main()
|
||||
{
|
||||
// Pass some variables to the fragment shader.
|
||||
//
|
||||
frag_Site = Site;
|
||||
frag_Normal = Normal;
|
||||
frag_Color = Color;
|
||||
frag_Coords = Coords;
|
||||
frag_Shine = Shine;
|
||||
|
||||
// Apply all matrix transformations to 'Site'.
|
||||
//
|
||||
gl_Position = mvp_Transform * vec4 (Site * Scale, 1);
|
||||
}
|
||||
@@ -0,0 +1,127 @@
|
||||
#version 140
|
||||
|
||||
struct light
|
||||
{
|
||||
vec4 Site;
|
||||
vec3 Color;
|
||||
float Attenuation;
|
||||
float ambient_Coefficient;
|
||||
float cone_Angle;
|
||||
vec3 cone_Direction;
|
||||
};
|
||||
|
||||
|
||||
uniform mat4 model_Transform;
|
||||
uniform mat3 inverse_model_Rotation;
|
||||
uniform vec3 camera_Site;
|
||||
uniform vec3 specular_Color; // The materials specular color.
|
||||
uniform sampler2D Texture;
|
||||
uniform int light_Count;
|
||||
uniform light Lights [10];
|
||||
|
||||
|
||||
in vec3 frag_Site;
|
||||
in vec3 frag_Normal;
|
||||
in vec4 frag_Color;
|
||||
in vec2 frag_Coords;
|
||||
in float frag_Shine;
|
||||
|
||||
out vec4 final_Color;
|
||||
|
||||
|
||||
vec3
|
||||
apply_Light (light Light,
|
||||
vec3 surface_Color,
|
||||
vec3 Normal,
|
||||
vec3 surface_Site,
|
||||
vec3 Surface_to_Camera)
|
||||
{
|
||||
vec3 Surface_to_Light;
|
||||
float Attenuation = 1.0;
|
||||
|
||||
if (Light.Site.w == 0.0)
|
||||
{
|
||||
// Directional light.
|
||||
//
|
||||
Surface_to_Light = normalize (-Light.Site.xyz);
|
||||
Attenuation = 1.0; // No attenuation for directional lights.
|
||||
}
|
||||
else
|
||||
{
|
||||
// Point light.
|
||||
//
|
||||
vec3 Surface_to_Light_vector = Light.Site.xyz - surface_Site;
|
||||
float Distance_to_Light = length (Surface_to_Light_vector);
|
||||
|
||||
Surface_to_Light = normalize (Surface_to_Light_vector);
|
||||
Attenuation = 1.0
|
||||
/ ( 1.0
|
||||
+ Light.Attenuation
|
||||
* pow (Distance_to_Light, 2));
|
||||
|
||||
// Cone restrictions which affects attenuation.
|
||||
//
|
||||
float Light_to_Surface_Angle = degrees (acos (dot (-Surface_to_Light,
|
||||
normalize (Light.cone_Direction))));
|
||||
|
||||
if (Light_to_Surface_Angle > Light.cone_Angle)
|
||||
{
|
||||
Attenuation = 0.0;
|
||||
}
|
||||
}
|
||||
|
||||
vec3 lit_surface_Color = surface_Color * Light.Color;
|
||||
vec3 Ambient = Light.ambient_Coefficient * lit_surface_Color;
|
||||
float diffuse_Coefficient = max (0.0,
|
||||
dot (Normal,
|
||||
Surface_to_Light));
|
||||
vec3 Diffuse = diffuse_Coefficient * lit_surface_Color;
|
||||
float specular_Coefficient = 0.0;
|
||||
|
||||
if (diffuse_Coefficient > 0.0)
|
||||
specular_Coefficient = pow (max (0.0,
|
||||
dot (Surface_to_Camera,
|
||||
reflect (-Surface_to_Light,
|
||||
Normal))),
|
||||
frag_Shine);
|
||||
|
||||
vec3 Specular = specular_Coefficient * specular_Color * Light.Color;
|
||||
|
||||
return Ambient + Attenuation * (Diffuse + Specular); // Linear color (before gamma correction).
|
||||
}
|
||||
|
||||
|
||||
|
||||
void
|
||||
main()
|
||||
{
|
||||
vec3 surface_Site = vec3 ( model_Transform
|
||||
* vec4 (frag_Site, 1));
|
||||
|
||||
vec4 surface_Color = mix (texture (Texture, frag_Coords),
|
||||
frag_Color,
|
||||
0.5);
|
||||
|
||||
vec3 Surface_to_Camera = normalize (camera_Site - surface_Site);
|
||||
vec3 Normal = normalize ( frag_Normal
|
||||
* inverse_model_Rotation);
|
||||
|
||||
// Combine color from all the lights.
|
||||
//
|
||||
vec3 linear_Color = vec3 (0);
|
||||
|
||||
for (int i = 0; i < light_Count; ++i)
|
||||
{
|
||||
linear_Color += apply_Light (Lights [i],
|
||||
surface_Color.rgb,
|
||||
Normal,
|
||||
surface_Site,
|
||||
Surface_to_Camera);
|
||||
}
|
||||
|
||||
vec3 Gamma = vec3 (1.0 / 2.2);
|
||||
|
||||
final_Color = vec4 (pow (linear_Color, // Final color (after gamma correction).
|
||||
Gamma),
|
||||
surface_Color.a);
|
||||
}
|
||||
@@ -0,0 +1,114 @@
|
||||
#version 140
|
||||
|
||||
uniform mat4 mvp_Transform;
|
||||
uniform vec3 Scale;
|
||||
uniform mat4 bone_Matrices[120];
|
||||
|
||||
in vec3 Site;
|
||||
in vec3 Normal;
|
||||
in vec4 Color;
|
||||
in vec2 Coords;
|
||||
in float Shine;
|
||||
in vec4 bone_Ids;
|
||||
in vec4 bone_Weights;
|
||||
|
||||
out vec3 frag_Site;
|
||||
out vec3 frag_Normal;
|
||||
out vec4 frag_Color;
|
||||
out vec2 frag_Coords;
|
||||
out float frag_Shine;
|
||||
|
||||
const float c_zero = 0.0;
|
||||
const float c_one = 1.0;
|
||||
|
||||
|
||||
void main()
|
||||
{
|
||||
vec4 transformedPosition = vec4 (0.0);
|
||||
vec3 transformedNormal = vec3 (0.0);
|
||||
|
||||
if (int (bone_Ids.x) == 0) // No bones affect this vertex.
|
||||
{
|
||||
transformedPosition = vec4 (Site, c_one);
|
||||
transformedNormal = Normal;
|
||||
}
|
||||
else
|
||||
{
|
||||
// Bone 1.
|
||||
//
|
||||
mat4 m44 = bone_Matrices [int (bone_Ids.x) - 1];
|
||||
|
||||
// Transform the offset by bone 1.
|
||||
transformedPosition += m44 * vec4 (Site, c_one) * bone_Weights.x;
|
||||
|
||||
mat3 m33 = mat3 (m44[0].xyz,
|
||||
m44[1].xyz,
|
||||
m44[2].xyz);
|
||||
|
||||
// Transform the normal by bone 1.
|
||||
transformedNormal += m33 * Normal * bone_Weights.x;
|
||||
|
||||
if (int (bone_Ids.y) != 0)
|
||||
{
|
||||
// Bone 2.
|
||||
//
|
||||
m44 = bone_Matrices [int (bone_Ids.y) - 1];
|
||||
|
||||
// Transform the offset by bone 2.
|
||||
transformedPosition += m44 * vec4 (Site, c_one) * bone_Weights.y;
|
||||
|
||||
m33 = mat3 (m44[0].xyz,
|
||||
m44[1].xyz,
|
||||
m44[2].xyz);
|
||||
|
||||
// Transform the normal by bone 2.
|
||||
transformedNormal += m33 * Normal * bone_Weights.y;
|
||||
|
||||
if (int (bone_Ids.z) != 0)
|
||||
{
|
||||
// Bone 3.
|
||||
//
|
||||
m44 = bone_Matrices [int (bone_Ids.z) - 1];
|
||||
|
||||
// Transform the offset by bone 3.
|
||||
transformedPosition += m44 * vec4 (Site, c_one) * bone_Weights.z;
|
||||
|
||||
m33 = mat3(m44[0].xyz,
|
||||
m44[1].xyz,
|
||||
m44[2].xyz);
|
||||
|
||||
// Transform the normal by bone 3.
|
||||
transformedNormal += m33 * Normal * bone_Weights.z;
|
||||
|
||||
if (int (bone_Ids.w) != 0)
|
||||
{
|
||||
// Bone 4.
|
||||
//
|
||||
m44 = bone_Matrices [int (bone_Ids.w) - 1];
|
||||
|
||||
// Transform the offset by bone 4.
|
||||
transformedPosition += m44 * vec4 (Site, c_one) * bone_Weights.w;
|
||||
|
||||
m33 = mat3 (m44[0].xyz,
|
||||
m44[1].xyz,
|
||||
m44[2].xyz);
|
||||
|
||||
// Transform the normal by bone 4.
|
||||
transformedNormal += m33 * Normal * bone_Weights.w;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Pass some variables to the fragment shader.
|
||||
//
|
||||
frag_Site = Site;
|
||||
frag_Normal = normalize (transformedNormal);
|
||||
frag_Color = Color;
|
||||
frag_Coords = Coords;
|
||||
frag_Shine = Shine;
|
||||
|
||||
// Apply all matrix transformations to 'Site'.
|
||||
//
|
||||
gl_Position = mvp_Transform * (transformedPosition * vec4 (Scale, 1));
|
||||
}
|
||||
@@ -0,0 +1,124 @@
|
||||
#version 140
|
||||
|
||||
struct light
|
||||
{
|
||||
vec4 Site;
|
||||
vec3 Color;
|
||||
float Attenuation;
|
||||
float ambient_Coefficient;
|
||||
float cone_Angle;
|
||||
vec3 cone_Direction;
|
||||
};
|
||||
|
||||
|
||||
uniform mat4 model_Transform;
|
||||
uniform mat3 inverse_model_Rotation;
|
||||
uniform vec3 camera_Site;
|
||||
uniform vec3 specular_Color; // The materials specular color.
|
||||
uniform sampler2D Texture;
|
||||
uniform int light_Count;
|
||||
uniform light Lights [10];
|
||||
|
||||
|
||||
in vec3 frag_Site;
|
||||
in vec3 frag_Normal;
|
||||
in vec2 frag_Coords;
|
||||
in float frag_Shine;
|
||||
|
||||
out vec4 final_Color;
|
||||
|
||||
|
||||
vec3
|
||||
apply_Light (light Light,
|
||||
vec3 surface_Color,
|
||||
vec3 Normal,
|
||||
vec3 surface_Site,
|
||||
vec3 Surface_to_Camera)
|
||||
{
|
||||
vec3 Surface_to_Light;
|
||||
float Attenuation = 1.0;
|
||||
|
||||
if (Light.Site.w == 0.0)
|
||||
{
|
||||
// Directional light.
|
||||
//
|
||||
Surface_to_Light = normalize (-Light.Site.xyz);
|
||||
Attenuation = 1.0; // No attenuation for directional lights.
|
||||
}
|
||||
else
|
||||
{
|
||||
// Point light.
|
||||
//
|
||||
vec3 Surface_to_Light_vector = Light.Site.xyz - surface_Site;
|
||||
float Distance_to_Light = length (Surface_to_Light_vector);
|
||||
|
||||
Surface_to_Light = normalize (Surface_to_Light_vector);
|
||||
Attenuation = 1.0
|
||||
/ ( 1.0
|
||||
+ Light.Attenuation
|
||||
* pow (Distance_to_Light, 2));
|
||||
|
||||
// Cone restrictions which affects attenuation.
|
||||
//
|
||||
float Light_to_Surface_Angle = degrees (acos (dot (-Surface_to_Light,
|
||||
normalize (Light.cone_Direction))));
|
||||
|
||||
if (Light_to_Surface_Angle > Light.cone_Angle)
|
||||
{
|
||||
Attenuation = 0.0;
|
||||
}
|
||||
}
|
||||
|
||||
vec3 lit_surface_Color = surface_Color * Light.Color;
|
||||
vec3 Ambient = Light.ambient_Coefficient * lit_surface_Color;
|
||||
float diffuse_Coefficient = max (0.0,
|
||||
dot (Normal,
|
||||
Surface_to_Light));
|
||||
vec3 Diffuse = diffuse_Coefficient * lit_surface_Color;
|
||||
float specular_Coefficient = 0.0;
|
||||
|
||||
if (diffuse_Coefficient > 0.0)
|
||||
specular_Coefficient = pow (max (0.0,
|
||||
dot (Surface_to_Camera,
|
||||
reflect (-Surface_to_Light,
|
||||
Normal))),
|
||||
frag_Shine);
|
||||
|
||||
vec3 Specular = specular_Coefficient * specular_Color * Light.Color;
|
||||
|
||||
return Ambient + Attenuation * (Diffuse + Specular); // Linear color (before gamma correction).
|
||||
}
|
||||
|
||||
|
||||
|
||||
void
|
||||
main()
|
||||
{
|
||||
vec3 surface_Site = vec3 ( model_Transform
|
||||
* vec4 (frag_Site, 1));
|
||||
|
||||
vec4 surface_Color = texture (Texture, frag_Coords);
|
||||
|
||||
vec3 Surface_to_Camera = normalize (camera_Site - surface_Site);
|
||||
vec3 Normal = normalize ( frag_Normal
|
||||
* inverse_model_Rotation);
|
||||
|
||||
// Combine color from all the lights.
|
||||
//
|
||||
vec3 linear_Color = vec3 (0);
|
||||
|
||||
for (int i = 0; i < light_Count; ++i)
|
||||
{
|
||||
linear_Color += apply_Light (Lights [i],
|
||||
surface_Color.rgb,
|
||||
Normal,
|
||||
surface_Site,
|
||||
Surface_to_Camera);
|
||||
}
|
||||
|
||||
vec3 Gamma = vec3 (1.0 / 2.2);
|
||||
|
||||
final_Color = vec4 (pow (linear_Color, // Final color (after gamma correction).
|
||||
Gamma),
|
||||
surface_Color.a);
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
#version 140
|
||||
|
||||
uniform mat4 mvp_Transform;
|
||||
uniform vec3 Scale;
|
||||
|
||||
in vec3 Site;
|
||||
in vec3 Normal;
|
||||
in vec2 Coords;
|
||||
in float Shine;
|
||||
|
||||
out vec3 frag_Site;
|
||||
out vec3 frag_Normal;
|
||||
out vec2 frag_Coords;
|
||||
out float frag_Shine;
|
||||
|
||||
|
||||
void main()
|
||||
{
|
||||
// Pass some variables to the fragment shader.
|
||||
//
|
||||
frag_Site = Site;
|
||||
frag_Normal = Normal;
|
||||
frag_Coords = Coords;
|
||||
frag_Shine = Shine;
|
||||
|
||||
// Apply all matrix transformations to 'Site'.
|
||||
//
|
||||
gl_Position = mvp_Transform * vec4 (Site * Scale, 1);
|
||||
}
|
||||
@@ -0,0 +1,124 @@
|
||||
#version 140
|
||||
|
||||
struct light
|
||||
{
|
||||
vec4 Site;
|
||||
vec3 Color;
|
||||
float Attenuation;
|
||||
float ambient_Coefficient;
|
||||
float cone_Angle;
|
||||
vec3 cone_Direction;
|
||||
};
|
||||
|
||||
|
||||
uniform mat4 model_Transform;
|
||||
uniform mat3 inverse_model_Rotation;
|
||||
uniform vec3 camera_Site;
|
||||
uniform vec3 specular_Color; // The materials specular color.
|
||||
uniform sampler2D Texture;
|
||||
uniform int light_Count;
|
||||
uniform light Lights [10];
|
||||
|
||||
|
||||
in vec3 frag_Site;
|
||||
in vec3 frag_Normal;
|
||||
in vec2 frag_Coords;
|
||||
in float frag_Shine;
|
||||
|
||||
out vec4 final_Color;
|
||||
|
||||
|
||||
vec3
|
||||
apply_Light (light Light,
|
||||
vec3 surface_Color,
|
||||
vec3 Normal,
|
||||
vec3 surface_Site,
|
||||
vec3 Surface_to_Camera)
|
||||
{
|
||||
vec3 Surface_to_Light;
|
||||
float Attenuation = 1.0;
|
||||
|
||||
if (Light.Site.w == 0.0)
|
||||
{
|
||||
// Directional light.
|
||||
//
|
||||
Surface_to_Light = normalize (-Light.Site.xyz);
|
||||
Attenuation = 1.0; // No attenuation for directional lights.
|
||||
}
|
||||
else
|
||||
{
|
||||
// Point light.
|
||||
//
|
||||
vec3 Surface_to_Light_vector = Light.Site.xyz - surface_Site;
|
||||
float Distance_to_Light = length (Surface_to_Light_vector);
|
||||
|
||||
Surface_to_Light = normalize (Surface_to_Light_vector);
|
||||
Attenuation = 1.0
|
||||
/ ( 1.0
|
||||
+ Light.Attenuation
|
||||
* pow (Distance_to_Light, 2));
|
||||
|
||||
// Cone restrictions which affects attenuation.
|
||||
//
|
||||
float Light_to_Surface_Angle = degrees (acos (dot (-Surface_to_Light,
|
||||
normalize (Light.cone_Direction))));
|
||||
|
||||
if (Light_to_Surface_Angle > Light.cone_Angle)
|
||||
{
|
||||
Attenuation = 0.0;
|
||||
}
|
||||
}
|
||||
|
||||
vec3 lit_surface_Color = surface_Color * Light.Color;
|
||||
vec3 Ambient = Light.ambient_Coefficient * lit_surface_Color;
|
||||
float diffuse_Coefficient = max (0.0,
|
||||
dot (Normal,
|
||||
Surface_to_Light));
|
||||
vec3 Diffuse = diffuse_Coefficient * lit_surface_Color;
|
||||
float specular_Coefficient = 0.0;
|
||||
|
||||
if (diffuse_Coefficient > 0.0)
|
||||
specular_Coefficient = pow (max (0.0,
|
||||
dot (Surface_to_Camera,
|
||||
reflect (-Surface_to_Light,
|
||||
Normal))),
|
||||
frag_Shine);
|
||||
|
||||
vec3 Specular = specular_Coefficient * specular_Color * Light.Color;
|
||||
|
||||
return Ambient + Attenuation * (Diffuse + Specular); // Linear color (before gamma correction).
|
||||
}
|
||||
|
||||
|
||||
|
||||
void
|
||||
main()
|
||||
{
|
||||
vec3 surface_Site = vec3 ( model_Transform
|
||||
* vec4 (frag_Site, 1));
|
||||
|
||||
vec4 surface_Color = texture (Texture, frag_Coords);
|
||||
|
||||
vec3 Surface_to_Camera = normalize (camera_Site - surface_Site);
|
||||
vec3 Normal = normalize ( frag_Normal
|
||||
* inverse_model_Rotation);
|
||||
|
||||
// Combine color from all the lights.
|
||||
//
|
||||
vec3 linear_Color = vec3 (0);
|
||||
|
||||
for (int i = 0; i < light_Count; ++i)
|
||||
{
|
||||
linear_Color += apply_Light (Lights [i],
|
||||
surface_Color.rgb,
|
||||
Normal,
|
||||
surface_Site,
|
||||
Surface_to_Camera);
|
||||
}
|
||||
|
||||
vec3 Gamma = vec3 (1.0 / 2.2);
|
||||
|
||||
final_Color = vec4 (pow (linear_Color, // Final color (after gamma correction).
|
||||
Gamma),
|
||||
surface_Color.a);
|
||||
}
|
||||
@@ -0,0 +1,116 @@
|
||||
#version 140
|
||||
|
||||
uniform mat4 mvp_Transform;
|
||||
uniform vec3 Scale;
|
||||
uniform mat4 bone_Matrices[120];
|
||||
|
||||
|
||||
in vec3 Site;
|
||||
in vec3 Normal;
|
||||
in vec2 Coords;
|
||||
in float Shine;
|
||||
|
||||
in vec4 bone_Ids;
|
||||
in vec4 bone_Weights;
|
||||
|
||||
|
||||
out vec3 frag_Site;
|
||||
out vec3 frag_Normal;
|
||||
out vec2 frag_Coords;
|
||||
out float frag_Shine;
|
||||
|
||||
const float c_zero = 0.0;
|
||||
const float c_one = 1.0;
|
||||
|
||||
|
||||
void main()
|
||||
{
|
||||
vec4 transformedPosition = vec4 (0.0);
|
||||
vec3 transformedNormal = vec3 (0.0);
|
||||
|
||||
if (int (bone_Ids.x) == 0) // No bones affect this vertex.
|
||||
{
|
||||
transformedPosition = vec4 (Site, c_one);
|
||||
transformedNormal = Normal;
|
||||
}
|
||||
else
|
||||
{
|
||||
// Bone 1.
|
||||
//
|
||||
mat4 m44 = bone_Matrices [int (bone_Ids.x) - 1];
|
||||
|
||||
// Transform the offset by bone 1.
|
||||
transformedPosition += m44 * vec4 (Site, c_one) * bone_Weights.x;
|
||||
|
||||
mat3 m33 = mat3 (m44[0].xyz,
|
||||
m44[1].xyz,
|
||||
m44[2].xyz);
|
||||
|
||||
// Transform the normal by bone 1.
|
||||
transformedNormal += m33 * Normal * bone_Weights.x;
|
||||
|
||||
if (int(bone_Ids.y) != 0)
|
||||
{
|
||||
// Bone 2.
|
||||
//
|
||||
m44 = bone_Matrices [int (bone_Ids.y) - 1];
|
||||
|
||||
// Transform the offset by bone 2.
|
||||
transformedPosition += m44 * vec4 (Site, c_one) * bone_Weights.y;
|
||||
|
||||
m33 = mat3 (m44[0].xyz,
|
||||
m44[1].xyz,
|
||||
m44[2].xyz);
|
||||
|
||||
// Transform the normal by bone 2.
|
||||
transformedNormal += m33 * Normal * bone_Weights.y;
|
||||
|
||||
if (int (bone_Ids.z) != 0)
|
||||
{
|
||||
// Bone 3.
|
||||
//
|
||||
m44 = bone_Matrices [int (bone_Ids.z) - 1];
|
||||
|
||||
// Transform the offset by bone 3.
|
||||
transformedPosition += m44 * vec4 (Site, c_one) * bone_Weights.z;
|
||||
|
||||
m33 = mat3 (m44[0].xyz,
|
||||
m44[1].xyz,
|
||||
m44[2].xyz);
|
||||
|
||||
// Transform the normal by bone 3.
|
||||
transformedNormal += m33 * Normal * bone_Weights.z;
|
||||
|
||||
if (int (bone_Ids.w) != 0)
|
||||
{
|
||||
// Bone 4.
|
||||
//
|
||||
m44 = bone_Matrices [int (bone_Ids.w) - 1];
|
||||
|
||||
// Transform the offset by bone 4.
|
||||
transformedPosition += m44 * vec4 (Site, c_one) * bone_Weights.w;
|
||||
|
||||
m33 = mat3 (m44[0].xyz,
|
||||
m44[1].xyz,
|
||||
m44[2].xyz);
|
||||
|
||||
// Transform the normal by bone 4.
|
||||
transformedNormal += m33 * Normal * bone_Weights.w;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Pass some variables to the fragment shader.
|
||||
//
|
||||
frag_Site = transformedPosition.xyz * Scale;
|
||||
frag_Normal = normalize (transformedNormal);
|
||||
frag_Coords = Coords;
|
||||
frag_Shine = Shine;
|
||||
|
||||
// Apply all matrix transformations to 'Site'.
|
||||
//
|
||||
gl_Position = mvp_Transform * transformedPosition;
|
||||
gl_Position = mvp_Transform * (transformedPosition * vec4 (Scale, 1));
|
||||
}
|
||||
@@ -0,0 +1,69 @@
|
||||
#version 120
|
||||
|
||||
struct directional_light
|
||||
{
|
||||
vec3 direction; // Normalized light direction in eye space.
|
||||
vec3 halfplane; // Normalized half-plane vector.
|
||||
|
||||
vec4 ambient_color;
|
||||
vec4 diffuse_color;
|
||||
vec4 specular_color;
|
||||
|
||||
bool is_on;
|
||||
};
|
||||
|
||||
|
||||
uniform mat3 inv_modelview_Matrix;
|
||||
uniform directional_light uLights [8];
|
||||
uniform float uShine;
|
||||
|
||||
|
||||
attribute vec3 aNormal;
|
||||
attribute vec4 aColor;
|
||||
|
||||
|
||||
varying vec4 vColor;
|
||||
|
||||
|
||||
const float c_zero = 0.0;
|
||||
const float c_one = 1.0;
|
||||
|
||||
|
||||
|
||||
vec4 // Returns the computed color.
|
||||
directional_light_color (in vec3 normal, // 'normal' has been transformed into eye space and normalized.
|
||||
in directional_light light)
|
||||
{
|
||||
if (!light.is_on)
|
||||
return vec4 (0.0, 0.0, 0.0, 0.0);
|
||||
|
||||
vec4 computed_color = vec4 (c_zero, c_zero, c_zero, c_zero);
|
||||
float NdotL; // Dot product of normal and light direction.
|
||||
float NdotH; // Dot product of normal and half-plane vector.
|
||||
|
||||
NdotL = max (c_zero, dot (normal, light.direction));
|
||||
NdotH = max (c_zero, dot (normal, light.halfplane));
|
||||
|
||||
computed_color += ( light.ambient_color * aColor);
|
||||
computed_color += (NdotL * light.diffuse_color * aColor);
|
||||
|
||||
if (NdotH > c_zero)
|
||||
computed_color += (pow (NdotH, uShine) * aColor * light.specular_color);
|
||||
|
||||
return computed_color;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void main()
|
||||
{
|
||||
vec3 light_Normal = normalize (aNormal) * inv_modelview_Matrix;
|
||||
|
||||
|
||||
vColor = vec4 (0.0, 0.0, 0.0, 0.0);
|
||||
|
||||
for (int i = 0; i < 8; i++)
|
||||
{
|
||||
vColor += directional_light_color (light_Normal, uLights [i]);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
#version 140
|
||||
|
||||
uniform sampler2D sTexture;
|
||||
|
||||
varying vec4 vColor;
|
||||
varying vec2 vCoords;
|
||||
|
||||
|
||||
void main()
|
||||
{
|
||||
gl_FragColor = texture2D (sTexture, vCoords) * vColor; // Modulate light color with texture.
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
#version 140
|
||||
|
||||
uniform mat4 mvp_Transform;
|
||||
uniform vec3 Scale;
|
||||
|
||||
|
||||
attribute vec3 Site;
|
||||
attribute vec2 Coords;
|
||||
|
||||
|
||||
varying vec4 vColor;
|
||||
varying vec2 vCoords;
|
||||
|
||||
|
||||
const float c_zero = 0.0;
|
||||
const float c_one = 1.0;
|
||||
|
||||
|
||||
void main()
|
||||
{
|
||||
gl_Position = mvp_Transform * vec4 (Site * Scale, 1.0);
|
||||
|
||||
vColor = vec4 (1.0, 1.0, 1.0, 1.0);
|
||||
vCoords = Coords;
|
||||
}
|
||||
|
After Width: | Height: | Size: 105 KiB |
|
After Width: | Height: | Size: 34 KiB |
|
After Width: | Height: | Size: 5.1 KiB |
|
After Width: | Height: | Size: 49 KiB |
@@ -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.
|
||||
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
with
|
||||
"gel",
|
||||
"lace_shared";
|
||||
|
||||
project human_rig_Demo
|
||||
is
|
||||
for Object_Dir use "build";
|
||||
for Exec_Dir use ".";
|
||||
for Main use ("launch_human_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 human_rig_Demo;
|
||||
@@ -0,0 +1,110 @@
|
||||
with
|
||||
gel.Window.setup,
|
||||
gel.Applet.gui_world,
|
||||
gel.Camera,
|
||||
gel.Rig,
|
||||
gel.Forge,
|
||||
|
||||
openGL.Model.any,
|
||||
openGL.Light,
|
||||
|
||||
ada.command_Line,
|
||||
ada.Calendar,
|
||||
ada.Exceptions,
|
||||
ada.Text_IO;
|
||||
|
||||
pragma unreferenced (gel.Window.setup);
|
||||
|
||||
|
||||
procedure launch_human_rig_Demo
|
||||
--
|
||||
-- Rigged human model with two animations (jumping and golf swing).
|
||||
--
|
||||
is
|
||||
use ada.Exceptions,
|
||||
ada.Text_IO;
|
||||
|
||||
no_Model : exception;
|
||||
|
||||
begin
|
||||
new_Line;
|
||||
put_Line ("Usage: $ ./launch_human_rig_demo <model_name>");
|
||||
new_Line;
|
||||
put_Line ("model_name := (golfer | jumper)");
|
||||
new_Line;
|
||||
|
||||
declare
|
||||
use gel.Rig,
|
||||
gel.Math,
|
||||
gel.linear_Algebra_3D,
|
||||
openGL,
|
||||
ada.command_Line,
|
||||
ada.Calendar;
|
||||
|
||||
Arg : constant String := (if argument_Count = 0 then raise no_Model with "No model specified."
|
||||
else Argument (1));
|
||||
|
||||
model_Name : constant String := (if Arg = "golfer" then "assets/human-animation-golf.dae"
|
||||
elsif Arg = "jumper" then "assets/human-animation-jump.dae"
|
||||
else raise no_Model with "No model exists for " & Arg);
|
||||
-------------
|
||||
--- Variables
|
||||
--
|
||||
the_Applet : constant gel.Applet.gui_World.view := gel.Forge.new_gui_Applet ("Rig Demo", 1536, 864);
|
||||
the_Rig : aliased gel.Rig.item;
|
||||
the_rig_Model : aliased constant openGL.Model.any.view := openGL.Model.any.new_Model (Model => openGL.to_Asset (model_Name),
|
||||
Texture => openGL.null_Asset,
|
||||
Texture_is_lucid => False);
|
||||
next_render_Time : ada.calendar.Time := ada.calendar.Clock;
|
||||
|
||||
begin
|
||||
the_Applet.gui_Camera.Site_is ((0.0, -10.0, 1.0)); -- Position the camera.
|
||||
the_Applet.gui_Camera.Spin_is (x_Rotation_from (to_Radians (-90.0))); -- Rotate the camera.
|
||||
|
||||
the_Applet.enable_simple_Dolly (1); -- Enable user camera control via keyboard.
|
||||
the_Applet.Dolly.Speed_is (0.05); -- Slow down dolly movement.
|
||||
|
||||
-- Set the lights position and ambient color.
|
||||
--
|
||||
declare
|
||||
Light : openGL.Light.item := the_Applet.Renderer.new_Light;
|
||||
begin
|
||||
Light.Color_is ((255.0 / 255.0,
|
||||
153.0 / 255.0,
|
||||
102.0 / 255.0));
|
||||
|
||||
Light.Site_is ((1000.0, 0.0, 1000.0));
|
||||
|
||||
the_Applet.Renderer.set (Light);
|
||||
end;
|
||||
|
||||
the_Rig.define (the_Applet.gui_World,
|
||||
the_rig_Model.all'Access,
|
||||
Mass => 0.0,
|
||||
is_Kinematic => False);
|
||||
|
||||
the_Rig .Spin_is (x_Rotation_from (to_Radians (-90.0))); -- Orientate the rig.
|
||||
the_Applet.gui_World.add (the_Rig.base_Sprite, and_Children => True); -- Add the rigs armature sprite.
|
||||
|
||||
the_Rig.enable_Graphics;
|
||||
the_Rig.motion_Mode_is (Animation);
|
||||
the_Rig.assume_Pose;
|
||||
|
||||
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_Rig.assume_Pose;
|
||||
the_Applet.freshen; -- Handle any new events and update the screen.
|
||||
|
||||
next_render_Time := next_render_Time + 1.0/60.0;
|
||||
delay until next_render_Time;
|
||||
end loop;
|
||||
|
||||
the_Applet.destroy;
|
||||
end;
|
||||
|
||||
exception
|
||||
when E : no_Model => put_Line (exception_Message (E));
|
||||
new_Line;
|
||||
end launch_human_rig_Demo;
|
||||