Jump to content

DT.

Members
  • Posts

    4,085
  • Joined

  • Last visited

Posts posted by DT.

  1. If you're interested, I've added custom saber blades. Modders can load custom blade textures (eg. Kylo's unstable blade, Rebels blades, etc) & set a custom dlight color, when saberColor is set to custom. I've only added it to single sabers, not double-bladed sabers though it wouldn't take much to do it.

    Here's the code: https://github.com/DT85/OpenJK/tree/Custom_SaberBlades

     

    3N2RWck.jpg

  2. Getting a GLM to FBX:

    Noesis reads the GLA associated with the GLM from the same directory as the GLM. Be sure to place your GLA in the same directory as your GLM or you won't get any bone data/animation exported. If it's just a weapon GLM, then just import.

    - Open Noesis (4.0996 at least is required)
    - Load the GLM model you wish to convert to FBX
    - Export the GLM model to FBX
    As far as I'm aware, Noesis will export the legacy FBX version (2006 version?) which is importable by all versions of FBX plugins.

    Getting an GLM from FBX to game (Player Model):

    Noesis reads GLAs from the same directory as the export directory. Be sure to place the _humanoid GLA you wish to have your model work with in the same directory as your export directory or you won't get the proper bone ordering. To get texture names stored in the GLM, name your material in your 3D package like this: models/<yourmodelpath>/<yourtexture>.jpg

    - Create your model following the JKA model construction guidelines as normal, and weigh the model using minilogoguy18's ModTool rig or the included max file if you're using 3ds Max (8+).
    - Export your model to FBX
    - Open Noesis (4.0996 at least is required)
    - Load your FBX model
    - Export your FBX model to GLM with the following command in advanced options:

    JKA GLA:
    -scale 0.64 -g2exforceskeleton 53 -g2extagtrivertshift 4 -g2exorderbonesfromgla _humanoid.gla

    JK2 GLA:
    -scale 0.64 -g2exforceskeleton 72 -g2extagtrivertshift 4 -g2exorderbonesfromgla _humanoid.gla

    You may need to play around with the number for -g2extagtrivertshift to get your desired result.

    Getting an GLM from FBX to game (Weapon Model):

    To get texture names stored in the GLM, name your material in your 3D package like this: models/<yourmodelpath>/<yourtexture>.jpg

    - Create your model, and split it up so each object doesn't go over 1,000 verts
    - Create your tags with the name starting with * ( example *blade1 or *weapon )
    - Export your model to FBX
    - Open Noesis (4.0996 at least is required)
    - Load your FBX model in Noesis
    - Export your FBX model to GLM with the following command in advanced options:

    -g2exanimname *default -g2exfakehierarchy -g2exforceskeleton 1 -g2exmodelname models/weapons2/<yourweapondirectory>/<yourweaponname>_w.glm

    If your tags are angled wierd in modview, use the "-g2extagtrivertshift" command like so:

    -g2exanimname *default -g2exfakehierarchy -g2exforceskeleton 1 -g2exmodelname models/weapons2/<yourweapondirectory>/<yourweaponname>_w.glm -g2extagtrivertshift 4

    You may need to play around with the number for -g2extagtrivertshift to get your desired result.

    Notes:

    I've included a max (Max 8+ required to open) file that has the all the bones & tags you need. Everything is put into layers:

    Base Bones - Base bones that are shared between JKA & JK2 skeletons
    JK2-Specific Bones - Bones specific for JK2 model rigging. Unhide this layer if your model is for JK2, and hide "JKA-Specific Bones" layer.
    JKA-Specific Bones - Bones specific for JKA model rigging. Unhide this layer if your model is for JKA, and hide "JK2-Specific Bones" layer.
    Size Reference Mesh - Reference mesh used for proportions when creating your model. Isn't weighed.
    Tags - All the game tags. the "bolt_l_hand" is weighed to the "lhand" bone by default so if your model is for JKA, please re-weigh this tag to the "lhang_tag_bone".

    Rich has also provided a zip which contains batch files that allow you to include LODs: http://www.richwhite...JediAcademy.zip

     

  3. Getting an MD3 to FBX:

    - Open Noesis (4.0996 at least is required)
    - Load the MD3 model into Noesis
    - Export the MD3 model to FBX

    As far as I'm aware, Noesis will export the legacy FBX version (2006 version?) which is importable by all versions of FBX plugins.


    Getting an MD3 from FBX to game:

    To get texture names stored in the MD3, name your material in your 3D package like this: models/<yourmodelpath>/<yourtexture>.jpg

    - Create your model, and split it up so each object doesn't go over 1,000 verts
    - Add any bone objects you want as tags and name them "tag_<name>"
    - Export the model + bone objects to FBX, any version should be ok
    - Open Noesis (4.0996 at least is required)
    - Load your FBX model into Noesis
    - Export your FBX model to MD3 with the following command in advanced options:

    -md3tbone <BoneName> <TagName>

    without the < > of course. smile.png


    Notes:

    Tags are created from bone objects in Max, not sure about other software. Rich said any skeletal joints. If you're wanting to create world weapon models (held in the player model's hand), then please check out my GLM tutorial.

  4. It would end up the exact same as it is now game-wise, just that it's split up into parts for easier modding. Personally, I'd rather just have every animation loose like Quake 4 does with MD5anim but I'm pretty sure this appending code has some sort of memory limitations and appending 1,000+ GLA's would kill something. :lol:

  5. what I'd like to do with this is break up the main gla into parts like so:

     

    - Core (runs, walks, crouch walks, jumps, stands, idles, deaths, legs, swims, face)

    - Guns (all gun animations)

    - Saber (all saber animations)

    - Force (all force animations, including acrobatics)

    - Misc (any animations that do not fit in any other category)

  6. Yes, it would override the existing animation in either the base _humanoid.gla or a previously appended GLA.

     

    What would be the point of making anims.h external? Any new animations would still need to be coded in to actually do something, unless of course you mean for ICARUS where you can just play an animation.

  7. Long answer: The initial thought was to have an easier way for modders to add new animation in (though it would require code edits for them to be added to the animtable, and to actually do something). But I noticed that the last appended GLA will override the main GLA's (and any other previously appended GLAs) animation, which is great because people like to make stance mods.

     

    Short answer: It works to add and/or replace animations.

     

     

    Side note: Might be possible to do this per class, not sure.

  8. So I've figured out how to load another GLA ontop of the base _humanoid GLA and the cinematic map GLA. Here's the code:

     

    NPC_stats.cpp - Game

    Find line "if (Q_stricmp(skeletonName, "_humanoid")==0)" and put this in after the cinematic GLA stuff.

    			// loading the "modder" animation GLA for new animations, so animators don't need to edit the base _humanoid GLA.
    			char  _humanoid_mod1Name[MAX_QPATH];
    			Com_sprintf(_humanoid_mod1Name, MAX_QPATH, "_humanoid_mod1");
    
    			const int mod1_animsGLAIndex = gi.G2API_PrecacheGhoul2Model(va("models/players/%s/%s.gla", _humanoid_mod1Name, _humanoid_mod1Name));
    			if (mod1_animsGLAIndex)
    			{
    				assert(mod1_animsGLAIndex == normalGLAIndex + 2);
    				if (mod1_animsGLAIndex != normalGLAIndex + 2)
    				{
    					Com_Error(ERR_DROP, "_humanoid_mod1 GLA was not loaded after the normal GLA.  Cannot continue safely.");
    				}
    				G_ParseAnimationFile(2, _humanoid_mod1Name, fileIndex);
    				G_ParseAnimationEvtFile(2, _humanoid_mod1Name, fileIndex, mod1_animsGLAIndex, false/*flag for model specific*/);
    			}
    

    tr_ghoul2.cpp - Renderer

    Find line "if (!strcmp(mdxm->animName,"models/players/_humanoid/_humanoid"))" and put this in after the cinematic GLA code.

    		// loading the "modder" animation GLA for new animations, so animators don't need to edit the base _humanoid GLA.
    		RE_RegisterModel("models/players/_humanoid_mod1/_humanoid_mod1.gla");	
    

    This "modder GLA" takes preference over the base _humanoid & cinematic GLAs in-game, so modders can do easy animation replacements. You can make stance mods or add new animations (would need code edits obviously for new animations) without having to touch the base _humanoid GLA.

    ent, swegmaster, Kualan and 4 others like this
  9. Honestly, I just feel a bit robbed.

     

    I wanted to see Luke in one, if not final REAL lightsaber battle.

     

    We needed more Jedi temple flashbacks of a younger Luke teaching others including Ben, to really drive home what got destroyed. We needed to see Luke as he was before snoke corrupting Ben.

     

    Speaking of Snoke, why the hell is he dead? He was cut about the same place as Maul. I'd very much like to see Hux somehow bring him back to life, if only to kick Bens ass.

    z3filus, Smoo, R4D1C4L and 3 others like this
×
×
  • Create New...