Announcement

Collapse
No announcement yet.

Upcoming "Send to Unreal" add-on for Blender Feedback

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Upcoming "Send to Unreal" add-on for Blender Feedback

    To improve the Blender to Unreal Engine workflow we're developing a "Send to Unreal" add-on for Blender.

    Please provide feature requests and notes to this thread!

    CURRENT FEATURES

    Validations:

    Check if asset has geometry
    Check if asset has unused materials
    Check texture references
    Check asset LOD names
    Check LOD vertex budget
    Check if actions are stashed
    Check if actions are mutedOn

    Export actions:
    Stash and unmute all animations(this makes sure that your active animation and all your stashed strips are always exported)
    FBX Mesh smoothing optionsUnreal

    Import Options:
    Import Materials
    Import Textures
    Import Animations
    Import LODS

    Launch Import UI (allows you to set all fbx import options in the UI for a unique import)

    Mesh import path within the local project from the open editor
    Animation import path within the local project from the open editor
    Paste in the copied reference to an existsing skeleton in your unreal project
    Last edited by VictorLerp; 02-13-2020, 06:54 PM.

    #2
    Glad to see the work. This is long overdue. I can not wait to enjoy this addon!

    Comment


      #3
      Hello!

      Nice stream today. I am really excited with this addons that you are working on.

      Here is what I would suggest.

      Possibility to:
      1. Export custom hand made collision from blender to UE4.
      2. Export check box to use the pivot point of the asset during export instead of the scene 0,0,0 location.
        • Take the mesh location in a variable.
        • Place it at the 0,0,0 of the scene.
        • Export it to UE4.
        • Place the mesh back to is original location in Blender.

      Keep up the great work and can't wait to be able to try out our awesome tool!

      Comment


        #4
        Really needs support for exporting collision meshes in my opinion. Unreal's automatic collision mesh generation leaves a lot to be desired...

        There are also a couple of MaxScripts created for advanced material effects, namely PivotPainter and the Vertex Animation Tool which are exceptionally useful (to the point where its almost a necessity in my opinion) for getting highly dynamic worlds with good performance. As I recall from previous demos, Fortnite is using both of these. I hope you'll consider porting these to Blender and integrating them with your addon. There are currently third party ports of these scripts but it would be nice to have them integrated into the Send to Unreal addon so that they're actually maintained and don't have to be exported/imported separately from multiple addons.
        Last edited by Arkiras; 02-06-2020, 04:49 PM.

        Comment


          #5
          First of all, I really love the idea of a tight integration from Blender to UE as shown in the livestream. Many thanks to James and Kaye for putting in the hard work, keep it coming!

          In the livestream it was said that the add-on set's the unit scale to 0.01. As Matt Workman mentioned in the Blender to Unreal Engine livestream in October this causes some things (physics, lighting, ...) to become weird in Blender. From my own experience and what I heard a lot, it's best to keep Blender in the default scale. It would be a great achievement for Blender with UE if this add-on could get rigs, animations and sockets to work with Blender in the default scale of 1.0 to steer clear from any of these issues.

          It would also be nice to see an option to export what's selected in Blender instead of using fixed collections. That's the common approach for most export addons I've seen so far, but that would be icing on top. The scale issue is crucial IMHO.
          Last edited by zaha; 02-06-2020, 04:55 PM.

          Comment


            #6
            Anim curves please like how maya exports it

            Comment


              #7
              Why exactly is it that they can't just release the add-on already if it's already working?

              Comment


                #8
                Hey, it's author of Mr Mannequins Tools! https://forums.unrealengine.com/comm...rials/1661319/

                For me personally there's a few (almost) essential settings in order to be able to stop supporting my Mr Mannequin compatibility export and use only a "Send To Unreal" button. These are settings i would require for a pipeline regardless of my add-on.

                1) Dynamic scaling for any unit scale (even just as an option). Using a scale of 0.01 while accurate to UE4 makes for a bunch of incompatibilities with animation and physics within Blender, things like cloth simulation can sometimes become almost impossible below a scale of 1.0. I already support this in Mr Mannequins Tools for exporting animation, meshes and armatures, the math for it is pretty straight forward: object scale on x y and z * (100 * bpy.context.scene.unit_settings.scale_length) while doing this can sometimes lead to very tiny errors it makes no noticeable difference although doing it to animations does require iterating through and scaling keyframed locations through the fcurves prior to firing the export and after scaling the armature.

                2) "Use Only Deform Bones" FBX export option. This is not about exporting only bones with weight it's a simple and easy way of excluding bones that are not needed within the engine such as pole targets, IK targets and various other bones used for more intricate animation techniques in Blender.

                3) "Export Only Selected" option is also a must for anyone that wants to have control over what's being exported. Especially in scenes with many objects.

                4) All the FBX export options relating to animation! They all have uses although some of them are niche, many people do not like messing around with the NLA editor (especially beginners) so being able to ignore the NLA stack and simply export the active animation as it is would be some great functionality.

                To be quite honest it would probably be for the best to expose all the FBX export settings and simply keep your preferred defaults as many more advanced users will be needing access to them.

                Thanks for the amazing stream and i can't wait to see more! If you guys really can fix the bone orientation both to and from Unreal Engine it would mean a lot less time on coding and support for me and i would be able to really focus on making advanced rigging techniques easy to use, as well as continuing the work i've started in the coming update 1.3 which covers retargeting animation within Blender and modular DIY rigging.

                I cannot wait for the source code to be available i will help out as much as i possibly can!

                Edit: I (and many others) would love to see sockets both exported and imported to and from unreal engine with Blender
                Last edited by Jim Kroovy; 02-06-2020, 05:24 PM.

                Comment


                  #9
                  I'm not a good programmer and I do not understand how FBX work (I mean inside, deep on base coding) but what think is on my minde. If Blender and UE use same format file (FBX) but one join bones by head and other one by tail... is not possible to make and loop event for every bone to unbinde that bone, rotate it and binde it back? Or deep, inside coding is not a option to translate tail as head and vice-versa? Because some how two different software use same file format but thei fliped tail and head bone =]]

                  Sory for my english, in not my first language. And also sorry if this question is stupid/dump but I never got with programing inside 3D models or rigs area.

                  Comment


                    #10
                    Originally posted by Amanda.Schade View Post
                    Please provide feature requests and notes to this thread!
                    Suggestion:

                    Why not integrate all of Blender into UE4 as an Editor-Plugin?
                    I know, that's way more rad than just making a Blender add-on.
                    But Epic has already backed Blender Foundation many times.
                    Plus, there's Mesh Editing features already built into the editor.
                    Sure, there's bloat in the engine. But this would be 'good bloat'.

                    Advantages to integrating Blender directly into the engine for 3D modeling:

                    Last edited by EntrpriseCustomr; 02-10-2020, 10:25 AM.

                    Comment


                      #11
                      nice to see blender getting some love, i always wished someone would have just made a .blend file importer/exporter add-on for UE4, would of been sweet .

                      Originally posted by zaha View Post
                      In the livestream it was said that the add-on set's the unit scale to 0.01. As Matt Workman mentioned in the Blender to Unreal Engine livestream in October this causes some things (physics, lighting, ...) to become weird in Blender. From my own experience and what I heard a lot, it's best to keep Blender in the default scale. It would be a great achievement for Blender with UE if this add-on could get rigs, animations and sockets to work with Blender in the default scale of 1.0 to steer clear from any of these issues.

                      ​​​
                      Originally posted by Jim Kroovy View Post
                      1) Dynamic scaling for any unit scale (even just as an option). Using a scale of 0.01 while accurate to UE4 makes for a bunch of incompatibilities with animation and physics within Blender, things like cloth simulation can sometimes become almost impossible below a scale of 1.0.
                      you wanna hear something funny, the whole having to use 0.01 is all down to blender users because they just had to have the "m" next to the numbers showing size/location..ect, if they had left the units and unit scale alone(so the original default settings) and then just used the default blender units as cm nobody would have to deal with it as it is now.

                      pretty much shot themselves in the foot

                      Comment


                        #12
                        Originally posted by smokey13 View Post
                        nice to see blender getting some love, i always wished someone would have just made a .blend file importer/exporter add-on for UE4, would of been sweet.
                        smokey13 I was actually looking at the Python API for Unreal Engine last night and was checking out the code here: https://github.com/20tab/UnrealEnginePython

                        I think importing from a blend file could actually be possible! Or rather it would be more re-creating the contents of a .blend inside UE4 as .uassets not so much importing a usable file format

                        I might put some time into attempting this, though i'd really rather let these amazing people at Epic do the import/export stuff as they have a more intimate knowledge of the UE4 side code.

                        And yeah the whole 0.01 scale thing is kind of crazy, like internally Blender functions in meters and radians and has built in conversion functions already, otherwise they wouldn't be able to show degrees and centimetres in the interface at all. It's also super mad that some people even say you need to set Blender to centimetres in the scene settings! Like that's a purely cosmetic thing haha.

                        Comment


                          #13
                          Originally posted by Jim Kroovy View Post

                          smokey13 I was actually looking at the Python API for Unreal Engine last night and was checking out the code here: https://github.com/20tab/UnrealEnginePython

                          I think importing from a blend file could actually be possible! Or rather it would be more re-creating the contents of a .blend inside UE4 as .uassets not so much importing a usable file format
                          well, importers/exporters are essentially file converters so other apps can read/use the data so i'm sure it could be done.

                          And yeah the whole 0.01 scale thing is kind of crazy, like internally Blender functions in meters and radians and has built in conversion functions already, otherwise they wouldn't be able to show degrees and centimetres in the interface at all. It's also super mad that some people even say you need to set Blender to centimetres in the scene settings! Like that's a purely cosmetic thing haha.
                          yes and no.

                          originally blenders units were set to none by default and 1 blender unit just happened to be the exact same size as 1 unreal unit so for years blender had a 1 to 1 scale export but when you set blender to metric(like everyone did after UE4 released because they found out unit scale in unreal was set to 1 UU = 1cm and they all thought they had to do the same in blender) you were basically telling blender to use 1 blender unit as 1M so if you made a model 10M tall (aka, 10 blender units tall) and exported with scale set to 1 your 10M tall model would only be 10cm tall in unreal because blender had exported it as 10 blender units tall. That's when the workarounds of setting the unit scale to 0.01 and exporting with scale of 100 started(partly my fault for telling everyone what to do if they wanted to set blender to metric) and then at some point between blender 2.74 and 2.79b the blender devs either changed the unit scale in blender or fudged the fbx exporter so you didn't have to scale X100 during export because blender automatically scaled it up by 100 and those changes are still there now.

                          TLDR: blender had a 1 to 1 scale export for years but peoples insistence on setting blender to metric just so it showed the "m" next to values is why everyone has to still deal with the scaling nonsense after all these years

                          except for me because I'll be sticking with 2.79b(don't like 2.8+) and my tweaked old exporter that still has the 1 to 1 scale export for static/skeletal meshes and animations .

                          oops, derailed the thread a smidge, my bad .

                          back on topic:

                          if I were to use blender 2.8 and the "send to unreal" tool i would be happy with the following features.

                          for static meshes:
                          the meshes/objects with smoothing(obviously and already there but felt wrong not to type it)
                          materials with at least the diffuse hooked up already.
                          multiple custom collision meshes.
                          and LOD's.

                          for skeletal meshes:
                          again meshes/ objects with smoothing/mats and diffuse (still felt wrong,lol).
                          individual or multiple animations at their set lengths
                          morph targets plus anim's(if they have any)
                          LOD's
                          the sockets mentioned above would be good
                          the export settings mentioned above would also be helpful
                          not sure if it would be possible but maybe custom physics asset through some kind of naming convention like UCX for SM's

                          other:
                          cameras(including animated cameras), could be useful for games and cut screens/cinematic's.
                          maybe lights too, could be useful in some circumstances.

                          not sure how many of those are already there as I didn't see the stream but that's my 2 cents anyway

                          Comment


                            #14
                            I'm most interested in animation/shapekey export/import. I don't have anything specific to request except that please take a look at Mr Mannequin addon, which is the dedicated work by Jim Kroovy. I think it is on the way to be the best option for rigging/retargeting characters from ue4.

                            Comment


                              #15
                              I'm just adding to the chorus of 1000 voices telling you folks at Unreal that you need to drop the FBX idea and make your own importer/exporter to actually allow for everything.

                              Currently, unless you use my plugin that modifies FBX export to include animation curves (http://mosthostla.com/gamedev/ue4curves) you won't have the possibility to just export an animation inclusive of animation curves.
                              You may want to try it out @dandezign

                              Likewise, because the FBX export in blender does not implement vertex paint correctly, you won't be able to vertex paint a mesh and import it to UE4. (guess I'll get back to trying to patch the FBX export to include those...)

                              Last but not least, IF you won't or cannot make your own import/export system and file format, then you need to give users the ability to select a different FBX export then the stock one.
                              Since it seems rather clear that the stock FBX export will never cater just to Unreal -rightfully so, blender needs to support any application- a specific one can/has already/and will be built to handle the way unreal does certain things.
                              Users should be able to choose which export script to use.


                              Additionally, the whole "move this to that collection" thing you currently have going on feels troublesome to say the least.
                              Meshes usually NEED to be parented to the Armature. The process makes the rig and the mesh One object. Splitting them apart is a bad idea for consistency imho.

                              Setting a mesh to using complex collision is a BAD substitute for allowing to export proper UCX UCB etc. Parts of the assets.
                              Which also brings back to LODs.

                              traditionally LODs are handled by associating the mesh to the LOD via an empty.
                              the way the plugin works now is opposite to that.

                              How is it going to work with a mesh that has 5 or 6 LODs to go along with when the user needs to move the item around?

                              It won't. Or you'll have to hand select the appropriate meshes to do so, they'll be split across collections, possibly sub collections, and that's yet another reason I see having the collection split thing as a horrible idea.

                              With 1 empty that contains them all the problem is solved.

                              If anything, the way the empty works should be extended to also handle the collision meshes.
                              it's not uncommon to have 30 UCX meshes for simple collision on a cylindrical object of some sort.
                              if you pair them all up within the same empty you can move the item around freely...
                              Last edited by MostHost LA; 02-07-2020, 10:27 AM.

                              Comment

                              Working...
                              X