Page 1 of 1

Biped Object Names, where are they set and how?

PostPosted: Mon Jun 18, 2012 10:13 pm
by jodie
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.

Biped Object Names, where are they set and how?

PostPosted: Mon Jun 18, 2012 9:16 pm
by Robyn Lena
I believe that it is defined by the named vertex groups of the mesh, but I'm no expert.

Biped Object Names, where are they set and how?

PostPosted: Mon Jun 18, 2012 9:59 am
by Lady Shocka
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.

Biped Object Names, where are they set and how?

PostPosted: Mon Jun 18, 2012 3:42 pm
by Laura Shipley
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.

Biped Object Names, where are they set and how?

PostPosted: Mon Jun 18, 2012 10:08 pm
by Monika
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.

Biped Object Names, where are they set and how?

PostPosted: Mon Jun 18, 2012 3:06 pm
by Claire Jackson
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.

Biped Object Names, where are they set and how?

PostPosted: Mon Jun 18, 2012 8:35 am
by Marguerite Dabrin
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?

Biped Object Names, where are they set and how?

PostPosted: Mon Jun 18, 2012 9:40 am
by Channing
I won't bump more than once, this is it. I'm just really stuck and looking for help.

Biped Object Names, where are they set and how?

PostPosted: Mon Jun 18, 2012 1:34 pm
by Rude_Bitch_420
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 ?

Biped Object Names, where are they set and how?

PostPosted: Mon Jun 18, 2012 2:57 pm
by Monika Krzyzak
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. :(

Biped Object Names, where are they set and how?

PostPosted: Mon Jun 18, 2012 3:17 pm
by Ice Fire
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?

Biped Object Names, where are they set and how?

PostPosted: Mon Jun 18, 2012 5:43 am
by Nikki Lawrence
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

Biped Object Names, where are they set and how?

PostPosted: Mon Jun 18, 2012 9:05 am
by CHANONE
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?

Biped Object Names, where are they set and how?

PostPosted: Mon Jun 18, 2012 2:21 pm
by Abi Emily
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.

Biped Object Names, where are they set and how?

PostPosted: Mon Jun 18, 2012 9:37 pm
by Ash
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...

Biped Object Names, where are they set and how?

PostPosted: Mon Jun 18, 2012 7:12 am
by Miss K
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!

Biped Object Names, where are they set and how?

PostPosted: Mon Jun 18, 2012 4:21 pm
by Ownie Zuliana
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 !...

Biped Object Names, where are they set and how?

PostPosted: Mon Jun 18, 2012 5:56 am
by Benji
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.

Biped Object Names, where are they set and how?

PostPosted: Mon Jun 18, 2012 9:58 pm
by Rex Help
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.

Biped Object Names, where are they set and how?

PostPosted: Mon Jun 18, 2012 10:13 am
by rheanna bruining
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.

Biped Object Names, where are they set and how?

PostPosted: Mon Jun 18, 2012 8:44 am
by jeremey wisor

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.

Biped Object Names, where are they set and how?

PostPosted: Mon Jun 18, 2012 10:14 am
by Lizzie
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.