Jump to content

Custom Race, Custom Body Meshes???


AyamePasse

Recommended Posts

I'm sorry all, I've checked the last 50 pages of this forum (I hope this is the right one!), searched the web for days, and read like 5-10 different tutorials... None cover custom body meshes for custom races. Everywhere I look people say it can't be done, yet I've seen several different races that do just that, and was even able to add my own mesh (unique only to that race, and not used by any others, including NPCs) simply by copying it to the downloaded race's folder and overwriting. Trouble is, I want to create my own races with their own body meshes, but tutorials only cover heads (which I figured out by myself just by tinkering with CS for five minutes), and I'd hate to download a race made by someone else and alter it for each race I wish to create. Then I wouldn't be able to call them my own, PLUS, eventually, I would run out of races to alter! And altering a race means I can have my race, or the downloaded race, but not both...

 

One race I saw (http://oblivion.nexusmods.com/mods/21858) made the bodies as unnamed, unplayable clothing that seems to automatically unequip/re-equip itself when you change clothes... Near as I can tell. I've tried editing those to point to my own meshes in my own race folder both with CS and TES4Edit, and every time I end up with a vanilla body covered in my own texture, which doesn't fit the vanilla mesh properly. I asked how it was done in the comments section, but I'm not sure it will get seen there, and I'd hate to bother someone with a PM if I can avoid it...

 

Please somebody tell me what I am missing? I have all these perfectly functional creations I've made... And all for naught... :sad:

Link to comment
Share on other sites

You can't give a race its own body mesh. Full stop. Its impossible.

 

You can cheat around it by using equipable bodies, but ultimately, the body will be determined by the clothing worn, The body mesh is only actually used when no clothing is being worn.

That's EXACTLY what I'm trying to do (as mentioned in the middle of my post), but I don't know how to make clothing that automatically equips itself when no clothing is worn. *Feels stupid* :pinch: Do you know how? :sad:

Edited by AyamePasse
Link to comment
Share on other sites

That's EXACTLY what I'm trying to do (as mentioned in the middle of my post), but I don't know how to make clothing that automatically equips itself when no clothing is worn. *Feels stupid* :pinch: Do you know how? :sad:

 

You have to script it. You'd need to make a full body equippable mesh (fairly simple) an then write a script that forces it to equip whenever you take off the clothes.

 

Though, I must say, I would find this astoundingly irritating on a custom race. If you are going to make a custom race, let the users use whatever body mesh they want. Now, if you are making a companion, thats different.

Link to comment
Share on other sites

That's EXACTLY what I'm trying to do (as mentioned in the middle of my post), but I don't know how to make clothing that automatically equips itself when no clothing is worn. *Feels stupid* :pinch: Do you know how? :sad:

 

You have to script it. You'd need to make a full body equippable mesh (fairly simple) an then write a script that forces it to equip whenever you take off the clothes.

 

Though, I must say, I would find this astoundingly irritating on a custom race. If you are going to make a custom race, let the users use whatever body mesh they want. Now, if you are making a companion, thats different.

Well the body is already made. As far as I gather from the race I discovered this 'clothing for a body' tactic through, the user can do just that by taking their desired meshes and overwriting the race meshes with them. But I have MYSELF in mind as a user, hence why I want to use the meshes I made specifically for the race (and I want to make custom races solely for the variety of unique body types). I know armor would have to be adapted to fit, and I've done so for several items already. :wink: Anywho, I'm inexperienced with scripting, despite being somewhat capable at making models... I suppose I'll look at the race I've been working with, and see if I can learn from its own scripts. Although I tried that once and got all sorts of errors in CS. :pinch:

 

Edit: Side note, a couple of them I DO plan to use as companions, but I'm not sure why that's different... :huh:

 

Also, I started by trying to edit the scripts that were already there, and couldn't save them because CS would claim lines that I DIDN'T change were unrecognized or what have you... Such as the command 'equipitemns' which was there from the beginning... Its really starting to look like I'm too der to make mods; even though I'm capable of making meshes, I can't use them. :pinch:

Edited by AyamePasse
Link to comment
Share on other sites

Well, "EquipItemNS" is an OBSE (Oblivion Script Extender) script function. You're probably not starting the CS via "obse_loader.exe -editor", or are you? Thus there is no OBSE support now and those functions aren't recognized.

 

As for custom body meshes on custom races, you need to understand besides a few exceptions (head mesh, face meshes, ears and tails) "every" single race uses one and the same set of "body" meshes, that is upperbody, lowerbody, hands and feet. You cannot simply do something like "overwriting the race meshes" for one specific race, as there are none specific to a single race to begin with. Overwrite a body mesh and you change "all" races at once.

 

The only way around this limitation is to use the already mentioned "wearable body" approach, abusing the fact that your body actually is inside the clothes you're wearing and always changes with them, and using scripts to auto-equip those custom-shaped body parts or keep them equipped. This does limit your race to only adapted clothing and armor items or your custom-shaped body will simply turn back into a human again when you equip the wrong items.

 

It is relatively simple to design a script which will auto-equip a custom body part when its slot is empty. But what to do when the slot is not empty but the item equipped doesn't fit (i.e. removes) your custom body?

My scripting approach tried to deal with this in the most universal way I could come up with, but sadly it's rather complex, very convoluted, and full of drawbacks and incompatibilities, and without any free time I can't continue refining it.

There are other approaches doing the same, but all have some drawbacks or limitations of their own. This engine limitation is difficult to get around and the more universal you want your solution to be the more work it will require.

Link to comment
Share on other sites

Well, "EquipItemNS" is an OBSE (Oblivion Script Extender) script function. You're probably not starting the CS via "obse_loader.exe -editor", or are you? Thus there is no OBSE support now and those functions aren't recognized.

 

As for custom body meshes on custom races, you need to understand besides a few exceptions (head mesh, face meshes, ears and tails) "every" single race uses one and the same set of "body" meshes, that is upperbody, lowerbody, hands and feet. You cannot simply do something like "overwriting the race meshes" for one specific race, as there are none specific to a single race to begin with. Overwrite a body mesh and you change "all" races at once.

 

The only way around this limitation is to use the already mentioned "wearable body" approach, abusing the fact that your body actually is inside the clothes you're wearing and always changes with them, and using scripts to auto-equip those custom-shaped body parts or keep them equipped. This does limit your race to only adapted clothing and armor items or your custom-shaped body will simply turn back into a human again when you equip the wrong items.

 

It is relatively simple to design a script which will auto-equip a custom body part when its slot is empty. But what to do when the slot is not empty but the item equipped doesn't fit (i.e. removes) your custom body?

My scripting approach tried to deal with this in the most universal way I could come up with, but sadly it's rather complex, very convoluted, and full of drawbacks and incompatibilities, and without any free time I can't continue refining it.

There are other approaches doing the same, but all have some drawbacks or limitations of their own. This engine limitation is difficult to get around and the more universal you want your solution to be the more work it will require.

I'm sorry... I thought my post made it sort of clear that I know I can't literally replace an actual BODY for one race and not all the others (hence why I said I was content with just making it as clothing, not an actual body). :sad: I don't care about what happens when I equip clothing items not designed for this body type, as I intend to convert many items specifically for this race (I already added a special clothing set to the inventory of this race so he won't be naked), I just want to make it LOOK like he has a unique body type when he is, for example, shirtless. :)

 

