1st Person Hands, what workflow when exporting?

Hi guys,

The First Person Shooter sample we have in UE4 uses separate hands for weapons, and I think I recall UDK having the same setup. I’m guessing the reason for this is to reuse the same hands animations on several different weapons, which makes sense.

However, most other engines I’ve used have them combined. I was going to head in and change this but figured I’d ask first how the workflow for separate hands would look like in say, 3DSMax?

If you have a scene in said modeller, with two weapons and one pair of hands, would you just hide the weapon you didn’t want and then export? Then repeat it for the other weapon. Or do you have to keep the weapons and hands in different scenes? I’m used to having the hands and weapons in the same 3DSMax scenes, which is why I’m asking.

Let me know if I’m not making any sense.

Honestly I’m not so sure myself. I’m currently using a first person skeletal mesh for the arms, then I attach a static mesh to a socket for weapons. This works okay for melee weapons, but for complex ones (like guns) you’ll need to make it a skeletal mesh component. Usually I just export the arm rig animation and play that, then on the weapon mesh you can play specific animations (magazines falling out) and if you play it at the same time it should synch up.

Here is our set up in 3ds Max.

First everything starts with the third person model, all share a single skeletal design, and contained in their own file to make shared development easier.

The 3rd person model will have 3 levels of LOD.

The 1st person hands will be a clone of the 3rd person model already rigged using the same skeleton. Easy to harvest with out additional work so what works with the 3rd works with the 1st.

Weapons will be handled on their own animation channel linked to the player model and hands using sockets.

To anyone else interested, I managed to get this working really simply.

  1. Export the armature, import as a skeletal mesh.
  2. Export the weapon rigged up to the bones, INCLUDING the arm bones.

then…


		weapon->Mesh1P->AttachTo(HandMesh, NAME_None, EAttachLocation::SnapToTarget);
		HandMesh->SetMasterPoseComponent(weapon->Mesh1P);

That will attach the weapon to the arms, and set the arms to use the hand animations of the weapon.