Biped Object Names, where are they set and how?

Post » Mon Jun 18, 2012 10:13 pm

I'm trying to create a mod that modifies a non-human race (dogs) in Skyrim so that they can use most of the same equiptment human races use. At the moment, I am working on armor. One of the big problems I am having is defining body slots for the armor to use. The selection of body slots for each piece of armor to use is easy enough in Creation Kit. It's in a big selectable list right under Biped Object in the armor editor. The CK documentation says:

"Biped Object: What part of the body this armor covers."

Cool, that's the parts of the character model that vanish when you apply the part to prevent clipping. That list seems to be set by the race. If I change the primary race that the armor object applies to, the list changes. So I open up the Race editor. Under each race I can see a list called Biped Object Names. This is the same list shown in the armor editor. The CK documentation defines those as:

"Biped Object Names: These are the body and armor slots that define the particular race. The numbers correspond to the W coordinates set and exported from 3DS Max."

So where is this data defined? Where are these parts enumerated? Obviously they are somewhere and not hard-coded, as NPCs and Dogs have different parts of the list filled out. I want to start inspecting this data to figure out how to modify it in a new race. WHere should I start looking? I'm willing (and already using) 3rd party programs. I have NifSkope and access to 3ds Max.
User avatar
jodie
 
Posts: 3494
Joined: Wed Jun 14, 2006 8:42 pm

Post » Mon Jun 18, 2012 9:16 pm

I believe that it is defined by the named vertex groups of the mesh, but I'm no expert.
User avatar
Robyn Lena
 
Posts: 3338
Joined: Mon Jan 01, 2007 6:17 am

Post » Mon Jun 18, 2012 9:59 am

I've poked around the meshes with NifSkope but I haven't seen any named or numbered groups of verticies. I guess I'll find some info on how to bring the meshes back into 3ds Max and look there.
User avatar
Lady Shocka
 
Posts: 3452
Joined: Mon Aug 21, 2006 10:59 pm

Post » Mon Jun 18, 2012 3:42 pm

They're defined in the race, under the body data tab. This lets you assign names to the numbered slots.

Then as you noted, in the armors, to assign that armor to body slot(s). The .nif files have a BSDismemberSkinInstance, which has a subsection "Partitions", defines a number that should match with the numbers for the biped objects.
User avatar
Laura Shipley
 
Posts: 3564
Joined: Thu Oct 26, 2006 4:47 am

Post » Mon Jun 18, 2012 10:08 pm

They're defined in the race, under the body data tab. This lets you assign names to the numbered slots.

Then as you noted, in the armors, to assign that armor to body slot(s). The .nif files have a BSDismemberSkinInstance, which has a subsection "Partitions", defines a number that should match with the numbers for the biped objects.

Cool! I see partitions now! This should help a ton, even if the editing will be a little crazy. I cannot figure out how to edit the names though. The list in Creation Kit is static and there's no name in the SkinPartitionBlock. I'll keep looking.

Edit: Ok, found where the slot ID number is set. The name given to them could very well be hard coded, so that's good enough. Thanks for the help.
User avatar
Monika
 
Posts: 3469
Joined: Wed Jan 10, 2007 7:50 pm

Post » Mon Jun 18, 2012 3:06 pm

I'm trying to create a mod that modifies a non-human race (dogs) in Skyrim so that they can use most of the same equiptment human races use. At the moment, I am working on armor. One of the big problems I am having is defining body slots for the armor to use. The selection of body slots for each piece of armor to use is easy enough in Creation Kit. It's in a big selectable list right under Biped Object in the armor editor. The CK documentation says:

"Biped Object: What part of the body this armor covers."

Cool, that's the parts of the character model that vanish when you apply the part to prevent clipping. That list seems to be set by the race. If I change the primary race that the armor object applies to, the list changes. So I open up the Race editor. Under each race I can see a list called Biped Object Names. This is the same list shown in the armor editor. The CK documentation defines those as:

"Biped Object Names: These are the body and armor slots that define the particular race. The numbers correspond to the W coordinates set and exported from 3DS Max."

So where is this data defined? Where are these parts enumerated? Obviously they are somewhere and not hard-coded, as NPCs and Dogs have different parts of the list filled out. I want to start inspecting this data to figure out how to modify it in a new race. WHere should I start looking? I'm willing (and already using) 3rd party programs. I have NifSkope and access to 3ds Max.

If you can do this using that stuff, i'd definitely like to know, cuz I want to like try to make the troll race playable, partly to see if i can rather then just alter a playable one, like the tutorial for a RedBreton race, and something like this I'm sure would be needed.
User avatar
Claire Jackson
 
Posts: 3422
Joined: Thu Jul 20, 2006 11:38 pm

Post » Mon Jun 18, 2012 8:35 am

So I've been struggling with this for a while again and I just can't seem to get anything good to happen.

So first, I opened up malebody_0.nif to see what's in there. It has two NiTriShapes: one is the character's underwear and the other the player's body, minus feet, head, and hands. Each has a structure like this:

