Jump to content

STALKERGB

Member
  • Content Count

    1540
  • Joined

  • Last visited

  • Medals

Posts posted by STALKERGB


  1. Firstly, I'd say that for a first project, make sure to have smaller goals so that you don't end up overwhelming yourself with work.

    The Modding Characters Wiki page from the Character Modding Thread is probably a good place to start if you haven't seen it already. Should be all the info you need there for re-texturing the infantry models in A3. Most of the tools you'll need can be found if you follow the first of the two links. As for the actual texture editing, some like Photoshop or GIMP do the job well.

    For modelling, although you can do it in Oxygen 2 (one of the tools you'll need to install from the first link), it's better to use a third party modelling program such as 3DS Max or Blender. If you have no model experience and aren't looking to spend any money on a modelling program (like 3DS Max), then blender is probably the way to go. SHould be tons of tutorials on youtube too.


  2. Hmm, looking at those pictures, I'd guess that the selections you are defining in O2 (so Spine1/LeftArm and so on) aren't actually being applied to the model properly (or at all). One common error is using lower case selections when you have upper case ones in the model.cfg. So for example leftarm is different to LeftArm. In case you haven't already done it I'd say it's probably worth taking the model.cfg from the ARMA3 samples rather than using what I posted above just to rule out any issues with that.

    Question...When weighing a area if I lets say click "Left Arm" and weight the area way over by the right arm is that going to bring that side over near the "Left Arm" in game? or just move the right side whenever the "left Arm" area moves? I am just trying to fully grasp the weighing concept.

    It'll try and move the right side when the LeftArm section of the skeleton moves, the problem with that though is that because the right side of the model is further away from the original point of movement it's much more likely to deform.

    EDIT: It might also be worth trying to apply an animation while in O2 to see if everything works in there, you could use the sample animation supplied in the ARMA3 samples. I wrote about how to do that here if you are interested.


  3. Firstly, I need to add the caveat that I'm far from the best person to respond to config stuff, I can do it but I'm sure there are people who make much tidier configs than I do. Anyways:

    Lastly, whats the difference betweeen "Model.cfg" and "Config.cpp" how do you know when you need to use one or the other, or both?

    Model.cfg

    Every model you make needs a model.cfg, without one the game would either crash when you load your model, or load a static model that doesn't animate properly (at least with regards to infantry modding). The sample A3 files on the character modding page of the wiki should contain a model.cfg, what you'll need to do is add the name of your P3D file to the bottom of it and then define what it will inherit from (for movement/animation), normally it'll look something like this:

    class MY_P3D_NAME: ArmaMan {};

    Below is the whole sample model.cfg with the above put in place:

    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 MY_P3D_NAME: ArmaMan {};

    };

    I imagine that you can remove some of the other entries above it but I'm probably not the best person to explain that. The model.cfg needs to be placed in the same location as the model it is referencing, if you have models in different folders then they will need separate model.cfgs in each of those folders AFAIK.

    Config.cpp

    The config file is the file that defines what exactly you model is and does. Normally, the easiest way to do most of the work is to inherit from another object that does the same thing. So for a vest/body armour, you could inherit from the plate carrier used by the US forces already in the game. Obviously there will be some things that you want different on your vest but this will take care of everything else. As an example, with my Osprey armour used for my Brit infantry I use:

    class cfgWeapons

    {

    /*extern*/ class VestItem;

    /*extern*/ class HeadgearItem;

    /*extern*/ class UniformItem;

    /*extern*/ class V_PlateCarrier1_rgr;

    class STKR_Osprey_R: V_PlateCarrier1_rgr

    {

    scope = 2;

    displayName = "Assualt Osprey R";

    picture = "\A3\characters_f\Data\UI\icon_V_plate_carrier_1_CA.paa";

    model = "\STKR_BritMTP\equipment\Osprey_R";

    class ItemInfo: VestItem

    {

    uniformModel = "\STKR_BritMTP\equipment\Osprey_R";

    containerClass = "Supply100";

    mass = 50;

    armor = "5*0.5";

    passThrough = 0.7;

    };

    };

    As you can see, I inherit the information used by the US plate carrier, and then define a few of my own values below. One thing to note, when inheriting from other classes, you need to make sure that they have been mentioned above in your config which is what all the /*extern*/ classes are. The classname you define (so in my example STKR_Osprey_R) is what you would used to add the vest to a unit in an infantry config. Most of the other sections should be fairly self explanatory. One point of confusion might be model and uniformModel, although I haven't tested it myself, I assume model is for when the vest is on the ground and uniformModel is for when the vest is being worn by a unit.

    Hope that helps.


  4. It seems that another impediment to modding for Arma 3 is that there are to my knowledge no purpose-built, Arma 3-specific tools but rather that everyone is having to use the same tools from Arma 2 and then try to incorporate/take advantage of the engine changes in Arma 3...

    Can only speak for infantry modding but personally it hasn't made any difference (that i've noticed anyway lol) using tools designed for OA instead of A3, the difficulty comes from having to work out how all the new bits of equipment and uniforms worked together and updating the config accordingly, which was made easier thanks to vespa's guide he wrote.


  5. Although I have no experience with buildings so can't comment on what counts as an efficient model/design, generally speaking, the higher the section count, the bigger the performance loss is gonna be in game. As long as it oesn't become a habit of adding "just one more section" then having an extra one for the door probably wouldn't be an issue.


  6. Sure if you made a model and textured it 100% yourself, you could have turned around and sold it to some company. But then, releasing it simultaneously as a mod for free wouldn't bode too well would it?

    Well, doing that isn't exactly selling a model, then giving it away for free, it would be part of an addon, designed for a particular game, packaged in a format for only that game. The only way someone could get the model from the addon is if they illegally rip it.

    Were you going to sell your Arma 3 missions? Oh wait, you can't because they never belonged to you in the first place.

    Losing your IP rights (or whatever it is Steam asks you to give up), would mean you to an extent lose ownership of whatever you make, which is a pretty big deal.


  7. If you don't have it already, below is a link to the BIS character sample, within that should be a model with the BIS hands, the head for higher LODs at least, works via proxy (the big triangle things you might have seen on a model). FOr both it should be a simple case of copying and pasting them over into your own model, the texture path for the hands should be correct already so no need to worry about that.

    BIS Character Example

    Hopefully that made some sense but if not I can explain it in more detail :)

    Again if you haven't already seen this, it might be worth looking at


  8. HMNVS is looking good mate

    Will there be vest+beltkit variants with closed mag pouches?

    Cheers dude, there'll be closed mag pouches on a variant of the vest, just gotta model/texture it first lol. Will most likely use the closed pouch version on the final rifleman setup when it's all said and done.

    Nice job mate! i really like the new nvg is it the same as a pvs-14? or is it two different goggles

    AFAIK they are the same thing, might be minor differences but to the layman such as myself they look the same!


  9. So, not really had much time to spend on this recently but I guess here is a small update anyways.

    BritMTP.jpg

    Larger

    Been working on adding the HMNVS instead of the default BIS NVGs, still not finished but have at least got it working in game. Textures have been updated, mainly thanks to work/help from Sabre :). Still have a pretty big "to do" list and not much time free so progress will possibly be a bit slow at the moment.


  10. can i get some info for adding neck scarfs and face mask and back packs please as not sure how to go about it

    will the back packs use the back pack proxy that dk released for the a2 units example or are a3 units different

    Backpacks appear to function the same as in A2 although having only briefly added one of my own I can't say for sure if it all functions. Either way in case you hadn't seen this: Backpack tutorial...

    Neck scarfs and face masks would either be part of the model by default, or added to something like the helmet model and applied the same way as you would any other headgear I suppose.


  11. Although probably far from the best to help with all this seeing as I very rarely deal with the mass of objects I'll hopefully give a rough idea at least.

    My question is how would you apply the weight to this structure?

    In terms of the physical way it's done in O2, there'll be a small "mass" box (normally in the bottom left) that will allow you to enter the weight of your object.

    mass.jpg

    IIRC you can only enter a number into the mass box from within the geometry LOD, might be wrong though. Also, I've always assumed the number was representative of Kilograms but I can't actually back that up.

    Would you select the whole thing and let oxygen disperse the weight throughout?

    Doing that will make oxygen just find the centre of mass amongst all the selected points. So as an example, if a square was selected, it would place the centre of mass in the middle, between the four corners. You might want to make say, the main construction of the bridge weigh more than the road across or the suspension lines. To be honest though,I have no clue how that would affect the thing in game.

    Would it be able to be pushed around if you didn't specify a high enough weight?

    I can only speak in terms of infantry modelling but I have found with very low weight the bodies would slide along the floor if a grenade went of next to them.


  12. You have to have a team at minimum of five to really product a above good product.

    It depends what you plan on actually doing to be honest. It's completely possible to release a very high quality mod as an individual. As an example there are lots of weapons, infantry and islands that have been made either individually or by only a few contributors.

    To shed a bit of light on my personal experience, I began modding in 2008, 3 months after starting I'd released what was basically just a retexture (although there were small model changes to the BIS samples). I had absolutely no experience in anything tech related, couldn't model/code etc. Most of the progress was through trial and error. Plenty of times during the process I had no idea why something was behaving in a particular manner, often it was a case of changing one thing at a time until it worked.

    5 years later and I'm still learning new stuff but at the beginning I'd have never imaged I'd be doing it so long, or still learning!

    You would think that someone has come up with a manual for this community modding sector. But every time someone points out this short coming. Someone knock them down for being logical.

    I get a couple emails a week from people asking for advice or help, and I'm always happy to give it, often it's prompted me to plan on writing a step by step guide for how to get an infantry addon completed. The issue is, although often the questions I get are similar, each response I give tends to be different enough that it would be hard to cover in a one size fits all guide.


  13. As DH said, the "naked_body" model is completely swapped out for a uniform model when one is applied. With armour models, it is applied on top of the uniform. With that in mind. If your uniform model was just a pair of trousers, the whole naked body model would be replaced leaving just a pair of legs lol. That said, you could take the top half of the sample model from BIS to give the impression it's still there (if that makes any sense).

    Issue would be weighting the upper body slot so as not to clip through the top half of the naked body if you did it this way. Alternatively you could just not use the naked upper body, but that would look a bit odd lol

×