It looks like you are using a second IK node (FABRIK) after the IK included in the project. I would instead just move the bone VB hand_l (which is the effector target for IK already included) to the grip location/rotation before the IK already included is executed (in other words, before the TwoBoneIK nodes in the anim graph):
In this pic I’m typing the location and rotation values manually, but you could use a var (like you’re using) to input that. You can experiment with changing the settings on the right - ‘AddToExisting’, ‘BoneSpace’ - but if you’re using a var, like your transform that comes from a socket, you have to make sure the space used is compatible, as well as if you’re adding to the existing bone transform or replacing it.
Also, if your’e using bone space, you probably don’t need to grab the socket’s transform every frame, since it’s position in relation to the hand probably doesn’t change over time when you’re holding the gun.
Another important thing is that you’ll probably have to turn off that node in my pic when you play a reload anim, for example, because, since the node moves the hand away form its original position in the original animation, it won’t grab the mag at the right place and will look wrong. Just make sure you set the ‘Alpha’ of this node to 0 when playing the reload. It’s nice to also use the built-in interp option inside this node. for smooth transitions between on and off:
Hey, I can see in your pic that your Aimpoint_Front_1 socket has the Z axis pointing to the side. Rotate the socket so that the Z axis points up, while the X axis keeps pointing forward. All aimpoint sockets must have the Z axis up and the X axis forward.
It looks like there’s already a bone there at the front sight (which I guess came from Maya), but that’s not a problem, just rotate the socket inside Unreal.
Also rotate your FP_Camera socket in your character’s head, so that the Z axis points up while the X axis points forward
Hi. I would like to ask if what parameters are available for the projectiles? Will it include gravity, wind and penetration parameters in the future aside from the velocity?
I also asked in the MP about having different FOVs for aiming and non-aiming. Thank you
Hello, gravity is already a parameter. Wind and penetration aren’t in the plans…
Regarding the FOV, this is the answer I posted to your question in the product page: to change FOV, you call ‘SeFieldOfView’ on the camera and type in the value you want. Do that in the EnterAiming event and in the ExitAiming event you call it again and type in the default FOV for not aiming (90 degrees in our case).
Hi. I have to commend again this system. I successfully transferred the recoil recovery logic to mym own character which blends FPP arm animations to a thirdperson mesh so that I only need 1 set of animations for arm-weapon and the rest are for the locomotion for the full body shadows and lower leg. I tried other recoil system/tuts before but this system really nailed it, especially the recoil recovery, and it is quite intuitive how you did that.
I am trying to get the logic out of how your weapon sway and aim offset. Looking briefly at the BPs it seems it is driven by IKs also? I am not sure if the logic I need to get is the one from the AB_democharacter AnimGraph. My current system uses transform bone and two bone IK with certain bones on the hand and the left hand is attached to a socket on the weapon. But I currently have problems when strafing as the wrist doesn’t partially rotate to the left or right. I want to adopt your system as it is more polished. Thanks
**
I think I found it, the update graph>directional sway?
Yes, the weapon sway (due to mouse movements and strafing left and right) is handled in the UpdateGraph → DirectionalSway. From there the resulting rotations and locations are used in the Anim Graph to feed TransformBone nodes, which move the IK target for the gun hand.
When not aiming, it’s pretty straight forward - it just rotates the IK target and the only time it’s translated is when you’re firing and it moves backwards.
Now, when aiming it’s when it gets tricky, because I decided I should rotate it about the sight’s point, instead of letting the hand bone rotate about itself. This makes sure the sight’s point never leaves the center of the screen when the gun is rotating. So inside the DirectionalSway, in the aiming section only, you’ll find a bit of math that does that. This is ‘married’ to the CalcHandTransforms function in the gun BP, so in order for it to work properly it needs to remain married.
Another important part of this IK setup is the use of virtual bones as targets for the hands’ IKs. Unreal’s virtual bones snap to their non-virtual counterparts by default, so I have one for the right hand and another one for the left hand, this way I know they’re following the hands animations. But, in the Anim Graph, I have the chance of moving them in the direction I want depending on the situation.
Yes, I’m trying to send you a private msg, but I’m getting a forum error. Could you please try either private messaging me or sending me email to peacesells_@outlook.com?
Hi again. Do you think you could add an option where we cannot spam the left mouse button/fire even if the fire rate is slow? I noticed that even if I slowed down the fire rate of auto when holding it down. I can alternatively just spam the left mouse button and it gets faster. haha Also in semi… I assume we can sort of add a gate or do once? Thanks
Hi. One way to counter this is to store the time at which you pressed the fire button (GetTimeSeconds, for example) and compare it with the time at which you last pressed the button, then only allow it to actually fire if the time difference is greater than the limit for the specific gun.
If you’re referring to automatic folding of the arms when touching a wall, I can make suggestions but I don’t have details as I haven’t done it myself (it’s not in the product’s list of features). You could use a collision event of the gun (ActorBeginOverlap?) to trigger a code that you do in the Anim BP to move the right hand IK target (VB hand_r) to somewhere closer to the character (through a TransformBone node?)
Either you increase the size of the radius of the capsule or you can check for weapon block tutorials on youtube. The method uses linetraces/sphere traces to detect a hit and it will either play an animation for folding it sideways or use IK to pull the gun in a direction you specify. Try to check AngelV weapon block tutorial as it has the best logic for the sphere traces and wont have problems with jittery trace on an angle (other tutorials). It also uses true FPS character.