NiTriShapes
> NiTriShapeData
> BSDismemberSkinInstance
>> NiSkinData
>> NiSkinPartition
>> Lots o' bone references

Inside of the BSDismemberSkinInstance block, there is a property called "Partitions"

Num Partitions
Partitions (list)
>Partition (item)
>> Part Flag
>> Body Part

Likewise in NiSkinPartition, there's a matching property set like this

NiSkinPartition
> Num Skin Partition Blocks
> Skin Partition Blocks (list)
>> Skin partition (item)

There's a lot more references and extra stuff, but at its core, there's a list of body part IDs and a list of Skin Partitions that correspond. This file had three different partitions: body (32), forearms (34), and calves (38). Each partition's body part ID matched exactly what it should. Great. This looks really promising!

Then I open up the dog race's dog.nif and see a similar structure that looks like this:

> NiTriShapeData
> NiSkinInstance
>> NiSkinData
>> NiSkinPartition
>> Lots o' bone references

Cool, so it looks like BSDismemberSkinInstance is a class that extends NiSkinInstance. So if I replace the NiSkinInstance with a BSDismemberSkinInstance, add in the body part ID metadata that I want, and hook all the data and partition references back up, I should be on my way, right? Wrong!

As soon as I do this, Skyrim crashes whenever it loads the an actor that is a dog. I double and triple checked my work. The classes take all the same reference types, it seemed like it would be such a neat little hack but it simply doesn't work.

I tried again, this time adding a new dummy NiTriShapeData with a BSDismemberSkinInstance that had all its references filled out but no vertices on any of its skins. Crash.

I tried a third time, this time adding only the NiTriShapeData and the BSDismemberSkinInstance, but leaving all references null. Crash.

Is this supposed to work and I missed something? Or am I barking up the wrong tree?
User avatar
Marguerite Dabrin
 
Posts: 3546
Joined: Tue Mar 20, 2007 11:33 am

Post » Mon Jun 18, 2012 9:40 am

I won't bump more than once, this is it. I'm just really stuck and looking for help.
User avatar
Channing
 
Posts: 3393
Joined: Thu Nov 30, 2006 4:05 pm

Post » Mon Jun 18, 2012 1:34 pm

I've never tried this before, I don't see why it wouldn't work. I can only imagine it going wrong if the bone nodes got rearranged during the save process if auto-sanitize is on.

Try rClicking on the NiSkinInstance and do Block>Convert ?
User avatar
Rude_Bitch_420
 
Posts: 3429
Joined: Wed Aug 08, 2007 2:26 pm

Post » Mon Jun 18, 2012 2:57 pm

Ah, so autosanitize is the thing that was driving me insane reordering everything! Turning that off right now! But no, that actually didn't break anything. I tried opening the file and resaving it so it would scramble all the entries and it was fine.

Now that I've done things your way (which is way easier, thanks, this is the first Gamebryo game I've modded, getting used to the tools), added the partition IDs, and the game still crashes, unfortuately.

First I tried just converting the dog's body (leaving the hair accents alone) and the game loaded and I could use the dog model, but with only the hair accents showing. I thought maybe the game was getting confused to I opened cration kit for a preview. CreationKit warned me that I was mixing dismemberable skins and non-dismemberable skins and advised me to re-export from 3ds Max with W groups.

