Coder Social home page Coder Social logo

xavier150 / blender-for-unrealengine-addons Goto Github PK

View Code? Open in Web Editor NEW
1.9K 123.0 233.0 151.31 MB

I have created this addons for export asset from Blender to Unreal Engine 4

Home Page: https://www.xavierloux.com/

License: GNU General Public License v3.0

Python 100.00%
blender camera unreal-engine animations sequencer import-and-export collisions

blender-for-unrealengine-addons's People

Contributors

abhisarshukla avatar andgeno avatar nellenaut avatar salireths avatar sam-tak avatar scrapio avatar ssjjessy avatar stromberg90 avatar xavier150 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

blender-for-unrealengine-addons's Issues

Extra root bone

So, I'm attempting to get an existing armature from the ARK: Survival Evolved DevKit to work with this, though I seem to be running into the dreaded extra root bone issue (armature becomes root bone), even when importing it to UE4.21 this happens. If I remove the root bone, I end up with broken animations and wights. Due to the target, I cannot use the import script as plugin support is basically broken in the ADK.

This works great if your content originates entirely from blender, but this issue makes it difficult to work with other sources and teams.

Makehuman Export Animation issue

Hello I have been pulling my hair out for months now on this so here I go(and I do not particularly blame this plugin).

So I create a simple character in Makehuman(1.2 but the version does not matter tested current stable as well), select the Game Engine skeleton, export it as FBX units centimeter.

Go to Blender(2.82.7) clear the scene, import the FBX with scale 0.01 (working from clean project default settings) this imports the FBX, ok and everything looks fine.

Screenshot from 2020-03-03 15-26-45

I export it to UE4 using this plugin(because I need to remove the double root bone). The only thing I check is Rotate Zero to fix a rotation of the mesh issue(the result is mostly the same with or without that option)

Import the exported FBX to the engine, select the mannequin skeleton and everything maps ok.

Screenshot from 2020-03-03 15-27-54
(ignore the wrong texture)

The issue

After I switch the animation in the preview to anything the mesh gets morphed.

Screenshot from 2020-03-03 15-30-29
(This is ThirdPersonRun)

Anybody knows?

Sad thing is that I know this worked before because I do have a working prototype but my note taking was weak and I failed to reproduce it the second time.

[Blender 2.8,Unreal Engine 4.22] - Daz Studio Bone Issues

Screenshot (766)
Screenshot (767)

Used the Daz Studio Import Plugin and it works well in blender but Plugin Doesn't See the Multiple Bone Roots as an Issue. The Duplicate Bone Names can likely be automated too since you could find increment their names like bonename_001 or something like that

Setting Object Properties On Multiple Objects at same time

Hello, I would like to know if there is any chance to implement possibility for multi-object editing?
Here is a problem I have 120 kit pices and now I need to go and set each Of them "Export recursive" to be able to export them.
Maybe there is something like that already but I was not able to find away.

Forward/Up Axes not working? Models laying on their side

Are the forward and up axes overrides functional? I seem to get the same import result regardless of what settings I use for the export axes. I have all of the Unreal options that influence this (Convert Scene) turned off .

Also, for some reason (maybe the same reason), all models I export using this add-on come in with Y=up (Z is actually up in both Blender and Unreal - objects just need rotated 90 degrees so that -Y is +X). This causes everything to be laying on its side.

I'm not sure if this will help, but it looks like using -X=forward and +Z=up for Blender's normal FBX export works perfectly for importing with all scene conversion turned off. All objects come in, on their feet, facing the +X axis. Not sure why -X works here (seems like it would be +X), but it appears to be the only setup that does without having Unreal fix it after.

Rotation is applied during export

If the object you want to export has a rotation that is not 0, it will be applied during the import.
Would it be possible to have an option to preserve the rotation during export?
In Blender: RotationZ= 161
blender_bCMyISSoLZ
In Unreal: RotationZ= 0
UE4Editor_4OjEeMwtcQ

This would be helpful to export entire scenes.

Error: cannot import name "FrameRate"

I have exported and imported static meshes, but now I have difficulty doing the camera sequence export/import. In UE4, I have the Python console working and all is well - but I get an error when trying to run the camera sequencer import python script.

