Jump to content

BodyChange - A Multi-Bodyshape System


D_ManXX2

Recommended Posts

Posted

Yes i was waiting for this for long time. oblivion had this with the body spell. Now i don't have to worry about the body type anymore. It is still being worked on, and also make only changes to female player character.

 

There was another one like this but it was buggy as hell. This one seem much more stable and easy to use.

Posted

Wait I'm not getting how this works

 

Let's say i have my own custom body, your telling me

 

That i could take my favorite TBBP armor and convert it to my custom body on the fly?

 

if so this is a game changer :exclamation:

Posted

/sigh..... if I had source files for these scripts, I'm fairly certain I could make this work for custom races with multiple headparts.

 

Otherwise, it's pretty much useless to me for anything but vanilla races, but who wants to play one of those?  :P

Posted

/sigh..... if I had source files for these scripts, I'm fairly certain I could make this work for custom races with multiple headparts.

 

Otherwise, it's pretty much useless to me for anything but vanilla races, but who wants to play one of those?  :P

 

Blizzard actually did a decent job this time around. Textures were a bit foggy, and they resorted to the old "draw the toes on a boot" method, but a bit of tweaking leaves them on par with any of the custom races available.

Posted

 

/sigh..... if I had source files for these scripts, I'm fairly certain I could make this work for custom races with multiple headparts.

 

Otherwise, it's pretty much useless to me for anything but vanilla races, but who wants to play one of those?  :P

 

Blizzard actually did a decent job this time around. Textures were a bit foggy, and they resorted to the old "draw the toes on a boot" method, but a bit of tweaking leaves them on par with any of the custom races available.

 

 

Not following you.....

 

I'm talking about head parts other than the femalehead.nif

 

Bethesda baked in the ability to add additional parts to the head without the need to attach them to the head mesh directly (like cat ears, bunny ears, etc...). Any custom race that uses these types of parts (such as Moonshadow Elves), lose those parts in the transition from one body to the next.

 

Which is the problem I was referring to.

Posted

you mean like eye.tri .eqm files etc.. ??

I haven't tested with a custom race yet but it does seem to be compatible.

 

 

Wait I'm not getting how this works

 

Let's say i have my own custom body, your telling me

 

That i could take my favorite TBBP armor and convert it to my custom body on the fly?

 

if so this is a game changer :exclamation:

 

No what i mean is, you can have all body mods installed and there respective armor and clothes in there custom directory. When you switch to a certain body the armor and clothes will change with it.

 

Put it like this:

When you first installed UNP body mod and now you need the clothes and armor to match this unp mesh. so you install it's clothes and armor. but now you want CBBE body. what happens is you need to first uninstall unp and clothes and armor before switching.

 

What this mod does is giving every body type already there respective place so you can keep every single one of them and just use mcm to switch in between these body types.

Posted

you mean like eye.tri .eqm files etc.. ??

I haven't tested with a custom race yet but it does seem to be compatible.

 

No, just as I explained.

 

For instance.....

 

if I load a Moonshadow Elf body and textures into BodyChange, everything swaps perfectly. Including the head. However, since the head mesh is earless, it requires the separate ear mesh it uses, which is attached NOT to the head mesh, but added as an extra head part in the Creation Kit.

 

Swapping back does not relocate the ears to the head as they were before the swap.

 

Essentially, any custom race that sets up it's additional head parts through the CK will not work. Eyes and tri files may not work either. I haven't tested them. Basically, BodyChange doesn't know the parts are outside of the vanilla folder paths. So I suspect that NO files outside of the vanilla folder paths will work with BodyChange, including eye meshes and tri files.

 

However, if race modders had the script source files, we could at least try to find a workaround so custom races could use it. But for now it seems limited to vanilla races only.

 

But alas, the source files weren't included  :(

Posted

 

/sigh..... if I had source files for these scripts, I'm fairly certain I could make this work for custom races with multiple headparts.   :P

BodyChange.psc

BodyChangeWardrobeScript.psc

BodyChangeConfigMenu.psc

My decompiler has some trouble on multi-condition statements but it's more or less readable, Not necessarily compilable.

 

 

Wicked!

 

Thanks for these. They'll be a huge help in trying to find a reliable method for storing multiple head parts in custom races. I'll have a look in the morning, and see if I can find anything.

 

Thanks again,

 

Trykz

Posted

 

 

/sigh..... if I had source files for these scripts, I'm fairly certain I could make this work for custom races with multiple headparts.   :P

BodyChange.psc

BodyChangeWardrobeScript.psc

BodyChangeConfigMenu.psc

My decompiler has some trouble on multi-condition statements but it's more or less readable, Not necessarily compilable.

 

 

Wicked!

 

