top of page
Background
  • Wanted more experience with C++ in Unreal so I converted some of my Blueprint character controller to be in C++

​

  • Wanted to try out UE 5.4 Motion Matching​​

​

  *Note: This was before the 5.4 sample           project. I later added in the traversal             objects to see if I could get them to work.

   Unfortunately I couldn't get them to work     that well.

​

Gun Class
  • Redesigned Gun component to be a class​

    • Main reasons:​

      • Easier to edit details in Blueprints​

      • Simpler to Inherit from​​

​​​​

Editing Details

Gun Component

Gun Class

GunComp_vs_Class_Details_edited.png
Improvements
  • Cleaner

    • cleaned up variables by simplifying systems like Fire Modes, Bullet Spread, Animations, and Input

    • Fire Modes:

      • is now a list of fire modes allowing the fire modes to be rotated and dynamically added if need be​

    • Bullet Spread:​

      • is now a struct which helps with overriding the current stance spread with another stance spread (i.e. standing spread -> crouch spread) ​

    • Animations:​

      • ​no need for Start, Loop, and End montages as I implemented all of them into one montage based on Sections and Anim Notifies​​

    • Input:​

      • Guns have their own input map now allowing for inputs to be dynamically added or removed​​​​​​​

  • Can edit child class details inside of Parent Blueprint

    • this is useful because you cannot edit component details of a child actor component when in the editor

    • only downside is that you still cannot edit anything in a child actor component when the game is running because of how the child actor component is designed

GunComp_vs_Class_Details_BP.jpg

Gun Component (Top)    Gun Class (Bottom)

Motion Matching
  • I heard about Epic adding motion matching in Unreal 5.4 so I wanted to try it

  • I imported Mixamo animations into the project however the root motion trajectory either didn't import correctly or the retargeting didn't work that well which is why the crouch movement is so fast​​

  • ​Either way I got it to work even though it looks weird

    • Thankfully they added a sample project shortly after I made this project. I then went back and tried to implement the climbing animations which didnt work out that well.  â€‹

Motion_Matching_Ex.jpg

Sample of Animation Blueprint

Motion Matching Example

Retrospective:​

  • I found that using C++ in the prototyping phase was very slow as just changing one small thing would force you to recompile the project again. I've realized that its easier to prototype in Blueprints and then convert everything to C++ once its done.
  • Motion Matching is cool. However, I've found that you need animations with good trajectories or animations that were intended for motion matching. While using Mixamo animations for motion matching I found it difficult for unreal to properly read the trajectory when importing them.​​​​​​

​​

bottom of page