I have two cameras bound to 3 markers. A cut back and forth to test.

UE 4.19
Python 3.7 (embedded)

ue4editor_2018-09-26_11-47-58

Wrong center/origin

Hi, I'm having issues with exporting meshes with their correct center and origin point.

The docs state:

The center of the scene of the Fbx file will be equal to the origin point location of the object in blender. The position of the object in the Blender scene does not matter.

But I find that this is not working this way. The origin shown inside Blender (orange dot) can be placed anywhere. All that matters is where I have placed the mesh in relation to world origin. This makes building a library a bit harder than it should be since I have to throw everything on world origin and toggle the visibility of my collections/objects.

Multirig animations

This may be more of a feature request*
Hi! this script is awesome.

Even though Actions can contain key-frames for multiple animations, the NLA editor will only play one instance of the strip on one armature. This is a limitation with blender, I think we need a list of virtual actions that links each armature to a sub action, and upon export all armatures are set to the appropriate sub-action.

When creating an action the script should know about the number of rigs:

Creation:
createAction(name, list of armatures)
A constructor takes the desired name of a new action and the armatures to include in the animation.

Sync:
to make sure each armature is playing the correct animation, the user would select an action and press a button to set the active animation on the focused armatures.

Animation:
While editing an action, it copies the key-frames to all other actions referencing the same master action.

Export
A checklist of actions to export may include action1, action5, action6.
And the script would export:

  • armature1_action1,armature2_action1,armature3_action1
  • armature1_action5,armature2_action5,armature3_action5
  • armature1_action6,armature2_action6,armature3_action6

I would love to help implement this.

Socket locations should be local to their parent object

Hi, I tried the export socket feature of this add-on.
It does work but unfortunately my sockets show up in the wrong location in UE4.
I noticed that the location of my sockets are offset in relation to the world origin in my blend file.

I think this is a bug because sockets are always parented to some object and that object is probably moved outside of the world's origin.

So calculation should be:

socket local location (when exported) = socket world location - parent world location

Workspace Filter

Hi I just notice with the addon, if one wants to filter their add-on's list, enabling it disables access to this add-on completely, might be something to look into if possible.

Annotation 2019-12-27 142104
Annotation 2019-12-27 150558

Animation export issue after version 2.6

Hi, I just updated the add-on to 2.62 version from 2.33 in blender 2.82. Then I got some animation issues from my custom rig including scaling problems and broken animation. (Those issues is not happed until version 2.6 )

  1. scaling problems
    When I import to Ue4 just like this image
    Inkedscaling ue4_LI

The character itself keeps the same size but the position goes extremely crazy and the unreal message log show "Imported bone transform is different from the original." I think it maybe causes by the root bone. Because if I import the issued animation fbx to blender, the full character in animation is 100 times bigger than normal animation.

My setting on the unit system is "metric" and the unit scale is 0.01 which is the blender to unreal scaling I found on the internet. The armature and mesh has applied transform mean scale =1. In the add-on setting, I just keep it at default on both old versions when working in my case and the lastest version (skeleton root bone name = Armature and root bone scale = 1), and I tried remove root bone have the same result.

  1. Broken animation
    InkedInkedbroken animation_LI2

The image shows that some bone has location values error in 2.62 exported animation but rotation looks like is same as the original. And the weapon you can see In the original animation looks like missing in the 2.62 version. But actually It just has a huge error in location value, so in the far away position and can not show in the image.

All the bone got error have the same feature including control by non-deform control bone (the bones will not export), have IK or similar setup. Because of the issue is location value so I tried to clear location (Alt + G) or export the non-deform control bone as well still have the same result.

clear location
Testing of clear location

One more extra issue - root position error in the first frame
bugreport
I got this problem in previous version so why I looking for update. The position change in the first frame is not animated is just an error. Basically, all the root motion animation has velocity in the first few frames that will cause this problem.

I don't have this root motion issue in UE4 if directly export the animation from blender fbx exporter. But the issued animation fbx file export from add-on doesn't show this problem when import back to blender. My current solution is manually the first frame after import the animation to UE4, It take a little bit of time but still can use and still much more convenience compare with blender build-in export method.

Except the last issue, I tested the other two problems is only on 2.6 or later version. I switch back to 2.5 is still work in my case.

