GYAZ Export Tools (Seamless Blender To Unreal/Unity (FBX))

Something a friend of mine noticed today: The “root” bone has to be named in all lowercase. Can you make this case insensitive or, in case UE4 requires it to be all lowercase (think I read this somewhere but I’m not sure), maybe explicitly state this in the documentation?

May save some people a lot of time and headaches. :wink:

You are expecting this dev to keep up with simultaneous experimental branches. There are the release versions, and 2 experimental branches of 2.79 and 2.81 I hope you understand that trying to keep up with this kind of thing is a lot of work. Not just that but this makes versioning so hard. Basically this dev needs to release 4 different versions at the moment or turn their code into pasta to keep up w all those versions independently.

Relax tough guy, i’m not expecting anything.

Why version for 2.79 not working with latest 2.79 e045fe53f1b0

It sounds like you actually do. In any case you got the message from the original dev.

The code is open, feel free to fix it the way you need and make a release for 2.79 nightly.

Update 2.80.12

From now on, the root bone does not have to be called “root”, the name should be specified manually in the Export Bones panel and is saved into the armature preset. The default root bone name is still “root” as before.

Why not auto-detect?
In Blender the actual root of the bones is the object, so if you create a root bone for hand animation, it’s up to you to make it the top of the hierarchy, so the root bone can’t be safely detected since there can be any number of bones at the top of the hierarchy. That’s why it has to be identified by name.

1 Like

I stumbled today over the question of polygon budget for game engines and how to measure it (triangles vs vertex count). Vertex count seems to be the better metric here, but Blender does not show the “real” vertex count as it matters for game engines. I quickly found an outdated add-on that shows the game-engine relevant vertex count:

Do you think it might make sense to integrate this into your export tools? Maybe not on a real-time basis as done in the add-on as this seems to be quite taxing and freeze up Blender, but as a button for on-demand statistics.

Would be too much hassle for little to no gain, the count in itself doesn’t tell you much. Much more important is the size of the triangles on the screen as it gets exponentially more expensive to render them the smaller they are. There’s no better way to visualize this than observing the model in wireframe view and if you see “patches”, those are the expensive parts. As you zoom out you’ll see more and more “pacthes” that’s why it’s important to use LODs. Don’t worry about polycount, worry about too many small polygons.

(How does a game engine change polycount?
When importing to a game engine, edges are split on uv island borders(seams), material borders, hard edges and hard borders in vertex color.)

@helluvamesh I need to congratulate you on your script, I haven’t the faintest idea why, but both the vanilla exporter and the Blender for Unreal addon do not get joints in the right place, so that when you try to edit collision, you cannot rotate the pivot of the collision node.

Yours is the only exporter I’ve found that seems to get this right. Collision seems to work fine with the blender Y primary bone orientation and the scaling issue with the vanilla exporter seems fixed.

There are two issues where it falls short however:

The first is that while the vanilla exporter and Blender for Unreal will properly apply all modifiers and combine meshes, your exporter doesn’t, which for an iterative workflow, is a bit of a pain.

Secondly, it doesn’t have the option for setting a different primary bone orientation which means you can’t retarget easily (or at all?) in UE4.

Despite those two niggles, I’ll definitely be using GYAZ for character work, if not for quick iteration.

First, thanks for the kind words.
Now, let’s get to business,

  1. The Pack Objects option exports all selected objects into the same .fbx file, all you have to do is check Combine Meshes option in the UE4 importer to have one mesh.

  2. The 2.80 version applies all modifiers, the 2.79 version has Apply Modifiers as an option. Which version are you using?

  3. After a lot of trying I came to the conclusion that it’s impossible to retarget the Mannequin anims in UE4 to anything exported from Blender because no matter what settings I tried, in UE4 the bones never had the exact same orientations as the Mannequin. But animation sharing between characters with the same skeleton works fine. It would be trivial to expose the settings, so if that would help, just say so. Currently, they are hardcoded to
    – Primary Axes: -Y
    – Secondary Axes: X

Regarding point one; silly me.

Regarding point two, I am on 2.80, and it doesn’t seem to apply properly, but perhaps that is user error, I must check again to be sure.

Regarding three, I am more or less in the same frame of mind as you on that in the sense that I am happy to export in the current bone orientation since there seems to be no loss of function in physics and animation. I reserve the right to come back and complain if I have any issues in the future, obviously.

I don’t plan to use any of the mannequin animations for most of my characters as they would be too different in proportion and layout anyway, so no great loss for me. Might have been nice for prototyping but you can’t have everything.

EDIT: I think I’ve changed my mind; if is as simple to expose as all that, maybe I would request it, since it might mean one less operation to do building character physics and I’m still experimenting with workflows so it would be nice to have the option.

Actually, another last comment on point 2, is that I probably wouldn’t use GYAZ for rough prototyping anyway as it makes use of checks preventing export, which I don’t disagree with from the perspective of making sure exports are safe, but for throwing in something quick and dirty into the engine, having to add UVs or triangulate is a bit of a hassle.

It might be nice to have a garbage mode that will export anything with no checks for lazy iteration. That might be too much work though, and as I say, I have another exporter for that.

Hi, Hellovamesh. Do you have any recommendations for moving rigged custom blender assets to UNREAL engine? Been trying to figure this out this week.

Also, to anyone, new to blender, how do I install this plugin?

The way you install any other Blender addons, (Header) Edit > Preferences > Addons > Install.

Leave the unit scale at 1.0, because in Blender default value of everyhing is set with that value in mind. Forward axis in Blender is -Y. Respect these and read the first post carefully.

Update 2.80.13

Exposed settings for bone axes requested by @anon2581475.

1 Like

Hey @helluvamesh, just a quick query about the animation export, when you have named an action, does it export the whole timeline that is keyed or the part you have set as the start and end?

I’m exporting some looping animations so I need to cut the timeline back to where I have set it.

pic

1 Like

Correct, I don’t know what I did wrong previously.

So @helluvamesh, I’ve realised that Blender doesn’t handle start and end per action, so it makes batch exporting looping animations a pain.

Would it be a lot of work to add in a start and end frame punch-in on the named action sets?

Update 2.80.14

New settings to handle action start, end requested by @anon2581475.

  • Properties > Scene > Export Animations > Active Action > Start, End
    – (only shows up, if the active object is an armature with an action assigned)
    – (properties are stored on the Action data block)

  • Properties > Scene > Export > Asset Type = Skeletal/Rigid Animations > Frame Range
    – options: Auto (first/last keyframe of the action), Scene Start End, Action Start End
    – specifies the method to set the exported action frame range

3 Likes

Fairly bowled over with the blistering speed of these updates, I just tried it and it works splendidly; perfect for batch exporting lots of small and particular animations.

My life managing a load of different skeletons and animations just got much easier, thank you.

Hello! Please help me, your addon can help with this – https://developer.blender.org/T54159 ? I am stuck: when I exporting rigify there is damn distortion only in fbx, in original scene all just fine. I tried many ways but no luck((( And fbx only deform doesnt work with rigify - a lot of ORG bones in fbx file.
If it possible plese tell me steps how to did it