Download

Gun Sight Aligner

Hello. Is there any way to get your sight aligner to work in a replicated game. The sights work on the server but not on the client.

Hi,

Could you tell me more precisely what your’re having trouble with? I just did a test in multiplayer mode and the sights worked on server and on all clients (please see the pics below).

Typically, in multiplayer, the anims themselves aren’t replicated, they are controlled locally on the client by their character, but the character on the client is controlled by the character on the server (replicated). It worked in the pics below because each client is controlling his own anims locally, but one client won’t see another client aiming down sights, unless you replicate the aim down sights command in the character. But you have to remember that the alignment happens on the FP floating arms, which aren’t supposed to be seen by other clients anyway. If you’re doing multiplayer with this character, you should add a whole body mesh to him to be seen by the other clients. This whole body mesh doesn’t need to align the sights, you just need to add a generic aiming pose to it so, from outside, he looks like he’s aiming his gun. Please tell me more preciselly where you’re having trouble right now and I’ll see how I can help you better.

Thank you for your reply. It turned out that there was an error on my part, I was updating the sight transform when I equipped the weapon, so I just had to change the custom event to Multicast and now it works.

Hey, I’m glad to hear that it’s working. If you need anything, please ask!

Updated to v2.0.0

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 =)

Updated to 2.0.1

Change log:

  • Quick fix: InputMode not returning to GameOnly mode after leaving the menu by pressing Esc - fixed.

hi, this kit thingy is really good but i need some help changing the skeleton. ive fumbled to getting it almost done but when i aim the gun flies off behind the camera (it still rotates around when changing sight). yes, i did the VB stuff, and i have no idea why. also the… not aiming stuff works

EDIT: btw, im using the just arms stuff

@Nonecares. Hey, first thing I have to ask is if you have added the sight sockets to tour gun, with X axis pointing forward, etc, as stated in the instructions video. Second, if you have copied the code on the gun - CalcSightsTransforms, etc. to your gun? Also did you do the same regarding character code? Third, is your skeleton hand bone named hand_r? Is the gun attached to it or a socket on it? Is you camera socket X axis pointing forward and Z up? Is it attached to the head bone and is your head bone named head?

@PeaceSells_
1&2: I haven’t changed the gun, so i guess no? i’ve just changed the arms skeleton in the download project (i want to get it working on my skeleton before integrating it). Sorry if ive misunderstood
3: The hand isn’t called that but I’ve changed everything that calls for different names im aware of (which if i remember correctly is the anim BP and CalcSightsTransforms)
4: The gun is attached to the hand using a socket and its the same name as the original in the mannequin.
5: I looked in both the mannequin skeletons and only the full body has a camera socket, im trying to change the arms only skeleton. i might be missing something or im just dumb sorry.
6: My head bone’s called “Head” (idk if the capital makes a difference so im just saying)

Thank you for the help

@Nonecares.

You’re right, I’ve been on the full-body version for so long that I automatically ask about the head and the head socket. They’re not necessary in the arms-only version. You’re also right about the hand bone, it’s only called in the gun blueprint and in the anim blueprint.

I’m setting a test project with a custom arms on my end and I’ll reply to you again with more details about it.

Thank you

Sorry for being late, thank you for helping me (x2)

@Nonecares.

No problem at all.

I’ve tested the project with 2 different custom skeletons, the ShooterGame skeleton and the FPS Assault Pack skeleton:

  • ShooterGame skeleton: the alignemnt didn’t work, and after looking around for the problem I ended up discovering that this skeleton has 3 “elbows” in his arm, instead of 1. In other words, instead of the default hierarchy:

arm->forearm->hand

It has this hierarchy:

arm->armroll->forearm->forearmroll->hand

