The Design, Implementation, and Incorporation of "Hack and Slash" š Animation Into the Unreal Development
Total Page:16
File Type:pdf, Size:1020Kb
Clemson University TigerPrints All Theses Theses 12-2015 THE DESIGN, IMPLEMENTATION, AND INCORPORATION OF "HACK AND SLASH" ANIMATION INTO THE UNREAL DEVELOPMENT KIT Christopher Thomas Clemson University, [email protected] Follow this and additional works at: https://tigerprints.clemson.edu/all_theses Part of the Art and Design Commons Recommended Citation Thomas, Christopher, "THE DESIGN, IMPLEMENTATION, AND INCORPORATION OF "HACK AND SLASH" ANIMATION INTO THE UNREAL DEVELOPMENT KIT" (2015). All Theses. 2270. https://tigerprints.clemson.edu/all_theses/2270 This Thesis is brought to you for free and open access by the Theses at TigerPrints. It has been accepted for inclusion in All Theses by an authorized administrator of TigerPrints. For more information, please contact [email protected]. THE DESIGN, IMPLEMENTATION, AND INCORPORATION OF “HACK AND SLASH ” ANIMATION INTO THE UNREAL DEVELOPMENT KIT A Dissertation Presented to the Graduate School of Clemson University In Partial Fulfillment of the Requirements for the Degree Master of Fine Arts Digital Production Arts by Christopher R. Thomas December 2015 Accepted by: Dr. Brian A. Malloy, Committee Chair Dr. Joshua Levine Dr. Timothy Davis Abstract In this thesis, we investigate the incorporation of "hack and slash" game play animations into a first person shooter game engine, the UDK 4. We create the animations using the Maya modeling tool and we describe our approach to incorporating these animations into UDK 4 and create an appropriate control scheme to play these animations in a "hack and slash" game environment ii Table of Contents Page Title Page ........................................ i Abstract ......................................... ii List of Figures ..................................... iv List of Source Listings ................................. viii 1 Introduction and Motivation ........................... 1 2 Background ..................................... 3 2.1 Unreal Development Kit Version. 4 (UDK4) . .3 2.2 Animation Rigging Tool set (ART) . .3 2.3 Autodesk Maya . .4 3 Animation Design and Overview ......................... 5 4 Animation ...................................... 6 4.1 Setting up the Animation and Riggings Toolset (ART) . .6 4.2 Why ART? . .6 4.3 Character and Rig Setup . .7 4.4 Animation Process . .7 4.4.1 Exporting Animations to UDK . 10 4.4.2 Blueprint System . 11 4.4.3 Setting Up . 12 4.4.4 Fixing the rig . 13 4.4.5 Inputs . 14 4.4.6 Blend Spaces . 15 4.4.7 State Machine . 16 4.4.8 Blueprint Core . 17 4.5 AnimMontage . 18 4.5.1 Setting Up Montages . 19 4.5.2 Calling Montages in the Blueprint . 20 4.6 Problems and Solutions . 21 4.7 Animation References . 23 5 Related Work .................................... 29 6 Realization of the Animation ........................... 32 7 Conclusion ..................................... 34 iii Table of Contents (Continued) Page Bibliography ...................................... 35 iv List of Figures Figure Page 4.1 A Character Pose in Maya. This figure shows the character and rig created with the “Character Rig Creator”. It also shows, on the right, the Animations and Rigging Toolkit window. .8 4.2 The ART Interface. This figure shows a close up view of the Anima- tions and Riggings Toolkit. Each box on the humanoid figure is a selectable joint that can be translated and rotated for animation purposes. .9 4.3 List View. This figure shows the List View tab in the Animations and Rigging Toolkit. Here you can use the S button to select all controls in that category and the V button hides all the controls in viewport in the respective category. 10 4.4 Rig Settings. This part of the Animations and Rigging Toolkit allows the user to toggle the IK/FK mode, control the Bias (squash and stretch portion of the rig) and Twist controls (for arms and legs) among other things. 11 4.5 Exporting from Maya. This figure shows the exporting window made available from the Animation and Riggings Toolkit. Here you can select what frames to export, what speed (30 frames per second, 60fps etc) and name the .fbx file. 12 4.6 Blueprints. This figure highlights the Blueprints created in your char- acter folder as well as the character mesh and its corresponding skeleton. 13 4.7 Fixing the Rig. This figure shows that the spine in the model is cur- rently set to follow the skeleton. This can be changed to follow the exact animation placement. 14 4.8 Before Retarget. This figure shows the character model head out of place due to the head joint being set to follow the animation as opposed to the skeleton. 15 4.9 After Retarget. This figure shows the same model joint set to follow the skeleton instead of the animation. 16 4.10 Button Creation. This figure illustrates the names of the action events created and the buttons mapped to activate/call them. 17 v List of Figures (Continued) Page 4.11 Blend Space. This figure demonstrates what is shown inside of a one dimensional blend space. A variable called speed was created and the idle, walk and run animations were placed at different inter- vals on the graph (bottom-middle-left). The value for speed, de- termined by the tilt of the analog stick, controls what animation is to be played on this graph in the game. 18 4.12 Locomotion State Machine. This is the inner blueprint setup for the Locomotion state machine. Here the game does checks to see if the character is in the air. If it is in the air it goes in the loop (JumpStart to JumpLoop to JumpEnd). If it is not in the air it simply plays the Idle_Walk_Run node. 19 4.13 Blueprint “If” statement. This figure highlights the “if” statement to go from Idle_Walk_Run to JumpStart. 20 4.14 Inside the "If" Statement node. Inside the node it shows what is re- quired to enter the JumpStart animation. If the character is in the air it is allowed to enter that transition. 21 4.15 Inside the Jump Start node. This figure shows the JumpStart anima- tion hooked up to the Final Animation Pose node. 22 4.16 JumpStart to JumpLoop transition. In this figure the nodes show that if 20% of the JumpStart animation is left to be played start playing the JumpLoop animation. 23 4.17 JumpStart to JumpLoop location. Shows the node that contains the logic for what was shown in Figure 4.16 . 24 4.18 AnimGraph. This figure shows how UDK knows what animation to play. The State Machine named "Locomotion" contains the logic for transitioning between running/walking and jumping. The Slots named "GroundSlashes", "Fdash", and "AirSlashes" interact with the AnimMontage to play those animations. This node system is always running and making checks during the game. Depending on that button the player presses the appropriate animation is run through the Final Animation Pose node. 25 4.19 Blueprint Core. This figure shows the setup created to update the value of the "speed" variable as well as the check for if the char- acter is currently in the air or on the ground. 25 4.20 AnimMontage creation. This figure shows how to create a new An- imation Montage. Right click the folder you need to place you AnimMontage, go to New Asset)Animation)Animation Mon- tage. 26 vi List of Figures (Continued) Page 4.21 The Animation Montage node. The inside of the animation node. All imported animations are located on the tab on the right. In the middle is a screen displaying what the current animation looks like. Below this preview is the montage segment. You drag you animations here. Place them in any order needed, alter from what time it starts and stops playing, to how fast the animation plays. Right next to this is a slot named "GroundSlashes". This is how the animations will be accessed by UDK to update into the Final Animation Pose. On the left you can add effects and/or change the skeleton joint locations. Below this tab is the AnimAssetDetails tab. This tab allows you to change the speed of the highlighted animation, how many times it loops etc. It also allows you to enable root motion translation and root motion rotation. This tells the game to take account for where the character is at the end of an animation and keep the character in that new location/orientation instead of snapping to the original position after the animation is completed. 27 4.22 Calling your AnimMontage. This figure illustrates the node setup nec- essary to play your animation montage in game. This is connected to the walk/run/jump setup from earlier. This shows that the char- acter checks if the character is attacking via the "IsSlashing?" boolean check. If an attack happens it plays the animation mon- tage set for "Slashes". The DoOnce node makes sure it doesn’t become stuck in an infinite loop. 28 4.23 Button Solution. This figure illustrates one method of having multi- ple animation montage setups for different buttons in the game, simultaneously. White line connectors can only connect to a sin- gle node, so a switch was needed. The "SwitchNumber" node is set to a new integer value every time a button press for one of the montages fails. This allows the blueprint to loop through each animation montage button setup to do its true/false checks. 28 5.1 An Overhead Sword Attack Sequence from Devil May Cry 3 . 30 5.2 A Slash Attack Sequence from Devil May Cry 3 . 31 5.3 A Thrust Attack Sequence from Devil May Cry 3 . 31 5.4 A Slash Attack from Devil May Cry 3 . 31 6.1 In Air animation. This figure illustrates the demo character about to land on the floor after making a jump. It is previewed in UDK.