EpicGamesExt / BlenderTools

Blender addons that improve the game development workflow between Blender and Unreal.
https://epicgamesext.github.io/BlenderTools/
MIT License
2.78k stars 57 forks source link

Send to Unreal - Use Collections as folders - dont work ! #313

Closed MrPositivity closed 3 years ago

MrPositivity commented 3 years ago

Steps to Reproduce the Problem: I have to Use the collection as folders ticked, and I assumed that it will make subfolders for each of my Mesh collections! Here is Video with Steps to better understand what I'm Doing! As you can see in the video no Additional folders per collection were made what I assume setting in the Path tab would do!

https://user-images.githubusercontent.com/11276772/123560233-4d35a580-d7a1-11eb-97e1-adde31e1a411.mp4

Addon: Send to Unreal OS: Windows, Addon Version: Send to Unreal 1.8.4 Blender Version: Blender 2.93 Unreal Version: Unreal 4.26

james-baber commented 3 years ago

image @MrPositivity you have use parent collection name checked which means that the tool will use the parent collection as the name of the joined asset in this case. So if you want a folder inside with also a asset by that name I would make another collection level in your blender scene hierarchy cause that option is telling it to use that parent collection as the asset name. I hope that helps!

MrPositivity commented 3 years ago

Hmm, but I actually wanna use the collection name as my asset name, because the Collection is used as the parent folder with its own Pivot Offset! The collection will contain all meshes that need to be merged on export! This is done to keep modeling clean and other workflows compatible, like exporting to Substance painter keep each mesh part with its own name, so Bakes are clean using Bake by Mesh name!

MrPositivity commented 3 years ago

I also tried your Suggestion and Unticked that setting! but this messed up everything more! it added Collection names to the Folder I need as Parent Folder! check image! This is definitely not how I imagine these settings to work! UE4Editor_VSVMR47Daf

MrPositivity commented 3 years ago

Also for weird reason it keeps on adding names to mesh endings ! My mesh name after 2 x exports become this - Cube.002.002.002 blender_couqyvK963

MrPositivity commented 3 years ago

One more thing! looks like Collections are not treated as parents for mesh parts, when I export Collection with multiple meshes in it Only the last one is Exported to UE4, and then are not merged, even if Setting Combine child meshes is ticked!
Collections must be treated as Parent mesh in this case but it is not !!!

Did another test with Arrow empty as a parent, and even this Arrow empty is not treated as a parent for meshes !!!! See Added Image, also mesh names just become Ridiculus after few exports blender_yv94hGAOcr

james-baber commented 3 years ago

Look at this carefully image image

If you want an extra folder you need an extra collection. Collections have a global name space so blender will only allow you to create ones with unique names. That will be the limitation, but what you want to do is possible aside from having a asset the exact same name as the asset the folder it is in.

The naming issue is probably related to unlink objects in your scene data. I am not sure how this happen and I cant reproduce this behavior when I use it. I suggest fixing the names, then checking your scene data for extra orphan objects and deleting them.
image

MrPositivity commented 3 years ago

Thank you but this still dont work with UE4 4.26 - here is image with structure in blender and what I got In UE4 blender_rSeY8IcGxX UE4Editor_KBaoiC86TV

Also it is a bit messy to make 2 x collections, and they cant have the same name, and collections and empty is not treated as Parents for mesh parts! Doesn't feel like industry compatible solution !

james-baber commented 3 years ago

Correct. Empties are not going to be joined as a parent mesh. What you are doing gets dicey. Objects and collections exists on a gobal name space. Currently you want to do: Location > mesh_01 > mesh_01a > mesh_01a which begs the question why your project naming structure has duplicates. Something like this would make more sense: Location > mesh_01 > mesh_01a > SM_mesh_01a also if support for what you want to do is added, one could complain that they cant to this Location > mesh_01 > mesh_01a > mesh_01a > mesh_01a in there project cause then they have used up both the global namespace of collections and objects in their scene.

Doesn't feel like industry compatible solution !

In the industry you pay for solutions, or roll your own. This is a free an opensource project that is not perfect and is always evolving and relies on people contributing their free time to implement features and fixes. Bashing the tool isnt going to motivate anyone to do free work for you.

My suggestion to your problem is to re-think your naming scheme to not have duplicates.

MrPositivity commented 3 years ago

I sorry that that sentence offended you, that was not my intention! Folder Structure Im after is similar to what is your second proposed structure what makes sense Location > mesh_01a > SM_mesh01a I have activated automatically add affixes on export and then remove affixes after export, so I assumed that that is done in the background !! I don't wanna have duplicate names in folder structure! all I wanted is that collection I place mesh inside is folder name in UE4 and mesh is imported with SM affixe.