Hello guys! Feel free to post questions, feedback, issues, etc!
Project updated. Change log:
-
No need to name the main gun component “Mesh1P” anymore. Now it can be named whatever you want, just like the other components, but it needs to have a tag named “MainMesh”. This facilitates switching the main mesh component from skeletal mesh to static mesh and vice versa, since you don’t need to replace the reference in the code anymore.
-
Example meshes were now re-imported into Unreal facing +X axis instead of +Y axis. It makes no difference for the auto-aligner, but it’s now oriented as advised by Marketplace guidelines.
-
Calculation of gun sights locations and rotations now use less nodes in the blueprint.
-
Youtube tutorial video updated.
Project updated. Change log:
-
Tweaked the auto-aligning method. It now uses less nodes and adding your own movements/sway to the gun became easier, since now you control the location/rotation of the sight’s aimpoint directly by controlling a bone (sight’s location/rotation is the same of the bone).
-
Aiming is no longer a separete state in the state machine. In order to allow for variable aiming down sights speed, aiming is now implemented through BlendPosesByBool nodes inside other states.
-
Added customization variables for aiming down sights speed and cycle between sights speed.
-
Added customization variables for amplitude and play rate of the procedural animation for firing while aiming down sights.
-
Reorganization of folder structure.
-
Updated to UE4 4.23.
-
Youtube video tutorial updated to reflect the new folder structure. Instructions are the same, since the procedure for swapping the example gun and anims for your own gun and anims is exactly the same.
Project updated. Change log:
-
Small change in the method of calculation of ironsights. It now uses the node FindLookAtRotation followed by roll adjustment, instead of the dot products, RotationFromAxisAndAngle and CombineRotators nodes to find the direction from rear sight to front sight. The new method works better with the change implemented in a past update (since then, the old method would let the rear sight a bit off depending on its location on the gun in relation to the front sight)
-
Corrected code comments that were outdated
-
Updated to Unreal Engine v4.24
Project updated. Change log:
Fixed: lack of smoothness when cycling between sights while aiming. Before, the interpolations were done through a Timeline in the character and the resulting values were applied in the EventBlueprintUpdateAnimation of the anim bp. Now everything is done in the anim bp, which fixed the lack of smoothness.
Project updated. Change log:
-
Added a version for full-body chareacters - 3rd person, True 1st person, etc.
-
Added reload while aiming.
-
The IK bones in the Epic’s skeleton are no longer used. The project now uses virtual bones instead, which eliminates a few nodes in the anim graph.
-
Moved the sights position calculation from the character to the gun blueprint.
-
Added walking sway when walking while aiming, governed in the blueprint by a curve.
-
Firing anim when aiming down sights is no longer procedural, it’s an additive anim sequence.
-
Moved the sight aligning logic out of the movement state machine and replaced the state machine with a movement BlendSpace. Now it should be easier to just replace the BlendSpace with your own movement state machine.
-
Reduced the character’s walking speed, acceleration and deacceleration to more natural values.
-
Redone idle, walk and fire anim sequences and added reload anim sequences.
-
Added a menu screen for choosing between playing the ArmsOnly project, the FullBody project, or exiting the game.
-
Added a thumbnail for the project in the Epic launcher =)
Project updated. Change log:
Quick fix: InputMode not returning to GameOnly mode after leaving the menu by pressing Esc - fixed.
Project updated. Change log:
-
3rd person camera moved a little to the side, so the character isn’t exactly in the center of the screen anymore
-
Quick fix: the variable CycleSightsSpeed is now wired to the interpolation (Ease node) in the character’s anim blueprint. So now changing the gun blueprint’s own variable CycleSightsSpeed will customize the speed of switching sights while aiming, as it’s supposed to.
Project updated. Change log:
Quick fix: instructions for setting up virtual bones in a custom skeleton, written in the anim graph of the arms-only anim blueprint - fixed.
Project updated. Change log:
Reorganized code and comments with integration in mind. It now should be easier to visualize what events should go where, when integrating with other projects.
Project updated. Change log:
-
Added more 2 projects, one with an Arms-Only character and one with a Full-Body character. These 2 projects use 2 virtual bones, instead of 3, on the character’s skeleton and have a slightly simplified code for calculating gun sight positions - CalcHandTransforms function replaces the old CalcSightsTransforms
-
Interpolations done in the anim BP’s event graph were replaced by interpolations done natively inside the anim graph’s nodes, simplifying the anim BP’s code
-
Changed the transform space for recoil and walk-while-aiming sway in the anim graph nodes, so they now happen in the player’s view space instead of the hand’s or sight’s space
-
For code simplication, the node that spawns the gun doesn’t use a gun class var anymore
-
Updates in several comment boxes
Project updated. Change log:
Quick fix of some wrong instructions in the black comment boxes in the anim graphs about adding the virtual bones to a new skeleton
Project updated. Change log:
Fixed engine crashing while retargeting the skeleton from the FullBody_Project2 (the one with 2 virtual bones). Apparently the engine was fixed some time ago, but the mannequin doesn’t get fixed automatically. So what I did was I imported a new mannequin and replaced the old mannequin in the project.
NOTE: If you already have your system integrated in your project and don’t want to start the integration again with the new version, you can easily do the fix on your own project:
- Create a backup copy of your project 1st of all
- Create a new Third Person template in UE4 v4.24 or newer (might work with some older versions too, but I haven’t tested)
- Migrate the mannequin (skeletal mesh, skeleton, materials, etc.) from the Third Person template to your project
- Inside your project, copy/paste the sockets (Example_Socket, Camera) from your old mannequin to the imported one
- Add the 2 virtual bones to the imported mannequin
- Delete your old mannequin skeleton and, when prompted to ‘Replace References’, select the imported skeleton
- Delete your old mannequin skeletal mesh and, when prompted to ‘Replace References’, select the imported skeletal mesh
- That should be all. Test by hitting the Play button and, if it looks broken, close and re-open the project