Thank you much for the tip on opening CS with OBSE! I didn't realize I could do that, nor do I know HOW, but hopefully I can figure it out now that I know I'm supposed to... My apologies for my newbiness, the only modding I've EVER done was a few skins for The Sims 3. So needless to say, I'm EXTREMELY new to all this...

Link to comment
Share on other sites

There's no need to be sorry for being new to modding or to apologize. At one point we all were new to modding.

 

No, I'm sorry, if I got you wrong on this. It was just your first line, "the user can do just that by taking their desired meshes and overwriting the race meshes with them", made me think you still assumed there'd be some body meshes on a "per-race" basis to be found somewhere in the folders one can replace, which is not the case. Thus I repeated it.

 

If we're just at force-equipping the body items when the slot is empty now, you can check if the slot is empty via GetEquipmentSlotMask and comparing the returned value with "0". Do this for each slot and use EquipItemSilent to equip the body part item. Create such items with "playable" not checked and you won't be able to see them in your inventory or use them yourself. Use AddItemNS to silently add them to your inventory once.

 

As for opening the CS with OBSE, I actually told you how it's done. Simply create a shortcut to "obse_loader.exe" on your desktop or somewhere and then add "-editor" to the end of the command line, so it reads something like "...\Oblivion\obse_loader.exe -editor". If you doubleclick this shortcut then, it will start the CS with OBSE and all OBSE functionality will be recognized within your scripts.

Link to comment
Share on other sites

There's no need to be sorry for being new to modding or to apologize. At one point we all were new to modding.

 

No, I'm sorry, if I got you wrong on this. It was just your first line, "the user can do just that by taking their desired meshes and overwriting the race meshes with them", made me think you still assumed there'd be some body meshes on a "per-race" basis to be found somewhere in the folders one can replace, which is not the case. Thus I repeated it.

 

If we're just at force-equipping the body items when the slot is empty now, you can check if the slot is empty via GetEquipmentSlotMask and comparing the returned value with "0". Do this for each slot and use EquipItemSilent to equip the body part item. Create such items with "playable" not checked and you won't be able to see them in your inventory or use them yourself. Use AddItemNS to silently add them to your inventory once.

 

As for opening the CS with OBSE, I actually told you how it's done. Simply create a shortcut to "obse_loader.exe" on your desktop or somewhere and then add "-editor" to the end of the command line, so it reads something like "...\Oblivion\obse_loader.exe -editor". If you doubleclick this shortcut then, it will start the CS with OBSE and all OBSE functionality will be recognized within your scripts.

Thank you so much for all your help, as it happens, I couldn't get CS to run with OBSE per your instructions, then, if I remember correctly, setting every .exe in the Oblivion folder to run as Administrator bypassed the 'can't inject the dll' issue I was having. ;) That said, I actually got it figured by studying the structure and useage of scripts on a race someone else made, and was able to make my own, stand alone race based on that! Now if I could just figure out how to make scripts for a disease/curse that takes effect only at night, I'd be set. ;) Thank you again, and, btw, if you are who I think you are, your Anthro Dragon Race is EPIC. I'm quite honored to receive help from talent such as yours. ^_^

 

Ooh, to clarify, when I spoke of overwriting race meshes with their own preference, I was actually quoting the maker of a race I linked to in my firt post, in which the user can replace the scripted clothing meshes by copy/pasting their preferred body mesh into the custom race's body mesh folder. :) Sorry for the confusion.

Edited by AyamePasse
Link to comment
Share on other sites

Hmm, you never said you were having this "can't inject DLL" issue when trying to start the CS with OBSE, else we could have solved this as well right away.

 

As for determining the ingame time, I think this page could prove useful to the task.

 

And guilty as charged, yes, that's me. The Anthro-Dragon Race is my eternal WIP project. :sweat:

Edited by DrakeTheDragon
Link to comment
Share on other sites

  • Recently Browsing   0 members

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