STEAM GROUP
Blender Source Tools BleST
STEAM GROUP
Blender Source Tools BleST
284
IN-GAME
1,655
ONLINE
Founded
8 November, 2013
All Discussions > Help > Topic Details
Rectus 30 May, 2020 @ 2:59am
[Feature Requests] Changing the bone axes and model scale on export
Source 2 seems to expect that the X axis of a bone points forward to the tail, the Y axis to the side and the Z axis up. This makes connected bones exported from blender break several features, like ragdoll joints, IK chains and cloth nodes.

It would be very useful to have an option to rotate the bone axes on export.

Also, a feature to set the scale of the exported model would be greatly appreciated. I like modeling things in metric, so I've taken to scale up the model by 39 every time I export and then scaling it back, but that gets tedious.
< >
Showing 1-6 of 6 comments
Pte Jack 30 May, 2020 @ 7:39am 
Disconnect bones, scale the model and apply transforms before exporting. Easy-peasey. Welcome to modeling101.

There is no way that a programmer can say, this model is this big and needs to be that big for any game. That's a modeler's job. Same goes for bone rotations. An add-on programmer can't say this bone needs to be disconnected and this one connected or this one needs to be pointed in this direction where that one needs to be pointed in that direction and precise roll of xx degrees. This is all stuff you as the modeler have to apply to the model as you build it.
Last edited by Pte Jack; 30 May, 2020 @ 7:40am
Rectus 30 May, 2020 @ 7:52am 
Not sure I'm following you here. I don't see the point of having to do those actions manually every time I export a mesh or animation and then revert the changes, when a script can do it automatically.
Pte Jack 30 May, 2020 @ 9:50am 
I have just started to play with Source2 models, so I am still not familiar with how they are truely constructed or what is required for bone rotations or connections.

Are you sure ALL bones are X-F, Z-U and Y-L/R? What type of model? Prop, Character, Bipedal or quadripedal, maybe vehicle? How are finger rolls maintained so they don't rotate weirdly? Most require some sort of roll so they rotate cleanly into a fist.

And, I'm not following this scale option request. Why do you scale by 39 for export then have to scale it back? Scale what back to what?

Why not just scale by 39 before working model and work it at game scale?

Personally, I work a model at import or creation scale. Once finished, I import a character from the universe I want to use the model in and scale it to its proper size. Then I apply transforms and then export. As I said, easy-peasey. If I have to do more work, the model is at game scale, so it's just a simple export after that.

You use the metric system, but I use standard blender units when modeling, so should Artfunkel make allowances for me as well? And what about the people that use Imperial units?

What if I want to port an XPS or a MMD character model, or some random OBJ or STL as a prop into Source2. These all have different scales when imported to Blender. How would a simple option to rescale know what value to use to scale a model for use in game?

It's not really a simple change to code to add this kind of feature. There are a lot of parameters that have to be considered.

Sure, for you it's a repeatable thing, I understand that, but something like this should be a local script based on the way you work and your system is set up. It should be run just before exporting.

In my opinion, this is all part of the modeling process and modelers have to do this kind of thing manually as all model are unique.
Rectus 30 May, 2020 @ 10:30am 
I've mostly made props, but testing with a quatripedal character at the moment.

Not sure about finger rolls, but Source 2 seems to generally use the X forward, Z up convension. Ragdoll joints can only be configured to rotate on the Y and Z axes (no roll), IK chains require the X axis to point at the next bone in the chain, and the old model editor expected the Z axis to be the surface normal for cloth when generating cloth nodes of the skeleton. The AminGraph movement system considers the X axis to be forward on the model as well.

Reagrding the scale, I want to be able to reuse my assets in other places, and getting an accurate scale can be important when working with VR.

I was thinking of a simple multiplier, so you can fill in any scale you want. These are pretty standard features for most model exporters, both of them are already supported by things like the Blender FBX exporter.
Pte Jack 30 May, 2020 @ 5:13pm 
Yeah, I can see your point now that Valve is moving Source2 towards VR. But still, I think it would be better control on the modeler's side instead of looking for a variable in a add-on. We'll have to wait and see what Artfunkel has to say about it.
Rectus 5 Jun, 2020 @ 2:43am 
I did a quick hack that just rotates all bone transforms 90 degrees by the Z axis in the DMX export, and it makes life so much easier.

I have my experimental branch of BST here: https://github.com/Rectus/BlenderSourceTools (use with caution and remember to backup your work, I haven't tested all the features, so no guarantees it won't mess up your models)
< >
Showing 1-6 of 6 comments
Per page: 1530 50

All Discussions > Help > Topic Details
Date Posted: 30 May, 2020 @ 2:59am
Posts: 6