Socket on exported skeletal mesh doesn't show up in unreal

Hello,

Thanks for this plugin.
It really helps a lot when exporting stuff from Blender. It helps me avoid a lot of pitfalls of the FBX format.

I have however an issue with sockets, here is my blender file :
Rover1.zip

Blender: 2.79b
Plugin: 0.2.0
Unreal: 4.20.2

I have converted an empty object into a socket now called "SOCKET_weapon_1" parented to the RoverBody.
Then I export the Rover2 Amarture as recursive (for skeletal mesh) to FBX with the plugin.
However when I import the FBX into unreal engine, the socket doesn't show up in the created skeleton asset.
Am I doing something wrong or is it actually a bug ?

PS: j'ai cru voir que tu étais français dans les release notes, on peut parler sur discord si tu veux: valou#2737

Thanks !

Animations are frozen in Unreal

Hello! I tried installing and using the add-on for exporting a rigged model with animations to Unreal, but something's wrong. It would take way too long for me to describe all of my steps, and all of the properties, so I just shot a video demonstrating the issue: https://youtu.be/5J-37z7IPwo

(Re-)Import of Generate Lightmap UVs option not updated

Hi,

It looks like the option Generate Lightmap UVs is never updated when I re-import my meshes either through UE4's content browser functionality or by running the generated Python script.

Could you please verify if this works on your end?

Thanks

Camera sequencer can't import to Unreal

Hi Xavier150
I have an issue while I import camera animation into unrreal engine, I've follow the tutorial with your video, but I still get this issue in unreal python console :

LogPython: Error: Traceback (most recent call last):
LogPython: Error: File "", line 1, in
LogPython: Error: NameError: name 'unreal_engine' is not defined

anything I did wrong?

Installation Not Working on 2.80 Without Error

Hi @xavier150 ,
I tried to install the addon for 2.8 but it just doesn't install when I select zip file without any error. I made sure I downloaded the 2.8 version.

Blender version I used: 2.80 (sub 74), branch: master, commit date: 2019-06-19 18:29, hash: rBd30f72dfd8ac

Thanks.

Scale and forward vector override options

Could you please add an override options that would allow for exporting meshes without the need of rotating them 90* along the Z axis?
Also it would be nice to have a scale override as well.
With those 2 options things would be even easier to export.

Preset export paths are wrong in Linux

By default, Linux uses a forward slash (/) to separate paths. Using a back slash (\) causes blender to generate multiple directories with varying names, instead of a hierarchical structure as expected.
Also, for some reason this means that UE4 can't read any files or subdirectories, but I have no idea why.

In __init__.py, the path settings need to concatenate the directory names, not use a static string, to deal with this.

Will not allow enabling addon. Syntax error.

Version: Blender 2.79
Addon Version: 0.2.2.2

When selecting the check box to enable the 'Import-Export: Blender for Unreal Engine' add on error reads:
File: ..... addon_utlis.py", line 331, in enable mod = _import(module_name)
File: ..... _init_py", line 345, name: StringProperty(name="Action data name", default="Unknown")

SyntaxError: invalids syntax

BlenderAddonErrorReport

Particle systems set to Hair are handled by creating objects for each instance

I just wanted to see what would happen if I tried to export an object with the particle system intact. It hadn't shown any potential error when i did the check. I had to do a hard shut-down after it spent a while trying to convert the 10 000 rocks scattered around the object's surface into separate child objects. At least i think that's what it was doing, it never finished.

It was perhaps a foolish experiment, but i thought i should mention it.

Nomenclature in the Preferences

This a more of a suggestion than a bug, but I would recommend to move the Nomenclature to the add-on preferences. It would be much easier to keep prefixes and export folder consistent across different blend files.

Error with newest release