Thanks for these. They'll be a huge help in trying to find a reliable method for storing multiple head parts in custom races. I'll have a look in the morning, and see if I can find anything.

 

Thanks again,

 

Trykz

 

If you have any questions regarding the functions I can give you an explanation, considering I was the one who added the SKSE functions. I probably could have explained them without the source to that mod but it's less for me to explain if you can just see them used since I don't really have any example usages on hand.

Posted

 

 

 

/sigh..... if I had source files for these scripts, I'm fairly certain I could make this work for custom races with multiple headparts.   :P

BodyChange.psc

BodyChangeWardrobeScript.psc

BodyChangeConfigMenu.psc

My decompiler has some trouble on multi-condition statements but it's more or less readable, Not necessarily compilable.

 

 

Wicked!

 

Thanks for these. They'll be a huge help in trying to find a reliable method for storing multiple head parts in custom races. I'll have a look in the morning, and see if I can find anything.

 

Thanks again,

 

Trykz

 

 

If you have any questions regarding the functions I can give you an explanation, considering I was the one who added the SKSE functions. I probably could have explained them without the source to that mod but it's less for me to explain if you can just see them used since I don't really have any example usages on hand.

 

 

Just one at the moment:

 

does the function check head part formlists for usage, or for the race listed on the form?

 

I'm curious because if it checks for usage, then it *should* be able to extend to extra parts used by the same formlist. For example:

 

A formlist listing a specific race contains usage stats for any part assigned to it in the CK. Such as the head mesh itself, a set of horns, or ears, or even all three.....

 

theoretically, if the function looks for usage, then it should be able to extend to the remaining parts. Since meshes are assigned to specific nodes, then the collection should assemble itself on the character once the call for usage is made. This is pretty new territory for me, so I'm especially interested  :)

 

Thanks again,

 

Trykz

 

Oh, just wondering if you had any plans to further development of RaceCompatibility now that Bethesda is pretty much done with Skyrim? Or are you finished and letting others handle it? Just wondering, because I've used a couple of different versions, and none yet seem as dependable as yours was.

Posted

from my experiences, it does not work well with modded races that require extra body parts.
the khajiit for example doesn't work. however, if you include the meshes for the extra body parts and the textures it might work.

im thinking that if you were to make each body type to be its own separate "modded race" with its own script to make body parts work.
i do not have the knowledge nor the experience to know if that would work. 

Posted

 

does the function check head part formlists for usage, or for the race listed on the form?

 

I'm curious because if it checks for usage, then it *should* be able to extend to extra parts used by the same formlist. For example:

 

A formlist listing a specific race contains usage stats for any part assigned to it in the CK. Such as the head mesh itself, a set of horns, or ears, or even all three.....

 

theoretically, if the function looks for usage, then it should be able to extend to the remaining parts. Since meshes are assigned to specific nodes, then the collection should assemble itself on the character once the call for usage is made. This is pretty new territory for me, so I'm especially interested  :)

 

Thanks again,

 

Trykz

 

Oh, just wondering if you had any plans to further development of RaceCompatibility now that Bethesda is pretty much done with Skyrim? Or are you finished and letting others handle it? Just wondering, because I've used a couple of different versions, and none yet seem as dependable as yours was.

 

Which function are you referring to? FormLists don't internally link to their usage at runtime, that's a CK thing.

 

I'm not sure whether you're referring to the new SKSE functions related to reskinning the body, or the RaceCompatibility function that dynamically assigns races to the common HeadPart listings.

 

HeadParts are assigned to Races via the "ValidRaces" FormList that the HeadPart links to. All the Races within that FormList will have those HeadParts available in the RaceMenu. 

 

I believe the additional parts assigned as "ExtraParts" are not added because the RegenerateHead function literally only regenerates the head, I believe this was a misunderstanding when I decoded this function. It's actually meant to be called for all intended HeadParts, but it is only called for the Head. The function itself will update the particular part appropriately e.g. re-applying the tintMask, re-tinting the hair etc. The intended HeadParts are the ones listed in the ActorBase's array of HeadParts. To apply a completely different head you would need to actually change the HeadPart listing around, currently you can only 'Set' parts, you cannot add or remove them. There is an existing runtime function (that is not exposed) that will replace-and-add, but it's usage is very specific and possibly dangerous to people who don't know what they are doing. What this function is for is replacing a headPart by type, there are several types, Misc, Face, Eyes, Hair, FacialHair, Scar, and Brows, you cannot replace Misc types, you can however, replace other types, if they have "ExtraParts" they will be added/removed appropriately.

 

