Jump to content
Sign in to follow this  
animander

Custom HandAnim problem

Recommended Posts

I've been trying to make a custom handanim for an object I made(minesweeper) and I can't get it to work correctly, so I'm hoping someone here can help me. Basically, when I equip the object, instead of the hands/arms being placed like how I have them In the BIskeleton, the arms are rotated about 90 degrees up.

My BIskeleton looks like this: skeleton.png

But in game it looks like this: http://i3.photobucket.com/albums/y55/Arowe/arma32014-09-2219-22-43-56.png (576 kB)

http://i3.photobucket.com/albums/y55/Arowe/arma32014-09-2219-23-25-58.png (391 kB)

I followed the instructions here:http://tactical.nekromantix.com/wiki/doku.php?id=arma2:modeling:weapon-animation-tutorial

and read through the thread here: http://forums.bistudio.com/showthread.php?87052-Hand-Animations to try and solve my issue, but nothing's helping so far.

I'm binarizing the .pbo, including a model.cfg that looks like this:

class CfgSkeletons
{
class Default
{
	isDiscrete = 1;
	skeletonInherit = "";
	skeletonBones[] = {};
};
class OFP2_ManSkeleton
{
	isDiscrete = 0;
	skeletonInherit = "";
	skeletonBones[] =
	{
		"Pelvis","",
		"Spine","Pelvis",
		"Spine1","Spine",
		"Spine2","Spine1",
		"Spine3","Spine2",
		"Camera","Pelvis",
		"weapon","Spine1",
		"launcher","Spine1",
	//Head skeleton in hierarchy
		"neck","Spine3",
		"neck1","neck",
		"head","neck1",
	//New facial features
		"Face_Hub","head",
			"Face_Jawbone","Face_Hub",
				"Face_Jowl","Face_Jawbone",
				"Face_chopRight","Face_Jawbone",
				"Face_chopLeft","Face_Jawbone",
				"Face_LipLowerMiddle","Face_Jawbone",
				"Face_LipLowerLeft","Face_Jawbone",
				"Face_LipLowerRight","Face_Jawbone",
				"Face_Chin","Face_Jawbone",
				"Face_Tongue","Face_Jawbone",
			"Face_CornerRight","Face_Hub",
				"Face_CheekSideRight","Face_CornerRight",
			"Face_CornerLeft","Face_Hub",
				"Face_CheekSideLeft","Face_CornerLeft",
			"Face_CheekFrontRight","Face_Hub",
			"Face_CheekFrontLeft","Face_Hub",
			"Face_CheekUpperRight","Face_Hub",
			"Face_CheekUpperLeft","Face_Hub",
			"Face_LipUpperMiddle","Face_Hub",
			"Face_LipUpperRight","Face_Hub",
			"Face_LipUpperLeft","Face_Hub",
			"Face_NostrilRight","Face_Hub",
			"Face_NostrilLeft","Face_Hub",
			"Face_Forehead","Face_Hub",
				"Face_BrowFrontRight","Face_Forehead",
				"Face_BrowFrontLeft","Face_Forehead",
				"Face_BrowMiddle","Face_Forehead",
				"Face_BrowSideRight","Face_Forehead",
				"Face_BrowSideLeft","Face_Forehead",
			"Face_Eyelids","Face_Hub",
			"Face_EyelidUpperRight","Face_Hub",
			"Face_EyelidUpperLeft","Face_Hub",
			"Face_EyelidLowerRight","Face_Hub",
			"Face_EyelidLowerLeft","Face_Hub",
			"EyeLeft","Face_Hub",
			"EyeRight","Face_Hub",			
	//Left upper side
		"LeftShoulder","Spine3",
		"LeftArm","LeftShoulder",
		"LeftArmRoll","LeftArm",
		"LeftForeArm","LeftArmRoll",
		"LeftForeArmRoll","LeftForeArm",
		"LeftHand","LeftForeArmRoll",
		"LeftHandRing","LeftHand",
		"LeftHandRing1","LeftHandRing",
		"LeftHandRing2","LeftHandRing1",
		"LeftHandRing3","LeftHandRing2",
		"LeftHandPinky1","LeftHandRing",
		"LeftHandPinky2","LeftHandPinky1",
		"LeftHandPinky3","LeftHandPinky2",
		"LeftHandMiddle1","LeftHand",
		"LeftHandMiddle2","LeftHandMiddle1",
		"LeftHandMiddle3","LeftHandMiddle2",
		"LeftHandIndex1","LeftHand",
		"LeftHandIndex2","LeftHandIndex1",
		"LeftHandIndex3","LeftHandIndex2",
		"LeftHandThumb1","LeftHand",
		"LeftHandThumb2","LeftHandThumb1",
		"LeftHandThumb3","LeftHandThumb2",
	//Right upper side
		"RightShoulder","Spine3",
		"RightArm","RightShoulder",
		"RightArmRoll","RightArm",
		"RightForeArm","RightArmRoll",
		"RightForeArmRoll","RightForeArm",
		"RightHand","RightForeArmRoll",
		"RightHandRing","RightHand",
		"RightHandRing1","RightHandRing",
		"RightHandRing2","RightHandRing1",
		"RightHandRing3","RightHandRing2",
		"RightHandPinky1","RightHandRing",
		"RightHandPinky2","RightHandPinky1",
		"RightHandPinky3","RightHandPinky2",
		"RightHandMiddle1","RightHand",
		"RightHandMiddle2","RightHandMiddle1",
		"RightHandMiddle3","RightHandMiddle2",
		"RightHandIndex1","RightHand",
		"RightHandIndex2","RightHandIndex1",
		"RightHandIndex3","RightHandIndex2",
		"RightHandThumb1","RightHand",
		"RightHandThumb2","RightHandThumb1",
		"RightHandThumb3","RightHandThumb2",
	//Left lower side
		"LeftUpLeg","Pelvis",
		"LeftUpLegRoll","LeftUpLeg",
		"LeftLeg","LeftUpLegRoll",
		"LeftLegRoll","LeftLeg",
		"LeftFoot","LeftLegRoll",
		"LeftToeBase","LeftFoot",
	//Right lower side
		"RightUpLeg","Pelvis",
		"RightUpLegRoll","RightUpLeg",
		"RightLeg","RightUpLegRoll",
		"RightLegRoll","RightLeg",
		"RightFoot","RightLegRoll",
		"RightToeBase","RightFoot"
	};
	// location of pivot points (local axes) for hierarchical animation
	pivotsModel="A3\anims_f\data\skeleton\SkeletonPivots.p3d";
 	};
};

