Jump to content


  • Content Count

  • Joined

  • Last visited

  • Medals

Community Reputation

1 Neutral

About awesomeguy81

  • Rank
  1. awesomeguy81

    ArmaRig for Blender

    I don't think it's your rig, just the way BI engine handles the weapon bone when in a static position. I saw in another thread someone else making the same observation. Logic would suggest that if the weapon bone is masked out during the hold animation then the actual position in the RTM file shouldn't have any effect, in reality, its position will have an effect on the hand positions.
  2. awesomeguy81

    ArmaRig for Blender

    I figured out what the issue is but I don't have a good solution other than trial and error and a lot of patience. It would appear that the weapon bone has an inverse relationship with the hands when creating static animations for the weapon holding position. I'll start by saying the weapon bone has no relation at all to the in-game weapon position, it doesn't matter where you move the bone, the in-game weapon will always be placed near the right shoulder relative to its position inside the P3D file. What I found was that if you move the weapon bone up, both hands move down. Move the weapon bone down, and both hands move up. Move the weapon bone left, both hands move right, etc. This applies to rotation as well as position, hands always move in the opposite direction to the weapon bone. It seems that the weapon bone must be placed in a specific position within the rig if you want the hands to match up 1:1 in-game, finding that position is the hard part and I can only do it by moving the bone and testing in-game each time until it matches up.
  3. awesomeguy81

    Custom Hand Animation Issues

    This is an old thread, but just for future reference if anyone is having the same issue. I found that the arms and hands get mangled as pictured above if the RTM file is not binarised. Addon Builder will only binarise the RTM files if there is a valid model.cfg class CfgSkeletons { 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", "injury_head", "clan", "clan_sign", "Camo", "CamoB", "Camo1", "Camo2", "personality", "hl", "insignia" }; skeletonName = "OFP2_ManSkeleton"; }; class bust: ArmaMan {}; class Male: ArmaMan {}; class MaleSkeleton_Pivots: ArmaMan {}; };
  4. awesomeguy81

    ArmaRig for Blender

    I have been working on a custom gun model and doing my best to work everything out for myself (not easy, so many outdated guides spread across many sites). The good news is I'm 90% of the way there, I've got it working in-game but having some trouble getting the static holding animation correct. How do people usually set up the rig from the standard 'T' pose to the weapon ready pose? I've tried to manipulate the rig until I have something roughly resembling the in-game pose, but the hands always end up at slightly awkward angles to where it looks like they have broken wrists.