Jump to content

(3ds max) custom skeleton help? combining skeletons and renaming bones.


Recommended Posts

I'm trying to combine two skeletons in 3ds max. The power armor skeleton and the human skeleton. (part of a larger mod)

 

Both skeletons share the same naming convention for their bones eg: LLeg_calf, Spine1, Spine 2 etc.

So I figure one set of bones has to be renamed so that the skeletons won't overwrite eachother.

 

I tried renaming the bones on the power armor skeleton with a "MF_" prefix,

(I hooked up the human skeleton to the root node, both skeletons move together, and I linked both skeletons with orientation constraints so that the legs and arms move in time with eachother)

But once in game I found that the new human skeleton isn't used at all, and the power armor bones that were renamed don't animate.

(that could be because the animation data refers to particular bone names like Spine1, not mf_Spine1? Or that I haven't set up the bones for export correctly?)

 

Is there a particular method to renaming bones?

Or do I need to use a particular 3ds max plugin to edit the bones correctly?

 

I'm guessing that I need a plugin like havock tools to set bones up correctly for exporting like you have to for hair in skyrim, but I can't find any info on Google. Can anyone point me in the right direction?

Link to comment
Share on other sites

For custom skeletons to work you'll need a custom skeleton.hkx that holds a list of bone names as well as custom animations exported with said bone names as transform tracks. Vanilla animations only contain transform tracks for vanilla bones, which, as you rightfully deduced won't touch custom bones. To create a custom skeleton.hkx, you can read a guide of creating a skeleton here. It covers the process of generating a havok skeleton using HCT for vanilla races, but the procedure is similar for custom skeletons, except that you won't be extracting a bone definitions list from the existing skeleton.hkx, but instead creating one from scratch.


The bone definitions list is just a text file containing one bone name per line starting with Root at the top. Since you are creating a completely new skeleton, the order of bones on the custom skeleton.hkx won't matter, but every animation you export must be exported with the same sequence as the custom skeleton was generated.


You'll need to accidentally get your hands on havok content tools 2014.1.1 64 - it was once a free download through project anarchy, but has since ceased after the MS buyout, so it's against nexus TOS to post links.


This would be a massive undertaking, since you'd probably only be able to convert 80% of all PA anims - the rest, mostly additive anims won't parse correctly with the unpackers so you'd have to create them from the ground up.

Link to comment
Share on other sites

Ok, I think I've just thought of a reasonable workaround, if anyone can help - maybe this needs a new thread(?) (I took a look at the number of power armor animations i would need to change - 1600, and i thought... no way...)

 

So, instead of joining another skeleton - I could maybe get away with "just" moving a few bones to new positions. (IF the animation stays intact.)

 

Will the animations still play on a bone if its moved/adjusted, and will the bone stay in its new place to play the animation or will it move to its old position?

also - will the skeleton then need to be exported through Havok tools or can it just be exported straight from 3D's max to a .Nif?

Link to comment
Share on other sites

I've tested moving the bones - the bones use their original position in game for animations still - i'm assuming the animation data also holds the positional data for each bone and i don't know if that can be overridden at all - maybe by re-exporting the skeleton by the Havok Tools... that will be the next test.

 

(hopefully if i don't rename any bones i wont have to redo the animations)

Any ideas?

Link to comment
Share on other sites

Not entirely sure what you mean by "just" moving bones to new positions. The only type of animation that allows relative transforms is additive animations. The standard ones, however, use absolute transforms which are done locally in the parent coordsys. All this logic is defined in the skeleton.hkx and possibly behavior files set in the subgraph, and is set up to allow retargeting and blending if the animation requires it.


Retargeting works by assigning a collection of bones and allow them to be proxy animated through a secondary hkx animation. This is how actors are able to run and reload at the same time, even as reloading and running are essentially two separate animations. But this is all unchartered to me, and would require knowledge with behavior files. The CK apparently does allow for XML-formatted hkt behavior files, so I wouldn't be surprised if someone were to be able to frankenstein new logic that allowed this.


The nif version of skeleton is from what I understand only used for skinning and attachment logic and is a one-way interface to latch onto animations. Havok doesn't see the nif - only the hkx, which does share a lot of similarities to the nif. You will need to have both - a nif and an hkx version. You can create an hkx skeleton using only three filters: "Align Scene to Node", "Create Skeleton" and "Write to Platform".


Out of curiosity, why are you trying to animate the human skeleton inside the power armor? It seems a bit redundant. Is it because you want to show the body inside the power armor? Or because you want actual human body animations on top of the power armor animations?

Link to comment
Share on other sites

Ehtyeci, thanks for the reply.

Ah, I didn't realise that the skeleton.nif is just for skinning/attaching, that makes a lot of sense though.

 

Yes exactly - I actually already have a custom power armor in game with the body showing with equipped clothes/armor.

I basically told the power armor to equip whatever the player had equipped when entering - for the most part it's usable - the male version looks almost perfect, but the female version deforms quite badly around the power armor bones, so it would be ideal to get another skeleton in there for the female body to attach to instead of the power armor skeleton.

But ultimately as I was experimenting I found that when equipping a human body to the power armor that the feet go all the way through the power armor frame to the floor (where the actual power armor foot bone is) (I could cover the foot with the frame but that feels like a cheap way to go)

so, minimum, I'd like to reposition the power armor foot bones so that the human body won't be so deformed and then work some skinning magic to make the power armor foot look like its still skinned in the same place.

I hope that made sense ^.^

 

I think, from what you're saying, that I'll have to definitely make a .hkx no matter how I go forward. But from the sounds of things, I might not have to redo every animation, maybe I can get away with only making one "animation/retargeting" like you say, that moves/transforms the foot bones to the right place and mix that with every animation that uses the legs ^.^

Link to comment
Share on other sites

 

The nif version of skeleton is from what I understand only used for skinning and attachment logic and is a one-way interface to latch onto animations. Havok doesn't see the nif - only the hkx

 

 

wrong. If you do not have the nif and you have everything else configured correctly you won't be able to use that skeleton.

Link to comment
Share on other sites

 

wrong. If you do not have the nif and you have everything else configured correctly you won't be able to use that skeleton.

 

 

Not sure what you're trying to refute here. Perhaps reading would have helped.

Link to comment
Share on other sites

Fallout 4 needs both skeleton.hkx & skeleton.nif in order to use animations and ragdolls correctly, it's not that complicated. You can have a perfect behavior and have your skeleton with constraints & rigid bodies applied correctly but unless you have created the hkx alongside the nif it means jack s#*! when it comes to custom races/creatures/etc. The exception to this is movablestatics which do not need any hkx data alongside it.

Link to comment
Share on other sites

  • Recently Browsing   0 members

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