-
Content Count
4,756 -
Joined
-
Last visited
-
Days Won
542
Content Type
Profiles
Forums
Blogs
Forum & Tracker Requests
Downloads
Gallery
Store
Calendar
Everything posted by DarthParametric
-
Editing animations and rigging
DarthParametric replied to Kensei Jintaro's topic in General Kotor/TSL Modding
The game reads the player supermodels in a chain like this Body -> S_Female03 -> S_Female02 -> S_Female01 -> S_Male02 -> S_Male01. Any time it needs an animation it checks the base model, if what it needs isn't there then it checks the supermodel, it then checks that model's supermodel, etc. It stops as soon as it hits the anim it is looking for, so any anim lower in the chain will override an anim with the same name higher in the chain. Female body models set S_Female03 as their supermodel, and male body models set S_Female02. Thus, all unique female anims are on S_Female03 which male bodies never see. All the other anims are shared but are scaled via an animation scale factor specified in each model. This is especially important in K1 since not only are there height differences between the sexes, but each sex also has three different heights as well. But that side of things is handled dynamically by the engine, outside of any anims specifically on a given model (i.e. S_FemaleXX supermodels use a female rig, S_MaleXX supermodels use a male rig). I don't use Blender, but as I understand it it needs to break each animation into a separate file or scene, or something like that. Which would make working on supermodels fairly impractical to say the least, given the number of anims on them. But someone familiar with Blender and KOTORBlender in particular would need to chime in there. I would think the only way to get a workable KOTOR model out of it would be to export the specific modified animation you wanted and then directly edit an ASCII copy of the relevant vanilla supermodel in a text editor, replacing the original anim block with your modified one, then compile. If you are still having troubles even getting models into Blender then again I can't help specifically with that other than to suggest that you make sure you have the latest version of KOTORBlender. Edit: Regarding the specific attacks you mentioned, there are actually a number of anims for each. For example, in K1 Flurry has a perform anim, a damage anim, and a parry anim. Each weapon type - single, dual wield, double - has its own set of anims. Then in TSL this is tripled, each attack having three anim variants for each of perform/damage/parry, and it adds in the same for unarmed for good measure. TSL handily provides descriptions for most of its anims in animation.2da (for example, the Flurry Damage 1 anim for single swords/sabers is f2d2a). K1 doesn't provide any such description, so you'll have to do some detective work to figure it out. -
Editing animations and rigging
DarthParametric replied to Kensei Jintaro's topic in General Kotor/TSL Modding
If you want to do anything with KOTOR, Blender is not really a productive route. The primary vector is Max via the KOTORMax I/O script. That said, your problem is almost certainly the fact that you used KTool to do the conversion. The version of MDLOps bundled with that is super ancient and should never be used, by anybody. You want to extract the model archives and then do the conversion to ASCII with MDLEdit (latest beta release here). KOTORBlender should work ASCIIs generated from that. As to the character models, they are skeletal meshes, but they use meshes as bones (which double as shadowcasters). You can actually convert the rig to regular bones when exporting via FBX (at least from Max when flagging them as bones), like so: If you were planning on using Blender to Maya back to Blender you are probably going to experience a lot of grief, especially when it comes to character models and animation. Regarding the animations themselves, most humanoid animations (including player characters) are split across the five human supermodels - s_female01/02/03/s_male01/02. These are all linked together in a dependency chain. The duplicates exist because s_female03, the lowest in the chain, has exclusively female anims, which override the male equivalents higher up. -
Peragus Administration Level Room Model Fixes
DarthParametric commented on DarthParametric's file in Mods
-
Creating new facial animations
DarthParametric replied to Alvar007's topic in General Kotor/TSL Modding
No, it's a separate animation that can be specified during a conversation. -
How about the exporting of error reports that I posted about back in January? That might be useful for providing you with more details.
-
I think 2K19 Ultimate Edition sounds better.
-
I think AFP was inspired by Leilukin's mod. It simply swaps their equipped robe for clothes (and puts their robes in the inventory). The script edit for Jolee joining is unrelated. That one is to hide the fake Jolee visibly fading out as the real one joins the party.
-
Issue w/ Edited Mesh Head Import
DarthParametric replied to weirderwest's topic in General Kotor/TSL Modding
There's no animation on the model, so that won't make any difference. Post your ASCII. -
Issue w/ Edited Mesh Head Import
DarthParametric replied to weirderwest's topic in General Kotor/TSL Modding
She looks great. You should play like that. At a guess, I would suggest you have destroyed the skin weights on some or all of the meshes. That last pic is definitely an instance of what should be skinned meshes no longer deforming due to animation. -
June 2020 here we come.
-
MOD:Revan's Hoodless/Maskless Flowing Robes For K1
DarthParametric replied to DarthParametric's topic in Mod Releases
Might need an appearance.2da edit to set a default envmap. What player head are you using? -
Dark Jedi Wear Robes (for JC's Cloaked Jedi Robes Mod)
DarthParametric commented on DarthParametric's file in Mods
-
An idea regarding the tips/donations crossed my mind, that I'm not sure what the overlords would make of. Rather than asking for direct cash payments such as through PayPal, how about instead asking for Steam gift codes (and/or GOG, if they do that too)? I can see that being less of a headache for the mod author, saves them giving out their personal details and having to deal with potential tax implications of money magically appearing in their bank account.
-
Not without forcing them to use a custom body model, since players share animations with 90% of other characters. Thus changing the generic supermodels would affect everyone else as well. And in TSL it would probably require additional custom animation for robes.
-
Assuming you haven't implemented it (or plan to) already, one way of managing the tips thing (which I find a weird nomenclature btw, why not just call it a donation?) might be to add a dedicated field to the mod submission page where the modder can enter a PayPal address or whatever. Maybe with a default message to the effect of "The author has opted out of tips/donations for this mod". It would make it a more consistent enduser experience rather than making them have to ferret through different readmes for the information. And it would keep that junk out of the actual important information about the mod.
-
I fixed the animation issue. It seems that the game didn't like it when reading directly from a modified human supermodel, but when I loaded the anims onto a scaled up Jawa rig they work fine: K1_Jawa_Supermodel_v2.7z The other issue is that none of the Jawa will actually do anything because they lack any default scripts, aside from the OnDialogue one: Adding in all those results in this: I also tweaked the script a bit. It now uses an include script, so you'll need to extract those from scripts.bif and put them in the same folder as the hostile script - k_inc_generic, k_inc_gensupport, k_inc_drop, k_inc_walkways: #include "k_inc_generic" void main() { object oPC = GetFirstPC(); object oJawaA = GetObjectByTag("tat20_06jawa_01", 0); object oJawaB = GetObjectByTag("tat20_06jawa_02", 0); object oJawaC = GetObjectByTag("tat20_06jawa_02", 1); // 10 is considered "high" in vanilla shifts, so I reduced this from 15 AdjustAlignment(oPC, ALIGNMENT_DARK_SIDE, 10); ChangeToStandardFaction(oJawaA, STANDARD_FACTION_HOSTILE_1); DelayCommand(0.5, AssignCommand(oJawaA, ClearAllActions())); DelayCommand(1.0, AssignCommand(oJawaA, GN_DetermineCombatRound())); ChangeToStandardFaction(oJawaB, STANDARD_FACTION_HOSTILE_1); DelayCommand(0.5, AssignCommand(oJawaB, ClearAllActions())); DelayCommand(1.0, AssignCommand(oJawaB, GN_DetermineCombatRound())); ChangeToStandardFaction(oJawaC, STANDARD_FACTION_HOSTILE_1); DelayCommand(0.5, AssignCommand(oJawaC, ClearAllActions())); DelayCommand(1.0, AssignCommand(oJawaC, GN_DetermineCombatRound())); } And one final tweak to the UTCs is that they lack the proper Jawa soundset. Much like the missing scripts, this was due to there never being the intention for them to end up in combat. Oh, and if you want to make UTC changes, be aware that editing them and dumping them in the Override won't work for an existing save. That will require a save before entering the module or otherwise you'll need to edit the save itself, since a module's GIT is included as part of the save, which incorporates the UTC data from any (living) NPCs.
-
The latest version seems to always revert to the KOTOR 2 format setting when the program restarts, unlike prior versions.
-
The DS shift worked fine for me, but there was a problem with the script that meant the Jawa wouldn't turn hostile. This is the corrected version: void main() { object oPC = GetFirstPC(); object oJawa; string sJawa = "tat20_06jawa"; AdjustAlignment(oPC, ALIGNMENT_DARK_SIDE, 15); oJawa = GetFirstObjectInArea(); while (GetIsObjectValid(oJawa)) { if (GetStringLeft(GetTag(oJawa), 12) == sJawa && GetStandardFaction(oJawa) != STANDARD_FACTION_HOSTILE_1) { ChangeToStandardFaction(oJawa, STANDARD_FACTION_HOSTILE_1); } oJawa = GetNextObjectInArea(); } } However, the Jawa model lacks any combat or death animations (and has no supermodel), so even though they turn hostile, they just stand there and freeze in place once killed. Looking at the rig, it seems like it might be possible to point it to one of the player supermodels, or at least create a unique supermodel with a subset of required anims. I'll have a play with it.