class CfgModels
{
   class Default
   {
       sectionsInherit="";
       sections[] = {};
       skeletonName = "";
   };
   class ArmaMan : Default
   {
       htMin = 60;          // Minimum half-cooling time (in seconds)
       htMax = 1800;        // Maximum half-cooling time (in seconds)
       afMax = 30;          // Maximum temperature in case the model is alive (in celsius)
       mfMax = 0;           // Maximum temperature when the model is moving (in celsius)
       mFact = 1;           // Metabolism factor - number from interval <0, 1> (0 - metabolism has no influence, 1 - metabolism has full influence (no other temperature source will be considered)).
       tBody = 37;  // Metabolism temperature of the model (in celsius)

       sections[] =
       {
           "osobnost","Head_Injury","Body_Injury","l_leg_injury","l_arm_injury","r_arm_injury","r_leg_injury","injury_body", "injury_legs", "injury_hands",
           "clan","clan_sign","Camo","CamoB","Camo1","Camo2","personality","hl", "injury_head"
       };
       skeletonName = "OFP2_ManSkeleton";
   };
   class pabst_addon_minedetector : ArmaMan {};
}; 

I'm just about out of ideas... Any help would be very appreciated!

Edited by Animander

Share this post


Link to post
Share on other sites

you forgot to place the weapon bone in the correct spot. The hands are always in relation to that weapon bone. The game moves the weapon bone up to a specific point from its default position and the hands follow automatically with it, the same distance. You can't influence where the weapon bone moves, by moving the weapon bone you only determine where your hands will be at in relation to it. The ellbows and the rest of the arm of your animation is ignored, the game determines its own solution for it via Inverse Kinematic. Only the hands+fingers and the weapon bone are important.

Edited by Fennek

Share this post


Link to post
Share on other sites

I'm not sure I understand exactly what you're saying. You're saying I need to position to weapon bone to where I want the hands to be? I've tried moving the weapon bone around to various positions and re-exporting the .rtm, and nothing has changed, the hands just continue to stay in that weird pose.

Share this post


Link to post
Share on other sites

yes, place the weapon bone aproximately where the weapon will be in default pose.

What happens if you import the rtm into the A3 sample character?

Share this post


Link to post
Share on other sites

I placed the weapon bone where the weapon would be, re-exported the .rtm and I'm still getting the same results as the image above. When I imported the .rtm to the A3 sample character it changed to the correct pose, but the weapon bone didn't move to where I placed it, it just stayed in it's previous position. Any further ideas?

Share this post


Link to post
Share on other sites

Hi,

Probably you are doing the animation process correctly. The issue is addon builder is broken since previous 1.24 patch (aprox when the new GUI for tools was released), see the topic i have started months ago on this forum. The issue has been reported on their feedback tracker.

Edited by Mickyleitor

Share this post


Link to post
Share on other sites

I'm not packing the Pbo with addonbuilder, I'm using Mikero's pboproject. Does it have the same issue?

Edited by Animander

Share this post


Link to post
Share on other sites

Anyone else with any possible ideas? I tried re-making the hand positions from scratch and the same thing keeps happening. The left arm gets warped and twisted, and the right arm just stays in the same position from the default hand-anim, no matter where I move it in my custom one. Does it make some difference that the weapon I'm swapping is a pistol?

Share this post


Link to post
Share on other sites

Have you tried doing the hand position so that all other parts of the model are in the default T-pose? I encountered something like this just today and I too had moved the whole body, but I believe that I fixed it by reverting the body to normal position and moving only the hands and weapon bone.

You can easily try this by selecting everything else but the hands and weapon bone in the T-pose (-0.5 keyframe) and copying it via leftclick menu on the keyframe list. Then select the next keyframe and from the same dropdown menu use "paste over selection". This copy/pastes the T-pose back over the rest of the body.

Can't guarantee I had the same issue, but this I think solved it for me.

Share this post


Link to post
Share on other sites

Hi, thanks for your reply. Yep, I tried that, even re-made it from scratch with the default pose, moving only the hands and weapon bone, and I'm still getting the same problem.

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×