{"id":2970,"date":"2017-05-06T08:01:53","date_gmt":"2017-05-06T15:01:53","guid":{"rendered":"http:\/\/mattfife.com\/?p=2970"},"modified":"2017-05-13T08:07:50","modified_gmt":"2017-05-13T15:07:50","slug":"amazing-real-time-character-control-animation-generated-by-neural-net","status":"publish","type":"post","link":"https:\/\/mattfife.com\/?p=2970","title":{"rendered":"Amazing real-time character control animation generated by neural net"},"content":{"rendered":"<p><iframe loading=\"lazy\" src=\"https:\/\/www.youtube.com\/embed\/Ul0Gilv5wvY\" width=\"560\" height=\"315\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"><\/iframe><\/p>\n<p>Modern day video games have come a long way from Mario the plumber hopping across the screen. Incredibly intricate environments of games today are part of the lure for new gamers and this experience is brought to life by the characters interacting with the scene. However the illusion of the virtual world is disrupted by unnatural movements of the figures in performing actions such as\u00a0turning around suddenly or climbing a hill.<\/p>\n<p><img data-recalc-dims=\"1\" decoding=\"async\" class=\"alignright size-full wp-image-256024\" src=\"https:\/\/hackadaycom.files.wordpress.com\/2017\/05\/pirate-animated-with-ai2.gif?w=640\" alt=\"\" data-attachment-id=\"256024\" data-permalink=\"http:\/\/hackaday.com\/2017\/05\/05\/game-characters-move-better-with-neural-networks\/pirate-animated-with-ai2\/\" data-orig-file=\"https:\/\/hackadaycom.files.wordpress.com\/2017\/05\/pirate-animated-with-ai2.gif?w=800\" data-orig-size=\"270,270\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"pirate-animated-with-AI2\" data-image-description=\"\" data-medium-file=\"https:\/\/hackadaycom.files.wordpress.com\/2017\/05\/pirate-animated-with-ai2.gif?w=800?w=270\" data-large-file=\"https:\/\/hackadaycom.files.wordpress.com\/2017\/05\/pirate-animated-with-ai2.gif?w=800?w=270\" \/>To remedy the abrupt movements, [Daniel Holden et. al] recently <a href=\"http:\/\/theorangeduck.com\/media\/uploads\/other_stuff\/phasefunction.pdf\" target=\"_blank\" rel=\"noopener noreferrer\">published a paper<\/a>\u00a0(PDF)\u00a0and a video showing\u00a0a method to greatly improve the real-time character control mechanism. The proposed system uses a neural network that\u00a0has been trained using a large data set of walking, jumping and other sequences on various terrains.\u00a0The key is breaking down the process of bipedal movement and its cyclic behaviour into a series of sub-steps or phases. Each phase translates to a natural posture for the character while moving. The system precomputes the next-phases offline to conserve computational resources at runtime. Then considering user control, previous pose of the character(including joint positions) and terrain geometry, the consequent\u00a0frame of the animation is computed. The computation is done by a regression network that calculates future position of the joints and a blending function is used for Motion Matching as described in a\u00a0<a href=\"http:\/\/twvideo01.ubm-us.net\/o1\/vault\/gdc2016\/Presentations\/Clavet_Simon_MotionMatching.pdf\" target=\"_blank\" rel=\"noopener noreferrer\">presentation<\/a>\u00a0(PDF)\u00a0and <a href=\"https:\/\/www.youtube.com\/watch?v=4pdcA3mhe0E\" target=\"_blank\" rel=\"noopener noreferrer\">video<\/a> by [Simon Clavet].<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Modern day video games have come a long way from Mario the plumber hopping across the screen. Incredibly intricate environments of games today are part of the lure for new gamers and this experience is brought to life by the characters interacting with the scene. However the illusion of the virtual world is disrupted by unnatural movements of the figures in performing actions such as\u00a0turning around suddenly or climbing a hill. To remedy the abrupt movements, [Daniel Holden et. al]&#8230;<\/p>\n<p class=\"read-more\"><a class=\"btn btn-default\" href=\"https:\/\/mattfife.com\/?p=2970\"> Read More<span class=\"screen-reader-text\">  Read More<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"Amazing real-time character control animation generated by neural net","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[1],"tags":[],"class_list":["post-2970","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p4WECr-LU","jetpack-related-posts":[],"_links":{"self":[{"href":"https:\/\/mattfife.com\/index.php?rest_route=\/wp\/v2\/posts\/2970","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mattfife.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mattfife.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mattfife.com\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/mattfife.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2970"}],"version-history":[{"count":1,"href":"https:\/\/mattfife.com\/index.php?rest_route=\/wp\/v2\/posts\/2970\/revisions"}],"predecessor-version":[{"id":2971,"href":"https:\/\/mattfife.com\/index.php?rest_route=\/wp\/v2\/posts\/2970\/revisions\/2971"}],"wp:attachment":[{"href":"https:\/\/mattfife.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2970"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mattfife.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2970"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mattfife.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2970"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}