...
export finished in 0.7031 sec.
Traceback (most recent call last):
  File "C:\Users\user-pc\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\blender-for-unrealengine\__init__.py", line 1504, in execute
    bfu_ExportAsset.ExportForUnrealEngine()
  File "C:\Users\user-pc\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\blender-for-unrealengine\bfu_ExportAsset.py", line 550, in ExportForUnrealEngine
    PrepareAndSaveDataForExport()
  File "C:\Users\user-pc\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\blender-for-unrealengine\bfu_ExportAsset.py", line 537, in PrepareAndSaveDataForExport
    targetActionName = baseActionName,
  File "C:\Users\user-pc\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\blender-for-unrealengine\bfu_ExportAsset.py", line 485, in ExportAllAssetByList
    ExportSingleFbxAction(originalScene, animExportDir, GetActionExportFileName(obj, action), obj, action, "Pose")
  File "C:\Users\user-pc\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\blender-for-unrealengine\bfu_ExportAsset.py", line 104, in ExportSingleFbxAction
    obj.location = originalLoc #Resets previous object location
NameError: name 'originalLoc' is not defined

Blender 2.8 Support

It's Blender 2.8 support planned for this script?

Blender 2.8 beta was recently released, and final version is planned for Q1 2019, so it would be be great to have this script ported to the new version.

Thanks!

Bug when exporting while in local view mode

When you export to UE4 while still being in local view mode all models to be exported will be moved to world origin and permanently stay there. You probably won't notice this until you exit local view mode. So there's quite a good chance you may have to start over and thus lose work - it happened to me many times now because I did not understand what triggered it.

How to reproduce

  1. Add two or more objects into the scene and mark them for export to UE4 as usual.
  2. Select one object and go into local view mode (/ key).
  3. Export using the Blender for Unreal add-on.
  4. Exit local view mode and observe the issue sitting right there at the world origin. 😉

Object name suffixes added

All the objects and sockets have a ".001" suffix added to the object names. This shows up in Unreal for the sockets, but if you import the fbx back in to Blender you can see that it is on the root object as well.

Any chance a version of this might ever be released for Unity?

Hey there,
You have done some amazing work here. even though I don't even use Unreal, I can appreciate how useful this would be. I know that it is no small feat, but was there perhaps any plans to one day create a version of this for Unity? If not, do you happen to know if there is a similar add-on that might be out there? I would certainly love to have something like this for it! I know this question really has nothing to do with your add-on in terms of a typical issue submission, so please, by all means feel free to close it if the question is simply not supposed to be here.

Thanks,
-MH

Possibility to set custom presets for the export options

First of all thanks a million times for this awesome addon.

What would be really helpful in my case is the opportunity to save presets of the export options or to be able to assign the option to multiple objects at a time.
90% of the time I export just static meshes, Y forward, Z up at 128 of lightmap resolution.
It's tedious to have to put all these values for each mesh.
Maybe it's already possible. Am I doing something wrong utilizing the addon?

Exported files overwrite all existing FBX in folder

Exporting multiple meshes into a folder with existing FBX files overwrites all FBX files in folder leaving only files exported in last batch. Not sure is this is a feature, I reviewed documentation and didnt see anything about this part of the addon.

Level Builder integration?

Have you seen this addon? It would be really great if we could export these scenes to Unreal but there's no explicit support for this in that addon. Just a suggestion. Thanks for your addon!

FBX Camera Fails to export

Great tool!

But I have issues with FBX cameras i'm exported from Nuke.

When i try and export the camera, i get this error

Traceback (most recent call last):
File "C:\Users\cam\AppData\Roaming\Blender Foundation\Blender\2.82\scripts\addons\blender-for-unrealengine_init_.py", line 1696, in execute
bfu_ExportAsset.ExportForUnrealEngine()
File "C:\Users\cam\AppData\Roaming\Blender Foundation\Blender\2.82\scripts\addons\blender-for-unrealengine\bfu_ExportAsset.py", line 194, in ExportForUnrealEngine
PrepareAndSaveDataForExport()
File "C:\Users\cam\AppData\Roaming\Blender Foundation\Blender\2.82\scripts\addons\blender-for-unrealengine\bfu_ExportAsset.py", line 182, in PrepareAndSaveDataForExport
targetcollection = baseCollectionName,
File "C:\Users\cam\AppData\Roaming\Blender Foundation\Blender\2.82\scripts\addons\blender-for-unrealengine\bfu_ExportAsset.py", line 76, in ExportAllAssetByList
ExportSingleFbxCamera(originalScene, GetObjExportDir(obj), GetObjExportFileName(obj), obj)
File "C:\Users\cam\AppData\Roaming\Blender Foundation\Blender\2.82\scripts\addons\blender-for-unrealengine\bfu_ExportAssetsByType.py", line 639, in ExportSingleFbxCamera
scene.frame_start = GetDesiredActionStartEndTime(obj, action)[0]
TypeError: 'NoneType' object is not subscriptable

