STEAM GROUP
Blender Source Tools BleST
STEAM GROUP
Blender Source Tools BleST
250
IN-GAME
1,589
ONLINE
Founded
8 November, 2013
All Discussions > Help > Topic Details
chanoc 10 Feb, 2022 @ 11:41pm
BST not exporting actions with multiple "Child Of" constraints properly?
I've got this bone that has two "Child Of" constraints. One to keep it attached to a hand, and another that temporarily turns on to apply a spin.
https://files.catbox.moe/5sskn4.png

However, on export, these seem to go haywire. (Said bone goes upwards)
https://files.catbox.moe/68m00l.png

I'm not sure what might be happening (Constraints being applied in the wrong order? I thought so as well, but looks fine in Blender, no matter what order the constraints are in.)
Its worth noting that everything is 1:1 until the second constraint kicks in, that's when it gets offset incorrectly like that.

Baking isn't exactly an option for me due to various reasons.
< >
Showing 1-9 of 9 comments
Artfunkel 11 Feb, 2022 @ 1:00pm 
Bone constraints do not exist in the Source engine. The exporter does its best by making the target object a child of the bone, but only one parent is supported. I expect you are seeing a warning about the object having multiple armatures each time you export?

You must bake this down to a normal skeletal animation if you want it to work in a game engine.
chanoc 11 Feb, 2022 @ 1:46pm 
Originally posted by Artfunkel:
Bone constraints do not exist in the Source engine. The exporter does its best by making the target object a child of the bone, but only one parent is supported. I expect you are seeing a warning about the object having multiple armatures each time you export?

You must bake this down to a normal skeletal animation if you want it to work in a game engine.
I know constraints dont exist in the engine, I was under the assumption that BST bakes down the frames on export. There is only one armature -- I'm using the constraints within the one armature.
Artfunkel 12 Feb, 2022 @ 2:42am 
It writes out the final bone positions, but the position of your rigid object is affected by multiple bones at the same time. That relationship can't be described in DMX or in SMD.
Artfunkel 12 Feb, 2022 @ 2:43am 
Ah, there is actually a specific warning about this:

Bone constraint "foo" found on "object", which already has a bone parent. Ignoring.
chanoc 12 Feb, 2022 @ 2:45am 
Originally posted by Artfunkel:
It writes out the final bone positions, but the position of your rigid object is affected by multiple bones at the same time. That relationship can't be described in DMX or in SMD.
It's still a child of just one bone, just that there's two "Child Of" constraints. Perhaps you'd want to look at the blend file?
https://pasteall.org/blend/08fa3f4c11c94417969d3a32edb3a513
Artfunkel 12 Feb, 2022 @ 9:10am 
I understand exactly what you are trying to do, and I am telling you for the third time that you cannot do it.
chanoc 12 Feb, 2022 @ 5:47pm 
So, final bone positions aren't getting written out? At this point I just want to know exactly why Blender's viewport and HLMV don't match up. For what it's worth, I've never even seen the bone constraint error.

Originally posted by Artfunkel:
Ah, there is actually a specific warning about this:

Bone constraint "foo" found on "object", which already has a bone parent. Ignoring.
Zappy 13 Feb, 2022 @ 12:07am 
Originally posted by Artfunkel:
- I am telling you for the third time that you cannot do it.
You can't have multiple bone parents in SMD/DMX files, but can't you use math to figure out what position relative to one parent bone would be the same as the original position relative to two parents edit: relative to the constraints (automatically baking the animation to just one parent bone)?

(This might look slightly off when interpolating between frames, due to the different parenting, but every written frame should look correct.)
Last edited by Zappy; 13 Feb, 2022 @ 12:43am
chanoc 13 Feb, 2022 @ 12:17am 
Originally posted by Zappy:
but can't you use math to figure out what position relative to one parent bone would be the same as the original position relative to two parents (baking the animation to just one parent bone)?
That's exactly what the bone constraints are for. The hierarchy is correct, every bone only has exactly one parent. The constraints are for simply applying a transform to that child bone in various ways. There is no re-parenting going on.
< >
Showing 1-9 of 9 comments
Per page: 1530 50

All Discussions > Help > Topic Details