{"id":348,"date":"2013-09-10T00:05:08","date_gmt":"2013-09-10T05:05:08","guid":{"rendered":"http:\/\/www.warsam.com\/?page_id=348"},"modified":"2013-10-16T20:13:29","modified_gmt":"2013-10-17T01:13:29","slug":"character-animation-system","status":"publish","type":"page","link":"https:\/\/www.warsam.com\/?page_id=348","title":{"rendered":"Character Animation System"},"content":{"rendered":"<p><iframe loading=\"lazy\" src=\"\/\/player.vimeo.com\/video\/74546070\" width=\"500\" height=\"281\" frameborder=\"0\" webkitallowfullscreen mozallowfullscreen allowfullscreen><\/iframe><br \/>\nThe Character Animation System features\u00a0animation blending\u00a0between frames and animations via\u00a0transformation decomposition.\u00a0Source animation data is exported from <span class=\"bh\">Autodesk 3DS Max<\/span> using <a title=\"3DS Max Exporter\" href=\"https:\/\/www.warsam.com\/?page_id=354\">a custom exporter<\/a> I created which allows <span class=\"bh\">mesh only or animation only data<\/span> to be exported.<\/p>\n<p><span class=\"bh\">Aiming and shooting<\/span> is done by blending between six animations (aiming forward, down and up while still and while shooting) and an <span class=\"bh\">over the shoulder camera<\/span> that is activated when the aiming button is held down. The character movement velocity is extracted from animations.\u00a0I optimized the system from exporter to rendering by <span class=\"bh\">quantizing of animation data<\/span>. This resulted in each key frame in all animations taking up <span class=\"bh\">only 20 bytes<\/span> (instead of 64).<\/p>\n<p>The video above demonstrates the system running in my engine which features <a title=\"Quake III BSP Loader\" href=\"https:\/\/www.warsam.com\/?page_id=361\">Quake III BSP loading<\/a> capability in addition to a <a title=\"Thread-Safe Memory Manager\" href=\"https:\/\/www.warsam.com\/?page_id=329\">Thread-Safe Memory Manager<\/a>.<br \/>\n<div id=\"squelch-taas-accordion-0\" class=\"squelch-taas-accordion squelch-taas-override\" data-active=\"1\" data-disabled=\"false\" data-autoheight=\"false\" data-collapsible=\"true\"><h3 id=\"squelch-taas-header-0\"><a href=\"#squelch-taas-accordion-shortcode-content-0\">Screenshots<\/a><\/h3><div id=\"squelch-taas-accordion-shortcode-content-0\" class=\"squelch-taas-accordion-shortcode-content squelch-taas-accordion-shortcode-content-0\">\r\n\r\r\n\t<div class=\"slideshow_container slideshow_container_style-light\" style=\" \" data-slideshow-id=\"403\" data-style-name=\"style-light\" data-style-version=\"2.3.1\" >\r\r\n\r\r\n\t\t\r\n\r\r\n\t\t<div class=\"slideshow_content\" style=\"display: none;\">\r\r\n\r\r\n\t\t\t<div class=\"slideshow_view\">\r\n\r\r\n\t\t\t\t<div class=\"slideshow_slide slideshow_slide_image\">\r\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t<img src=\"https:\/\/www.warsam.com\/wp-content\/uploads\/2013\/09\/War3Engine_2013_09_11_00_01_00_299.png\" alt=\"War3Engine_2013_09_11_00_01_00_299\" width=\"1920\" height=\"1080\" \/>\r\r\n\t\t\t\t\t\r\n\t\t\t\t\t<div class=\"slideshow_description_box slideshow_transparent\">\r\r\n\t\t\t\t\t\t<div class=\"slideshow_title\">War3Engine_2013_09_11_00_01_00_299<\/div>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t<\/div>\r\r\n\t\t\t\t<\/div>\r\r\n\r\r\n\t\t\t\r\n\t\t\r\n\t\r\n<div style=\"clear: both;\"><\/div><\/div><div class=\"slideshow_view\">\r\n\r\r\n\t\t\t\t<div class=\"slideshow_slide slideshow_slide_image\">\r\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t<img src=\"https:\/\/www.warsam.com\/wp-content\/uploads\/2013\/09\/War3Engine_2013_09_11_00_01_05_292.png\" alt=\"War3Engine_2013_09_11_00_01_05_292\" width=\"1920\" height=\"1080\" \/>\r\r\n\t\t\t\t\t\r\n\t\t\t\t\t<div class=\"slideshow_description_box slideshow_transparent\">\r\r\n\t\t\t\t\t\t<div class=\"slideshow_title\">War3Engine_2013_09_11_00_01_05_292<\/div>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t<\/div>\r\r\n\t\t\t\t<\/div>\r\r\n\r\r\n\t\t\t\r\n\t\t\r\n\t\r\n<div style=\"clear: both;\"><\/div><\/div><div class=\"slideshow_view\">\r\n\r\r\n\t\t\t\t<div class=\"slideshow_slide slideshow_slide_image\">\r\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t<img src=\"https:\/\/www.warsam.com\/wp-content\/uploads\/2013\/09\/War3Engine_2013_09_11_00_01_10_449.png\" alt=\"War3Engine_2013_09_11_00_01_10_449\" width=\"1920\" height=\"1080\" \/>\r\r\n\t\t\t\t\t\r\n\t\t\t\t\t<div class=\"slideshow_description_box slideshow_transparent\">\r\r\n\t\t\t\t\t\t<div class=\"slideshow_title\">War3Engine_2013_09_11_00_01_10_449<\/div>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t<\/div>\r\r\n\t\t\t\t<\/div>\r\r\n\r\r\n\t\t\t\r\n\t\t\r\n\t\r\n<div style=\"clear: both;\"><\/div><\/div><div class=\"slideshow_view\">\r\n\r\r\n\t\t\t\t<div class=\"slideshow_slide slideshow_slide_image\">\r\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t<img src=\"https:\/\/www.warsam.com\/wp-content\/uploads\/2013\/09\/War3Engine_2013_09_11_00_01_17_137.png\" alt=\"War3Engine_2013_09_11_00_01_17_137\" width=\"1920\" height=\"1080\" \/>\r\r\n\t\t\t\t\t\r\n\t\t\t\t\t<div class=\"slideshow_description_box slideshow_transparent\">\r\r\n\t\t\t\t\t\t<div class=\"slideshow_title\">War3Engine_2013_09_11_00_01_17_137<\/div>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t<\/div>\r\r\n\t\t\t\t<\/div>\r\r\n\r\r\n\t\t\t\r\n\t\t\r\n\t\r\n<div style=\"clear: both;\"><\/div><\/div><div class=\"slideshow_view\">\r\n\r\r\n\t\t\t\t<div class=\"slideshow_slide slideshow_slide_image\">\r\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t<img src=\"https:\/\/www.warsam.com\/wp-content\/uploads\/2013\/09\/War3Engine_2013_09_11_00_01_31_123.png\" alt=\"War3Engine_2013_09_11_00_01_31_123\" width=\"1920\" height=\"1080\" \/>\r\r\n\t\t\t\t\t\r\n\t\t\t\t\t<div class=\"slideshow_description_box slideshow_transparent\">\r\r\n\t\t\t\t\t\t<div class=\"slideshow_title\">War3Engine_2013_09_11_00_01_31_123<\/div>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t<\/div>\r\r\n\t\t\t\t<\/div>\r\r\n\r\r\n\t\t\t\r\n\t\t\r\n\t\r\n<div style=\"clear: both;\"><\/div><\/div><div class=\"slideshow_view\">\r\n\r\r\n\t\t\t\t<div class=\"slideshow_slide slideshow_slide_image\">\r\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t<img src=\"https:\/\/www.warsam.com\/wp-content\/uploads\/2013\/09\/War3Engine_2013_09_11_00_01_38_053.png\" alt=\"War3Engine_2013_09_11_00_01_38_053\" width=\"1920\" height=\"1080\" \/>\r\r\n\t\t\t\t\t\r\n\t\t\t\t\t<div class=\"slideshow_description_box slideshow_transparent\">\r\r\n\t\t\t\t\t\t<div class=\"slideshow_title\">War3Engine_2013_09_11_00_01_38_053<\/div>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t<\/div>\r\r\n\t\t\t\t<\/div>\r\r\n\r\r\n\t\t\t\r\n\t\t\r\n\t\r\n<div style=\"clear: both;\"><\/div><\/div><div class=\"slideshow_view\">\r\n\r\r\n\t\t\t\t<div class=\"slideshow_slide slideshow_slide_image\">\r\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t<img src=\"https:\/\/www.warsam.com\/wp-content\/uploads\/2013\/09\/War3Engine_2013_09_11_00_02_10_663.png\" alt=\"War3Engine_2013_09_11_00_02_10_663\" width=\"1920\" height=\"1080\" \/>\r\r\n\t\t\t\t\t\r\n\t\t\t\t\t<div class=\"slideshow_description_box slideshow_transparent\">\r\r\n\t\t\t\t\t\t<div class=\"slideshow_title\">War3Engine_2013_09_11_00_02_10_663<\/div>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t<\/div>\r\r\n\t\t\t\t<\/div>\r\r\n\r\r\n\t\t\t\r\n\t\t\r\n\t\r\n<div style=\"clear: both;\"><\/div><\/div>\r\n\r\r\n\t\t<\/div>\r\r\n\r\r\n\t\t<div class=\"slideshow_controlPanel slideshow_transparent\" style=\"display: none;\"><ul><li class=\"slideshow_togglePlay\" data-play-text=\"Play\" data-pause-text=\"Pause\"><\/li><\/ul><\/div>\r\r\n\r\r\n\t\t<div class=\"slideshow_button slideshow_previous slideshow_transparent\" role=\"button\" data-previous-text=\"Previous\" style=\"display: none;\"><\/div>\r\r\n\t\t<div class=\"slideshow_button slideshow_next slideshow_transparent\" role=\"button\" data-next-text=\"Next\" style=\"display: none;\"><\/div>\r\r\n\r\r\n\t\t<div class=\"slideshow_pagination\" style=\"display: none;\" data-go-to-text=\"Go to slide\"><div class=\"slideshow_pagination_center\"><\/div><\/div>\r\r\n\r\r\n\t\t<!-- WordPress Slideshow Version 2.3.1 -->\r\r\n\r\r\n\t\t\r\n\t<\/div>\r\r\n\r\r\n<\/div><\/div>\n<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The Character Animation System features\u00a0animation blending\u00a0between frames and animations via\u00a0transformation decomposition.\u00a0Source animation data is exported from Autodesk 3DS Max using a custom exporter I created which allows mesh only or animation only data to be exported. Aiming and shooting is<span class=\"ellipsis\">&hellip;<\/span><\/p>\n<div class=\"read-more\"><a href=\"https:\/\/www.warsam.com\/?page_id=348\">Read more &#8250;<\/a><\/div>\n<p><!-- end of .read-more --><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"full-width-page.php","meta":[],"_links":{"self":[{"href":"https:\/\/www.warsam.com\/index.php?rest_route=\/wp\/v2\/pages\/348"}],"collection":[{"href":"https:\/\/www.warsam.com\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.warsam.com\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.warsam.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.warsam.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=348"}],"version-history":[{"count":23,"href":"https:\/\/www.warsam.com\/index.php?rest_route=\/wp\/v2\/pages\/348\/revisions"}],"predecessor-version":[{"id":701,"href":"https:\/\/www.warsam.com\/index.php?rest_route=\/wp\/v2\/pages\/348\/revisions\/701"}],"wp:attachment":[{"href":"https:\/\/www.warsam.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=348"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}