So the TwoBoneIK node in the project only goes from hand to forearm, thus the hand can’t reach the camera properly. Maybe it will align if the TwoBoneIK is replaced by another node that allows the use of more bones, but it would probably still look bad from external view on the arms having all of these joints bending. But, then again, arms-only aren’t supposed to be viewed from external view anyway…

  • FPS Assault Pack skeleton: it worked perfectly, as it has only 1 “elbow”:

arm->forearm->hand

(the twist bones are parallel and not in the sequence, just like in Epic’s default skeleton)

This skeleton has extra bones for gun attachment, but, as you know, gun still must be attached to the hand or a socket on the hand.

The tests were made by opening the original project, migrating the custom skeletons in and replacing, in the anim blueprint, the original skeleton with the migrated one. Then, still in the anim blueprint, I replaced the BlendSpace with an Idle anim of the new skeleton. Then, in the character blueprint, I replaced the skeletal mesh of the MeshArms component with the migrated skeletal mesh.

Please let me know how the bone sequence in your custom arms is, because that might be the problem.

Thanks

@PeaceSells_

Immediate thought: I removed hands to make animation simpler, so it might count as “arm->forearm”
I’m using the forearm’s “end” bone for the IK, but that might not be “enough”.
(also, idk about when you tested it, but the IK works perfectly fine in the ABP for both arms, although that might have nothing to do with this and im just dumb)
Anyway, i’ll try looking for another node, but don’t know much about IK in unreal so dont really know what else to do atm.

Thanks
(x3)

Hello @PeaceSells_

Saw the response in the Marketplace:

Firstly, I appreciate the prompt response. I’m electing to wait for Full-body Alignment to be added to FPS Assemblable Gun as I need multiplayer weapon customization as well. That is a Very Slick Rail system. Ill subscribe to that thread for updates. Thanks again.

@TechLord

Thanks, that’s what I would advise if you want full-body + replication + auto alignment.

Regards

if our game already has aim mechanics replicated, would adding this be as simple as plug n play? After migrating the asset

No, in any case it’s not as simple as plug n play. You will have to integrate anyway.

Seems like I skipped your post, my bad.

If I understood it correctly, your “end” bone is where the hand bone would normally be, so your skeleton is:

arm->forearm->end
which is the same as

arm->forearm->hand
(Epic’s skeleton, just with different names)

So if you’re attaching the gun to the “end” bone (or to a socket on the “end” bone) and replacing the references to “hand_r” with references to “end” in the code, then alignment should be working normally. This way, the “end” bone would already be the IK effector, and that is enough, yes. (Unless I didn’t understand your setup)

In my test the IK worked from hand to forearm, while the upperarm would keep in place. It looked fine, but the gun wouldn’t get to it’s place in front of the camera, because with only hand and forearm moving, it doesn’t have enough reach. That’s why I’m saying it wasn’t a problem with the IK, it was working like it’s supposed to, it was a skeleton problem…

Hi yeah its a skeleton problem. I originally thought it couldn’t be right because of the way its not working. it (presumably) can reach, its just flying off behind the camera. I went in “game” to take another look, and i noticed it looked like its moving around the sight VB. I tried thinking of what was wrong with it, and somehow remembered your mixup with arms only and full body. So I thought the ABP instructions might be for full body. So i looked in both mannequin skeletons, and the sight VB is attached to the head on full body, and the root bone on arms only. So i redid the VB to the root bone and sure enough, it works now (although some sights are tilted a little which is weird but ok).

So yeah, you need to change the instructions on the arms ABP to say to attach the sight VB to the root.

I wish i noticed earlier, thanks for tryna help, i wouldnt have noticed if it werent for this so yeah, thanks

And now, we have a final thank you count… of 7. I had a joke to go here biut i forgot it oops

Thank you for this, it makes perfect sense. In my head I had thought about making VB sight a child of the root in the arms-only skeleton (to avoid problems like this), but I didn’t remember actually doing it. I will update the instructions in v2.0.3, since v2.0.2 is aleady out.

I’ll try to find out what could be causing your sights to be a little tilted.

Thank you!