{"id":2237,"date":"2019-05-08T17:31:19","date_gmt":"2019-05-08T15:31:19","guid":{"rendered":"http:\/\/192.168.1.202\/wordpress\/?p=2237"},"modified":"2019-05-08T17:32:33","modified_gmt":"2019-05-08T15:32:33","slug":"montages","status":"publish","type":"post","link":"https:\/\/myrdil.com\/?p=2237","title":{"rendered":"Montages"},"content":{"rendered":"<p>I&#8217;m writing a document to remember the different steps in each blueprint development and, at the moment, I&#8217;m working on montages.<\/p>\n<p><!--more--><\/p>\n<p>A montage is the way to blend animations; for example, if a character is swinging a sword, it may be standing still, or running, or strafing, whatever. So the lower part of the body may be playing an animation while the upper part of the body, usually from the spine up, has to play another animation, in this case swinging a sword.<br \/>\nUnreal will here use two different animations to render a character, an upper part and a lower part. This can be extended to as many parts as needed for very complex animations\/characters.<br \/>\nIn NWN, when a character swings its sword, it stops, plays the swing animation and then resumes its former animation.<br \/>\nNot in Unreal, all animations can be blended one with each other.<br \/>\nYay!<\/p>\n<p>On paper, it&#8217;s cool, when you have to program all of that, it&#8217;s a bit less cool. It&#8217;s the eternal problem of event driven programming: the code is fragmented all over the place.<\/p>\n<p>Just have a loot at what my document looks like for montages &#8211; if you don&#8217;t understand a thing, it&#8217;s ok, I don&#8217;t either.<\/p>\n<table border=\"1\" width=\"100%\" cellspacing=\"0\" cellpadding=\"4\">\n<colgroup>\n<col width=\"128*\" \/>\n<col width=\"128*\" \/> <\/colgroup>\n<tbody>\n<tr valign=\"TOP\">\n<td width=\"50%\">\n<p lang=\"en-US\">Assets, Animations<\/p>\n<\/td>\n<td width=\"50%\">\n<p lang=\"en-US\">Select the animation to build a montage upon \u2192 Right-click \u2192 Create \u2192 Create Anim Montage<\/p>\n<\/td>\n<\/tr>\n<tr valign=\"TOP\">\n<td width=\"50%\">\n<p lang=\"en-US\">Project Preferences<\/p>\n<\/td>\n<td width=\"50%\">\n<p lang=\"en-US\">Create Inputs<\/p>\n<\/td>\n<\/tr>\n<tr valign=\"TOP\">\n<td width=\"50%\">\n<p lang=\"en-US\">Character blueprint Event Graph<\/p>\n<\/td>\n<td width=\"50%\">\n<p lang=\"en-US\">Add Custom Events for the Inputs \u2192 Add Play Anim Montage \u2192 Select the Anim montage in the blueprint<\/p>\n<\/td>\n<\/tr>\n<tr valign=\"TOP\">\n<td width=\"50%\">\n<p lang=\"en-US\">Player Controller<\/p>\n<\/td>\n<td width=\"50%\">\n<p lang=\"en-US\">Add Input Action \u2192 Add GetControlled Pawn \u2192 Cast to our character \u2192 As character, Play Montage \u2192 Set montage to our montage<\/p>\n<\/td>\n<\/tr>\n<tr valign=\"TOP\">\n<td width=\"50%\">\n<p lang=\"en-US\">Animation Blueprint (from the main character blueprint class)<\/p>\n<\/td>\n<td width=\"50%\">\n<p lang=\"en-US\">Anim Graph \u2192 add New Cached Pose blueprint and connect it to the base Anim Graph \u2192 add Use Cached Pose \u2192 connect to as many Layered blend per bone blueprints as necessary.<br \/>\nFor each of those Layered blend per bone, in details, add Config \u2192 Layer Setup \u2192 Add array element and specify which bone to link it to in Bone name (must be the exact skeleton name). Blend depth must be changed to match the weight to give to each bone, not explained so far; Activate Mesh Space Rotation, God only knows why.<br \/>\nFor each Blend pose in the Layered blend per bone blueprint, drag a Slot Default Slot \u2192 select it \u2192 Details panel \u2192 Settings \u2192 Click on magnifying glass to display the Anim Slot Manage panel \u2192 Add slot \u2192 slot name \u2192 select the newly created slot in the Settings panel for our slot. Welcome to Blender user interface, the best there is&#8230; in Hell!<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n","protected":false},"excerpt":{"rendered":"<p>I&#8217;m writing a document to remember the different steps in each blueprint development and, at the moment, I&#8217;m working on montages.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-2237","post","type-post","status-publish","format-standard","hentry","category-news"],"_links":{"self":[{"href":"https:\/\/myrdil.com\/index.php?rest_route=\/wp\/v2\/posts\/2237","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/myrdil.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/myrdil.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/myrdil.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/myrdil.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2237"}],"version-history":[{"count":0,"href":"https:\/\/myrdil.com\/index.php?rest_route=\/wp\/v2\/posts\/2237\/revisions"}],"wp:attachment":[{"href":"https:\/\/myrdil.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2237"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/myrdil.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2237"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/myrdil.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2237"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}