The SKSE function ChangeHeadPart used to also call this replacer function but I changed the usage around 1.6.14 to accommodate for changing an NPC's HeadPart only visually as opposed to also modifiying the ActorBase. I can add a new function "ReplaceHeadPart" which would be more suitable for modifying any of the player's primary parts (Face, Eyes, Hair, FacialHair, Scar, and Brows). This function would essentially be like changing Head, Eyes, Hair, FacialHair, Scar, or Brows, except you can do it outside the RaceMenu, and you could script it. (Yes, this essentially means you could make a Barber NPC or something, I actually started this and have a mock-up UI for it but I never got around to finishing it).

 

As far as RaceCompatibility goes, I believe I let someone else take over, they seem to be doing what needed to be done. I'm not really sure what others have changed with it if even necessary. The core of the script was just meant to make creating new Races easier and less of a hassle, the concept is fairly straight forward, insert your Race into a master list, insert your Race into all the HeadParts list, and use a Keyword to identify your Race as a known race if you encountered Race dependent dialogue. The master list was kept to control vampire and werewolf transformations where you could identify your target and revert race by using the indexed FormList (Races being added in a specific order yielding the appropriate transformation by index). There is actually probably an easier way to manage transformations now with the help of SKSE, but the benefit to the current RaceCompatibility is that it doesn't require SKSE. The easier method being the Race.GetRace("NordRace") you can get a race by it's EditorID string (Only because it's actually loaded by the runtime). 

 

Race currentRace = player.GetRace()

bool isVampire = StringUtil.Find(currentRace.GetName(), "Vampire", 0) != -1

if !isVampire

    vampireRace = Race.GetRace(currentRace.GetName() + "Vampire")

    player.SetRace(vampireRace)

Endif

 

Assuming the append Vampire to the Race name convention was maintained.

Posted

 

The SKSE function ChangeHeadPart used to also call this replacer function but I changed the usage around 1.6.14 to accommodate for changing an NPC's HeadPart only visually as opposed to also modifiying the ActorBase. I can add a new function "ReplaceHeadPart" which would be more suitable for modifying any of the player's primary parts (Face, Eyes, Hair, FacialHair, Scar, and Brows). This function would essentially be like changing Head, Eyes, Hair, FacialHair, Scar, or Brows, except you can do it outside the RaceMenu, and you could script it. (Yes, this essentially means you could make a Barber NPC or something, I actually started this and have a mock-up UI for it but I never got around to finishing it).

 

This is what I was referring to, but wasn't sure if Misc parts could be retrieved reliably. I'm still glossing over SKSE usage, but probably not in-depth enough to fully understand a lot of what it can or can't do, or even how a lot of functions operate.

 

The reason I asked if you were going to further RaceCompatibility isn't so much that others have done a poor job with it, but mostly because of the stalling problems associated with a script heavy game installation. With the recent advancements in adult mods, this is certain to become more problematic. I found a way of *cheating* for race mods by using a combination of giving the race controller quest a priority of 60, and converting ESPs to ESMs so they get higher priority at game load. It's working for the most part, but still not fully reliable.

 

But that's another issue for another time perhaps......

 

Thanks,

 

Trykz

Posted

Looks like something that could be really handy. No more 1 body type.

Now you can switch in between any bodymods out there on the fly through mcm system.

 

http://skyrim.nexusmods.com/mods/37546

 

And the armor you installed will reflect the change.

 

Indeed, I think this could improve modding quite a bit, as for we would no longer have to decide between one body type over the other one. Basically we can enjoy everything good about each and everyone of the different bodies.

Posted

/sigh..... if I had source files for these scripts, I'm fairly certain I could make this work for custom races with multiple headparts.

 

Otherwise, it's pretty much useless to me for anything but vanilla races, but who wants to play one of those?  :P

 

I do xD!

Posted

Just as an FYI, you can use Lady Body with this mod as well. You'll  need to rename the body's nifs and texture files to standard conventions (eg. LadyBody_0.nif to femalebody_0.nif, etc). Don't forget to change the texture pathing in the nif to your renamed textures using Nifscope. One catch is that since Krista includes the hand textures in the body texture, you'll need to make a separate copy of the body textures and rename them from femalebody_1.dds to femalehands_1.dds, etc.

 

The mod's a great find since I always enjoyed Krista's armors, but not enough to ditch UNP/UNPB.

Posted

Hi all, just wanted to know if there already is some kind of working work around for custom races. It does work in some degree (at least with the ningheim race) but it's very annoying since I have to save and load every time I'm putting on an armor from the wardrobe/or changing the bodytype manually. 

 

edit: The thing is that in the transission from standard body to any other (custom) body type changes the face in a very twisted way, and there is no way of reverting it. If I load an older savegame however the character looks normal again, and still has the custom body applied.

 

edit2: Seems I have been able to fix it myself. I just copied the ningheim/female meshes into the vanilla character assets/ directory, and now changing body works perfectly fine with the ningheim race. No idea though if it broke anything with vanilla npcs.

Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...