Since that was not happening, I went back to NifSkope and changed the hair accents to a dismemberable skin, assigning both the body and hir partition IDs of 32 (body). Now the game totally crashes when it loads the dog race. :(
User avatar
Monika Krzyzak
 
Posts: 3471
Joined: Fri Oct 13, 2006 11:29 pm

Post » Mon Jun 18, 2012 3:17 pm

Oh, damn, I made a typo! I accidentally set the hair accents to ID 31 (hair) instead of 32 (body).

Making both body partitions lets things load normally, everything visible. Why would the game crash if I made a non-body partition?
User avatar
Ice Fire
 
Posts: 3394
Joined: Fri Nov 16, 2007 3:27 am

Post » Mon Jun 18, 2012 5:43 am

Ok, got it.

Using SkyEdit, I loaded my mod, which contained a modified dog race. I opened up the dog race, clicked the "Unknown" tab and named the first 13 body parts. I had forgotten that you could name them there!

HEAD
Hair
BODY
Hands
Forearms
Amulet
Ring
Feet
Calves
SHIELD
TAIL
LongHair
Circlet

I then saved the mod, opened it back up in Creation Kit, let it repair the header (skyedit bug), saved again, and now I can assign mesh partitions in NifSkopeto Biped Object Names 30 through 42 and Skyrim doesn't crash when I load it! Furthermore, I can now equip and unequip items just like a human character! All of the Bipen Object Names are filled out too, so no more errors about helmets and such using invalid body parts.

Good stuff. Thanks for your help, throttlekitty. I'd still be spinning my wheels and wasting tons of time using NifSkope the hard way if it weren't for you. Now with this problem out if the way, it's time to get working on my mod again!

http://dl.dropbox.com/u/107712/dogmod_problem.jpg
User avatar
Nikki Lawrence
 
Posts: 3317
Joined: Sat Jul 01, 2006 2:27 am

Post » Mon Jun 18, 2012 9:05 am

Cool stuff! I don't quite understand your fix, it was the result of a broken mod via SkyEdit, or by actually naming unused body part slots?
User avatar
CHANONE
 
Posts: 3377
Joined: Fri Mar 30, 2007 10:04 am

Post » Mon Jun 18, 2012 2:21 pm

The fix was to name the slots with SkyEdit. You cannot name them with the Creation Kit and I had missed the feature before because of it's location in SkyEdit's "Unknown" tab.

Before discovering this, I had assumed that the list was populated in the CK by scanning through the NIFs and looking for skin partitions that were defined. It's actually the opposite though, the slots are defined explicitly as strings in an esp/esm file, and if you have a nif with a BSDismemberSkinInstance and it lists a partition with a Body Part ID that's not named, Skyrim crashes.

SkyEdit does have a bug where it corrupts the header of the mods it touches though, so I had to be sure to open it back of in CK for repair before using it.
User avatar
Abi Emily
 
Posts: 3435
Joined: Wed Aug 09, 2006 7:59 am

Post » Mon Jun 18, 2012 9:37 pm

The fix was to name the slots with SkyEdit. You cannot name them with the Creation Kit and I had missed the feature before because of it's location in SkyEdit's "Unknown" tab.

You can name them just fine in the CK -> Right Click -> Left Click = Enter Name...
User avatar
Ash
 
Posts: 3392
Joined: Tue Jun 13, 2006 8:59 am

Post » Mon Jun 18, 2012 7:12 am

Well that's frustrating! I cannot for some reason. To be absolutely clear, you are saying that in the race editor you can go to the Body tab, go to the Biped Object Names list, click on an entry, and rename it?

No matter what I do, clicking just selects the part. It never changes to a text entry box or pops up a box or whatever it's supposed to!
User avatar
Miss K
 
Posts: 3458
Joined: Sat Jan 20, 2007 2:33 pm

Post » Mon Jun 18, 2012 4:21 pm

Well that's frustrating! I cannot for some reason. To be absolutely clear, you are saying that in the race editor you can go to the Body tab, go to the Biped Object Names list, click on an entry, and rename it?

No matter what I do, clicking just selects the part. It never changes to a text entry box or pops up a box or whatever it's supposed to!

Yes -> Right Click then Left Click and a text box will appear !...
User avatar
Ownie Zuliana
 
Posts: 3375
Joined: Thu Jun 15, 2006 4:31 am

Post » Mon Jun 18, 2012 5:56 am

Yes -> Right Click then Left Click and a text box will appear !...

I'm doing it right now and nothing is happening! I'll start downloading skyrim and CK on my other computer and I'll try there when I get home from work. It's running XP.
User avatar
Benji
 
Posts: 3447
Joined: Tue May 15, 2007 11:58 pm

Post » Mon Jun 18, 2012 9:58 pm

Try clicking in and pausing for a second, name fields in the object window work that way. I know I renamed them at some point.
User avatar
Rex Help
 
Posts: 3380
Joined: Mon Jun 18, 2007 6:52 pm

Post » Mon Jun 18, 2012 10:13 am

So it works like renaming a file. Click once to select, wait a sec, click again then wait for it to change to an editable control.

That's what I figured. Still doesn't work. Must be a bug with my system config or something. :(

Oh well, I only have to rename body parts once and I can use Skyedit to do it.
User avatar
rheanna bruining
 
Posts: 3415
Joined: Fri Dec 22, 2006 11:00 am

Post » Mon Jun 18, 2012 8:44 am


http://dl.dropbox.com/u/107712/dogmod_problem.jpg

I have only a vague idea of what you're talking about... but that image is fraking awesome! So can you equip any armor to the dog? And it all meshes up properly? The helmet looks really good, anyway.
User avatar
jeremey wisor
 
Posts: 3458
Joined: Mon Oct 22, 2007 5:30 pm

Post » Mon Jun 18, 2012 10:14 am

I have only a vague idea of what you're talking about... but that image is fraking awesome! So can you equip any armor to the dog? And it all meshes up properly? The helmet looks really good, anyway.

I used a base of the Argonian version of the helmet, scaled the mesh a little bit and created a custom armor addition so it would fit the dog better. I plan on slowly doing this for all the major types of armor. I'm not the best at 3D modeling but I think I'll be able to pound most of them into workable shape, not clipping too much and looking good. Some things I'll have to hack apart, some things won't make sense (greaves) or look silly (boots) but I'll figure it out. I'm just learning as I go along.
User avatar
Lizzie
 
Posts: 3476
Joined: Sun Nov 19, 2006 5:51 am


Return to V - Skyrim