location: :-1

Any ideas what might be up? I've included the camera.fbx and the blend file i've tried exporting from.

The same camera imported as an alembic will export fine, but that's not an ideal workflow either.

camera_and_blend.zip

LOD settings not correctly imported

LOD meshes are imported as separate objects but not integrated in the mesh as LODs.
All settings looked correct (LOD1 mesh "is LOD" checked, and referenced in LOD0 setting), plus set as a child object of the main (LOD0) object. LOD import was activated in UE4... Maybe there is a step I missed ?
(UCX worked perfectly, though...)

Driver controlled ShapeKeys are not exported in animations

Hi !
I have a problem with the addon right now, (which is amazing btw) where animation that have animated custom properties that controls ShapeKeys are not exported, like, If I export using the default fbx exporter the shapekey tracks are present in UE4, but not when I export using the addon.
Is there something I'm missing or is it just unsupported right now ?
Also I suppose that's important to mention but I'm using linking and proxies, I have a main blend with the mesh and armature, and a blend for each animation (we use that for team work) with the main blend linked inside.

Btw I can send a test blend that has that problem if you want to test it yourself.

couldnt enable the plugin in the addon list

registration error : object could not register

the above is the error when i click on the checkbox of the addon list for this plugin. For some reason i cannot enable it even though it seems to be installed. Tried whatever i can to fix this but couldnt find any solution. Can you tell me what might be causing this ? Thanks.

Export problem

Hello.
Version: 2.8.

When pressing the button "Export for Unreal Engine" (exporting just a monkey head) error reports:

Traceback (most recent call last):
File "C:\Users\asche\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\blender-for-unrealengine_init_.py", line 1150, in execute
bfu_exportasset.ExportForUnrealEngine()
File "C:\Users\asche\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\blender-for-unrealengine\bfu_exportasset.py", line 460, in ExportForUnrealEngine
PrepareAndSaveDataForExport()
File "C:\Users\asche\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\blender-for-unrealengine\bfu_exportasset.py", line 432, in PrepareAndSaveDataForExport
ExportAllAssetByList(GetAllobjectsByExportType("export_recursive"))
File "C:\Users\asche\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\blender-for-unrealengine\bfu_exportasset.py", line 344, in ExportAllAssetByList
ExportSingleFbxMesh(GetObjExportDir(obj), GetObjExportFileName(obj), obj)
File "C:\Users\asche\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\blender-for-unrealengine\bfu_exportasset.py", line 185, in ExportSingleFbxMesh
absdirpath = bpy.path.abspath(dirpath)
File "C:\blender-2.80.0-git.427c75e4c20b-windows64\2.80\scripts\modules\bpy\path.py", line 88, in abspath
if start is None else start,
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc4 in position 24: invalid continuation byte

location: :-1

Any ideas?

Collision naming convention invalid for UE4

I've always had difficulty getting collision names to work in UE4, but the one naming convention that always works without fail is to 100% of the time include two digits in the suffix, even if they are zero. "CollisionType_ObjectName_xx"

This is in line with Unreal's documentation regarding the FBX static mesh pipeline.
https://docs.unrealengine.com/en-us/Engine/Content/FBX/StaticMeshes

As it is, with your addon I have about a 20% success rate when, by chance, it decides to write in a valid suffix during the export. Perhaps I have other settings that are incorrect. Regardless I would definitely like to see the _xx suffix, it's more reliable, and adhere's to UE4's documentation.

Instancing?

I apologize if this is not the correct way to request a new feature. Something that would really assist developers would be instancing support (in Blender, Alt+D drag to instance a copy of something). It would be amazing if there were support to import these instanced copies as just that - instanced copies. These copies would technically just represent a transform. Then once imported, the actual mesh object would be instanced multiple times and placed in these transform locations.

I haven't played around with the python scripting parts of this, so I'm not sure if something like this is currently possible through that interface.

Thanks for such a useful add-on!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.