Git Product home page Git Product logo

blendertools's Introduction

icon

Blender Tools



A repository of blender addons that improve the game development workflow between Blender and Unreal Engine.

Send to Unreal

4

A one-click solution for sending assets from Blender to Unreal Engine.

UE to Rigify

2

A node based retargeting system for Blender's Rigify addon. Quickly retarget and author new animation on unreal marketplace assets and more!

Help Contribute

Contributions are encouraged! Find out how you can contribute to this repo in one of the following ways:

Get Notified on a New Release

Never miss a new addon release! Do this:

  1. At the top right of this page select Watch
  2. Select Custom from the dropdown.
  3. Check Releases
  4. Click Apply.

You will now get an email notification everytime there is a new version of an addon released.

blendertools's People

Contributors

01f0 avatar abhiraaid avatar dependabot[bot] avatar destiny-g-nunn avatar drichardson avatar drogaslord avatar dscalvin97 avatar iigindesign avatar james-baber avatar jamesbaber1 avatar jimmyt1988 avatar joshquake avatar kay-lowe avatar kuntalowe avatar mandeep avatar mattostgard avatar mik-patient avatar mikeweiss avatar mlaraba avatar namrog84 avatar nmaillet avatar riggingdojoadmin avatar ryan-hummer avatar salamiarmi avatar seekon avatar sna-scourtney avatar sygmakyle avatar tederis avatar tumepjlah avatar zenahr 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

blendertools's Issues

Send To Unreal - 0.01 Scene Scale Discussion

Hey author of Mr Mannequins Tools here, first off i'm really excited that this has finally be released! and as i mentioned in my question to Kaye during the "How To Use Blender With Unreal Engine Talk" i really do appreciate all the work that has gone into the making of these add-ons.

And i'm looking forward to messing around with everything in my fork of the repo when i have the time so i can expose some advanced FBX export settings that me and thousands of more advanced Blender riggers will need because we don't use Rigify due to having to re-rig almost everything for spline IK, floor targets, proper IK vs FK switching etc etc... but i digress...

I was hoping to be able to abandon Mr Mannequins export script however...

Too many people have been messaging me, chatting in my discord server and emailing me to complain and confirm that they will continue to use Mr Mannequins Tools for export and not bother with Send To Unreal purely because Send To Unreal is forcing 0.01 unit scales. I don't want this, i want Send To Unreal to be THE Blender to UE4 export add-on.

A 0.01 scene unit scale can ruin the accuracy of physics and particle simulations in Blender due to floating point errors

There is absolutely no need to force a 0.01 scale on everyone. It breaks a lot of existing Blender assets that could be converted for use in UE4 as well as the simple fact that it is a hacky workaround that has been used for way too long.

(not that my fix is any less hacky, it just does the job better)

Here is the rough summary of the python i use to scale objects and animations in my export script...

Me and the entire Blender to UE4 community beg you to use this however you can to enable any unit scale!

import bpy

# using an armature as an example...
object = bpy.data.objects["Armature"]

# need to be able to save the .blend...
if bpy.data.is_saved:
    # save everything before we do some scaling...
    bpy.ops.wm.save_as_mainfile(filepath=bpy.data.filepath)
    # scaling xyz by (100 * unit scale) = UE4 scale, no matter the unit scale...
    unit_scaling = 100 * bpy.context.scene.unit_settings.scale_length
    scale = (object.scale[0] * unit_scaling, object.scale[1] * unit_scaling, object.scale[2] * unit_scaling)
    # set and apply the object scale...
    bpy.ops.object.select_all(action='DESELECT')
    bpy.context.view_layer.objects.active = object
    object.select_set(True)
    object.scale = scale
    bpy.ops.object.transform_apply(location=False, rotation=False, scale=True)
    # check the object has animation data and an active action...
    if object.animation_data and object.animation_data.action:
        # get the action...
        action = object.animation_data.action
        # iterate through the location curves...
        for curve in [fcurve for fcurve in action.fcurves if fcurve.data_path.endswith('location')]:
            # and iterate through the keyframe values...
            for key in curve.keyframe_points:
                # multiply keyframed location by scale per channel...
                key.co[1] = key.co[1] * scale[curve.array_index]
                key.handle_left[1] = key.handle_left[1] * scale[curve.array_index] 
                key.handle_right[1] = key.handle_right[1] * scale[curve.array_index]
        
        # we could check if the fcurve is related to the armature with either of these conditions...
        #### if curve.data_path[12:-11] in object.bones: ####
        #### if curve.data_path.partition('"')[2].split('"')[0] in object.bones: ####
        
        # we could also put dope sheet scaling logic in here to scale the action to 30 fps but i'll leave that out for now...
    
    ### RUN EXPORT FUNCTIONS/OPERATORS HERE ###
    
    # once the export has run reload the .blend from the state it was before scaling to avoid having to scale back...
    bpy.ops.wm.open_mainfile(filepath=bpy.data.filepath)
    # it's faster and scaling back would also cause rounding errors that will accumulate and get worse each time we run this logic...

# The scaling logic can be pretty much reversed for import...    
# and there are even faster and more efficient ways of doing all this using ternary conditions, dictionaries and list comprehension...
# but putting the code together like this is more human readable. :)```

Rigify to UE ?

I'm a little confused, this add-on can make ue4 mannequin into Rigify control rig,
but can I make a Rigify rigged character into mannequin skeleton?

Morph import doesn't work on multiple objects #Label BUG

In the description paste in and edit the following:

  • Addon: i.e Send to Unreal
  • Steps to Reproduce the Problem: i.e. I clicked Pipeline > Export > Send to Unreal
  • Error Log: no error
  • OS: Windows 10
  • Addon Version: i.e. Send to Unreal 1.3.7
  • Blender Version: i.e. Blender 2.83
  • Unreal Version: i.e. Unreal 4.25

My Models is from Daz 3D I use the Genesis Male and Female 8 and an addon to send my models from Daz 3d to Blender 2.83.
I add the models to make Mesh tab and the rig to the bone tab in the outliner
I used the Addon send to Unreal and the Moths on the closed export, but the same moths on the human model do not export.

If you have high poly count to objects with Morph Targets, only one of the object will keep the Morph Targets, I use models from Daz 3D and the human model do not have any Morph Targets but the clothes do. If I combine the two objects in Blender and then separate them, then all the Morph Targets will export fine on both models.

UE to Rigify - Source object node that can map to control object node so control rigs can support root motion

  • Addon: UE to Rigify
  • Workflow: When creating rig templates you should be able to add a object node for the Source and Control rigs.
  • Description: This object node would need to be available from the node tree when hitting shift+A. Also the ATL+1 hot key pie menu would also need to be available when the rigs are in object mode as well as pose mode. The rig objects should not link automatically since the object origins would be linking and could cause weird results. This is something the user would explicitly need to realize they are doing, so they should explicitly link the 2 objects in the node tree.

Send to Unreal - Scene Scale and Scaling Everything by 100 Causes Animations to be Unusable

Bug

  • Addon: Send to Unreal
  • Steps to Reproduce the Problem:
    Watch the Video for detail (because GitHub does not support video format, you need to download the zip file and unzip it to see it):
    Scene Scale Animation Problem.zip

Here is some words accompanying the video (Please still watch the video)
The animation would change and become unusable just like what was shown in the video. It's hard to describe what changed and how it changed, so please watch the video. So basically it would only work if the animation is done after setting the scene scale. But that would mean all the animations I have done prior to installing this addon would be usable and I would need to redo all of them. This is a serious problem.

  • Error Log: Paste the full error log
  • OS: Windows 10
  • Addon Version: Send to Unreal 1.3.6
  • Blender Version: Blender 2.83.2
  • Unreal Version: Unreal 4.24.2

And also in the documentation, it mentioned setting the scene scale before importing FBX. I felt it strange that it would assume everybody is importing an FBX from the start. A lot of meshes were modeled directly in Blender from the default cube, and a lot of armature were created and rigged from a "single bone" and all that was done in Blender directly without importing anything. So in order to do the " setting the scene scale before importing FBX", one would need to manually export an FBX and re-import it back in Blender, why would one use this addon then? Why not just import that FBX to Unreal?

Request for Path option under Send To Unreal

Hello. I am hoping for an option to change the path you are sending to from within the general interface, instead of having to go into options and scroll/click around to get to it.
Perhaps a second option 'Send to Unreal - Custom Path' where the default is the same, so if you hover over or click it by accident, it would just do the default, but clicking onto the path allows a change.
also, maybe remove the export hover button completely and just have it say 'export to unreal' instead of an, albiet minimal hover delay or instinctive click, which then brings you to the actual send to button

Thank you very much for everything that everyone over there is doing!

Send to Unreal - Custom Collisions Workflow

There's no checkbox for supporting custom collisions on the FBX import. I'm unable to test due to another bug (submitted), but I suspect that importing collisions isn't presently supported, but it is important for doing environmental.

Sent to Unreal - Skeleton Asset(Unreal) Path validate Problem

'Bug'

In the description paste in and edit the following:

  • Addon: Send to Unreal
  • **Steps to Reproduce the Problem:
  1. Create and Edit Cube like this.
    erro01
  2. Set the Skeleton Asset Path.
    error02
  3. Then Execute Send, i will get the error below:
    error05
  4. I Look for the log in the code, guess it maybe be the path validate writed to be the resource validate.
    error04
  5. Clear the Skeleton Asset Path. And Execute again, It got right.
  • Error Log: There is no skeleton in your unreal project at: "/Game/Assets/Meshes".
  • OS: i.e.Windows, Mac, Linux
  • Addon Version: i.e. Send to Unreal 1.4.0
  • Blender Version: i.e. Blender 2.83
  • Unreal Version: i.e. Unreal 4.25

Send to Unreal - custom split normals can not send to unreal

Bug

  • Addon: Send to Unreal
  • Steps to Reproduce the Problem:
  1. open blender and click file-new-sculpting
  2. on the viewport of the new sculpting workspace: shift+space, and select cloth
  3. Give the sphere a few strokes with the brush
  4. switch to object mode, shift+a to create a new UV sphere, and move it to the Mesh collection
  5. add the Data Transfer modifier to this new UV sphere
  6. jump to Object data properties, enable Auto Smooth
  7. In the modifier, choose the sculpting sphere as the sorce object and select face corner data->custom normals
  8. Apply the modifier
  9. pipeline->export->send to unreal
  • Error Log: No log, the sphere sended in unreal is just a sphere without custom normals. However, if I choose export FBX in blender, and import the FBX to unreal, the custom normals is correct in unreal.
  • OS: Windows
  • Addon Version: Send to Unreal 1.3.7
  • Blender Version: Blender 2.83.3
  • Unreal Version: Unreal 4.25.3

Send to Unreal - "Could not find any node" error

Addon: Send to Unreal
Steps to Reproduce the Problem:

  • Open a blank Blender, create a cube
  • Name it SM_Cube and put it in the Mesh collection
  • Copy/Paste the cube and name it UCX_Cube
  • Export to UE4
  • Get a "Could not find any node" error

Error Log:

  • Could not find any node
  • Import Error

OS: Windows
Addon Version: Send to Unreal 1.3.6
Blender Version: Blender 2.83
Unreal Version: Unreal 4.25

Is it expecting a rig? This should also work with purely static meshes. Great work otherwise -

Send to unreal - Changed location of my newly created project causes error "Could not find an open Unreal Editor instance!"

Last night i was using the send to unreal just fine after i had installed it and opened a project in unreal. but today due to my drive running a little low on space i created a new project on a different drive and now when i click on the Pipeline>Send to unreal i saw nothing happen, that's when i saw the error message posted below. The paths are set to default, so they start with /Game as i didn't change anything to those. i just created a project in a different location is all.

i thought it could have been because i opened unreal editor by itself and not through the epic launcher but that also didn't change anything. I have uninstalled and reinstalled the plugin and still the same.

Addon: Send to Unreal
Steps to Reproduce the Problem: Change your location of where your project is stored
Error Log:bpy.ops.object.delete(use_global=False, confirm=False)
Deleted 1 object(s)
bpy.ops.mesh.primitive_torus_add(align='WORLD', location=(0, 0, 0), rotation=(0, 0, 0), major_radius=1, minor_radius=0.25, abso_major_rad=1.25, abso_minor_rad=0.75)
bpy.ops.mesh.primitive_torus_add(align='WORLD', location=(0, 0, 0), rotation=(0, 0, 0), major_radius=0.5, minor_radius=0.25, abso_major_rad=1.25, abso_minor_rad=0.75)
bpy.ops.object.move_to_collection(collection_index=2)
Torus moved to Mesh
bpy.ops.object.select_all(action='DESELECT')
Traceback (most recent call last):
File "C:\Users\scode\AppData\Roaming\Blender Foundation\Blender\2.83\scripts\addons\send2ue\operators.py", line 14, in execute
export.send2ue(properties)
File "C:\Users\scode\AppData\Roaming\Blender Foundation\Blender\2.83\scripts\addons\send2ue\functions\export.py", line 637, in send2ue
unreal.import_asset(assets_data, properties)
File "C:\Users\scode\AppData\Roaming\Blender Foundation\Blender\2.83\scripts\addons\send2ue\functions\unreal.py", line 103, in import_asset
f'unreal.AssetToolsHelpers.get_asset_tools().import_asset_tasks([import_task])',
File "C:\Users\scode\AppData\Roaming\Blender Foundation\Blender\2.83\scripts\addons\send2ue\functions\unreal.py", line 36, in run_unreal_python_commands
run_unreal_python_commands(remote_exec, commands, failed_connection_attempts + 1)
File "C:\Users\scode\AppData\Roaming\Blender Foundation\Blender\2.83\scripts\addons\send2ue\functions\unreal.py", line 36, in run_unreal_python_commands
run_unreal_python_commands(remote_exec, commands, failed_connection_attempts + 1)
File "C:\Users\scode\AppData\Roaming\Blender Foundation\Blender\2.83\scripts\addons\send2ue\functions\unreal.py", line 36, in run_unreal_python_commands
run_unreal_python_commands(remote_exec, commands, failed_connection_attempts + 1)
[Previous line repeated 47 more times]
File "C:\Users\scode\AppData\Roaming\Blender Foundation\Blender\2.83\scripts\addons\send2ue\functions\unreal.py", line 39, in run_unreal_python_commands
export.report_error("Could not find an open Unreal Editor instance!")
AttributeError: module 'send2ue.functions.export' has no attribute 'report_error'

location: :-1

bpy.ops.object.select_all(action='DESELECT')
Traceback (most recent call last):
File "C:\Users\scode\AppData\Roaming\Blender Foundation\Blender\2.83\scripts\addons\send2ue\operators.py", line 14, in execute
export.send2ue(properties)
File "C:\Users\scode\AppData\Roaming\Blender Foundation\Blender\2.83\scripts\addons\send2ue\functions\export.py", line 637, in send2ue
unreal.import_asset(assets_data, properties)
File "C:\Users\scode\AppData\Roaming\Blender Foundation\Blender\2.83\scripts\addons\send2ue\functions\unreal.py", line 103, in import_asset
f'unreal.AssetToolsHelpers.get_asset_tools().import_asset_tasks([import_task])',
File "C:\Users\scode\AppData\Roaming\Blender Foundation\Blender\2.83\scripts\addons\send2ue\functions\unreal.py", line 36, in run_unreal_python_commands
run_unreal_python_commands(remote_exec, commands, failed_connection_attempts + 1)
File "C:\Users\scode\AppData\Roaming\Blender Foundation\Blender\2.83\scripts\addons\send2ue\functions\unreal.py", line 36, in run_unreal_python_commands
run_unreal_python_commands(remote_exec, commands, failed_connection_attempts + 1)
File "C:\Users\scode\AppData\Roaming\Blender Foundation\Blender\2.83\scripts\addons\send2ue\functions\unreal.py", line 36, in run_unreal_python_commands
run_unreal_python_commands(remote_exec, commands, failed_connection_attempts + 1)
[Previous line repeated 47 more times]
File "C:\Users\scode\AppData\Roaming\Blender Foundation\Blender\2.83\scripts\addons\send2ue\functions\unreal.py", line 39, in run_unreal_python_commands
export.report_error("Could not find an open Unreal Editor instance!")
AttributeError: module 'send2ue.functions.export' has no attribute 'report_error'

location: :-1

OS:Windows
Addon Version:** i.e. Send to Unreal 1.3.7
Blender Version:** i.e. Blender 2.83
Unreal Version:** i.e. Unreal 4.25

Support UCX_ custom collisions

There's no checkbox for supporting custom collisions on the FBX import. I'm unable to test due to another bug (submitted), but I suspect that importing collisions isn't presently supported, but it is important for doing environmental.

Is not importing the morph targets (blender shape keys).

I fixed, just needed to change this part of the code

use_mesh_modifiers: bpy.props.BoolProperty(
name="Apply Modifiers",
description="Apply modifiers to mesh objects (except Armature ones) - "
"WARNING: prevents exporting shape keys",
default=False,
)

Send to Unreal - Exporting rigify animations without baking

Addon: Blender to Unreal
Asset Type: Animation
Question: How do you export an animation created in the UE to Rigify Toolkit without first baking animations to the source rig?

I'm having trouble exporting an animation that I've added to the UE to Rigify control rig without baking the animations to the source.

I have enabled the "Auto sync control NLA strips to source" in the Blender to Unreal preferences, added the actions I wish to export to NLA tracks and unmuted them, but the animations do not seem to export when I hit "Send to Unreal", and instead I get the error message "You do not have the correct objects under the 'Mesh' or 'Rig' collections or your rig does not have any actions to export!".

If I bake the animations and don't change anything else the "Send to Unreal" function properly exports the animations.

Am I missing a step or have I placed a Blender object into the incorrect collection?

I've attached an image of the scene hierarchy in the case that the collection is the issue:

image

Send to Unreal - A socket operation was attempted to an unreachable host

Following the setup-video, when click on Pipeline->export->send to Unreal, I´m getting this error:

Traceback (most recent call last):
File "C:\Users\NuncaMás\AppData\Roaming\Blender Foundation\Blender\2.81\scripts\addons\send2ue\operators.py", line 14, in execute
export.send2ue(properties)
File "C:\Users\NuncaMás\AppData\Roaming\Blender Foundation\Blender\2.81\scripts\addons\send2ue\functions\export.py", line 625, in send2ue
unreal.import_asset(assets_data, properties)
File "C:\Users\NuncaMás\AppData\Roaming\Blender Foundation\Blender\2.81\scripts\addons\send2ue\functions\unreal.py", line 55, in import_asset
remote_exec.start()
File "C:\Users\NuncaMás\AppData\Roaming\Blender Foundation\Blender\2.81\scripts\addons\send2ue\dependencies\remote_execution.py", line 81, in start
self._broadcast_connection.open()
File "C:\Users\NuncaMás\AppData\Roaming\Blender Foundation\Blender\2.81\scripts\addons\send2ue\dependencies\remote_execution.py", line 253, in open
self._init_broadcast_socket()
File "C:\Users\NuncaMás\AppData\Roaming\Blender Foundation\Blender\2.81\scripts\addons\send2ue\dependencies\remote_execution.py", line 279, in _init_broadcast_socket
self._config.multicast_group_endpoint[0]) + _socket.inet_aton('0.0.0.0'))
OSError: [WinError 10065] A socket operation was attempted to an unreachable host

location: :-1

Am I missing another configuration in Unreal besides the Enable Remote Execution flag?

Send to Unreal - ```Multiple materials with texture failed```

Bug

In the description paste in and edit the following:

  • Addon: i.e Send to Unreal
  • **Steps
  1. create a cube as follow
    批注 2020-08-07 210630
    批注 2020-08-07 210721
    批注 2020-08-07 210727
    批注 2020-08-07 210809
  2. Send to unreal
  3. It will ok
    批注 2020-08-07 211653
  4. Set Texture to M_Surface
    批注 2020-08-07 212157
    批注 2020-08-07 211652
    批注 2020-08-07 211651
  5. Send to unreal , nothing changes
  • OS: i.e.Windows
  • Addon Version: i.e. Send to Unreal 1.3.7
  • Blender Version: i.e. Blender 2.83
  • Unreal Version: i.e. Unreal 4.25

Send to Unreal - Always Use Unreal Scene Scale seems to create tiny SkeletalMeshes

When setting units by hand you are able to export SKs quite easily, however when you use Always use unreal scene scale, Blender exports out a tiny SK to UE4.

May be an issue with the way the Armatures understand the scaling in Blender? I made a video demonstrating the issue:

https://storage.googleapis.com/maketheory-send/8a1bcc25-f70c-4be8-9163-676410830bce.mp4

Digging a little further, I found that the Armature's Tail Z was quite different:

blender_gcbHLguNLo

UE to Rigify - Improve the undo history CTRL+Z

Addon: UE to Rigify
Asset Type: Armatures
Workflow: Switching through modes and undoing using UE to Rigify

Description:
The undo history of blender needs to be saved to a dict in the tools properties and then mode changes need to be inserted into the saved history as they happen. Each time an undo event occurs, this saved dict needs to be checked and undos should not happen if the history gets undone all the way to a mode change.

Send To Unreal - Could not find an open Unreal Editor instance

My project has both Python Editor Script Plugin and Editor Scripting Utilities plugins enabled.
It also has Enable Remote Execution enabled the in the Project Settings.
I have watched the quick-start video several times and I am sure I have not missed anything.

I have removed and reinstalled the plugin and tested with a newly created and configured project to no avail.

Here's the output from Blender's console:

Error: Traceback (most recent call last):
  File "C:\Users\User\AppData\Roaming\Blender Foundation\Blender\2.83\scripts\addons\send2ue\operators.py", line 14, in execute
    export.send2ue(properties)
  File "C:\Users\User\AppData\Roaming\Blender Foundation\Blender\2.83\scripts\addons\send2ue\functions\export.py", line 637, in send2ue
    unreal.import_asset(assets_data, properties)
  File "C:\Users\User\AppData\Roaming\Blender Foundation\Blender\2.83\scripts\addons\send2ue\functions\unreal.py", line 103, in import_asset
    f'unreal.AssetToolsHelpers.get_asset_tools().import_asset_tasks([import_task])',
  File "C:\Users\User\AppData\Roaming\Blender Foundation\Blender\2.83\scripts\addons\send2ue\functions\unreal.py", line 36, in run_unreal_python_commands
    run_unreal_python_commands(remote_exec, commands, failed_connection_attempts + 1)
  File "C:\Users\User\AppData\Roaming\Blender Foundation\Blender\2.83\scripts\addons\send2ue\functions\unreal.py", line 36, in run_unreal_python_commands
    run_unreal_python_commands(remote_exec, commands, failed_connection_attempts + 1)
  File "C:\Users\User\AppData\Roaming\Blender Foundation\Blender\2.83\scripts\addons\send2ue\functions\unreal.py", line 36, in run_unreal_python_commands
    run_unreal_python_commands(remote_exec, commands, failed_connection_attempts + 1)
  [Previous line repeated 47 more times]
  File "C:\Users\User\AppData\Roaming\Blender Foundation\Blender\2.83\scripts\addons\send2ue\functions\unreal.py", line 39, in run_unreal_python_commands
    export.report_error("Could not find an open Unreal Editor instance!")
AttributeError: module 'send2ue.functions.export' has no attribute 'report_error'

location: <unknown location>:-1

Addon: Send To Unreal 1.3.7
Unreal Engine version: 4.2.5.2
OS: Windows 10

Send to Unreal - Process armature fcurves before export

Addon: Send to Unreal
Workflow:
The user would select Pipeline > Export> Send to Unreal

Description:
Cache fcurve vaules and scene context.

Add in extra logic on the export process to scale up the fcurves on any object of type armature with animation data by a factor of 100.

Restore fcurve vaules and scene context.

Send to Unreal - Roughness map defaults to metallic in Unreal?

Addon: Send to Unreal
Steps to Reproduce the Problem: In Blender, make a material with a roughness map in the roughness slot and assign to mesh and export
OS: Windows
Addon Version: Send to Unreal 1.3.7
Blender Version: Blender 2.83
Unreal Version: Tested on Unreal 4.24/4.25

Not sure why. Alebo goes into Albedo, roughness goes into the mettalic slot, normal map goes into the normal slot. Why does this happen? Should I upgrade to 4.25, would that help? (Edit: That does not help)
image

image

image

Send to Unreal - Another UI to access send to unreal settings

  • Addon: i.e UE to Rigify
  • Workflow:
    Pipeline Paths (Send to Unreal, Export to Disk) should be options that appear when you click the Pipeline button in the menubar.
  • Description: I find myself switching between the two, or sometimes training an artist who doesn't use Unreal (not in their job description), but is making an asset to be used by a designer. By implementing one or the other option in the PIpeline button we eliminate having to constantly flip back to the Add-ons Preferences to adjust.

Also sorry I don't seem to be able to add labels to this issue.

UE to Rigify - Animations with different number of frames and SK mesh replacement

The workflow needs to be improved:

1 - If I import a skeletal mesh without animations I can't export the animations I create to unreal engine (at least it is not automatic nor I found a way for the bake button to work)

2 - If I import from an animation with a skeletal mesh file then I can export animation after tweaking it, but the number of frames of the animation remains the same as the original animation.

3 - Documentation on how to take the created rig and mesh, delete de UE4 mannequin mesh, substitute it with a different mesh and weight paint the new mesh would be really great. I can imagine that substituting the mesh and weight painting it can be done before hitting the convert button, but elaborating in these options would help new users.

4 - I found that the new blender option "Use pre/post rotation" must be disabled when importing the fbx into blender. (may depend on the fbx file or the skeletal mesh imported, but can not reproduce it now).

5 - When I press CTRL+Z while editing animation keys to undo steps the rigify rig dissapears. It seems that the convert step is reverted. Maybe it has to do with my knowledge of blender or the window currently active but is a bit annoying.

Other than that this is really awesome, thank you very much for this, lots of headaches will be avoided.

Error "Could not find any node"

  1. Create a cube
  2. Name it SM_Cube
  3. Put it under Mesh
  4. Copy, Paste, name it UCX_Cube
  5. Export

On the unreal side it gives the above error, I think it's looking for an animation, but we'll be using this just for static environmental meshes too.

Thanks for creating this -

Send to Unreal - LOD Import Problem

Bug

In the description paste in and edit the following:

  • Addon: Send to Unreal
  • Steps to Reproduce the Problem:
  1. Open Blender and open the .blend file attached to this issue, and turn on LOD option in addon import settings
    Download the .blend file here: LOD Bug blend file.zip
  2. You can see there are three LODs under the mesh collection, Suzanne_LOD0 being the highest poly, Suzanne_LOD2 being the lowest poly
  3. Launch Unreal Engine
  4. In Blender, click on pipeline -> send to unreal
  5. In Unreal, double click on the imported Suzanne, enable wireframe mode, and check the LODs
  6. You can see the highest poly mesh becomes LOD1 instead of LOD0. But LOD2 is still the lowest mesh.
  • Error Log: No Log, but I have screenshots
    Imported LOD0
    Imported LOD1
    Imported LOD2

  • OS: Windows 10

  • Addon Version: Send to Unreal 1.3.6

  • Blender Version: Blender 2.83.2

  • Unreal Version: Unreal 4.24.2

Contributing - Ideas and Suggestions

First of all, thank you for releasing this! I've been waiting for this for a while and love what you guys are providing to the community.

A bit of a question and a concern though about the BlenderTools repository-- Is there a reason why you wouldn't separate these repositories out and let github handle the packaging? Generally github allows people to download a repository as a .zip and as long as 'init.py' is in the topmost directory blender installs those addons just fine eliminating the need to pre-package a .zip file in the repository and eliminating a step to search for a particular release zip in a subdirectory. My concern would be that if someone wants to contribute to this they have to go through a process of repackaging the addon and adding seemingly endless amounts of release .zips directly into the repository rather than just forking the repo and editing the code directly and letting github take care of the packaging for the end user. If the concern is versioning, you could use release tags / branches or commits and download the zip the same way.

Also I realize you might want to keep these in the domain of 'blendertools' and that's what's forcing this extra layer of 'addon' and 'releases' directories but there might be a cleaner way of working around this by separating the repositories out (possibly using submodules?)

Might not be an issue right now since the plugin is so fresh but something to think about for the future if you're open to PRs and contributions. Again, thank you so much for this plugin-- loved watching the streams!

Send to Unreal - Supported Relative Paths in Mesh Folder / Animation Folder

In the description paste in and edit the following:

  • Addon: i.e Send to Unreal
  • Steps to Reproduce the Problem:
  1. In the Paths area of Add-ons you cannot specify a relative path such as // which would indicate the path of where the current file is saved. This is for the 'Export to Disk' option
  • OS: i.e.Windows 10
  • Addon Version: i.e. Send to Unreal 1.3.4
  • Blender Version: i.e. Blender 2.83.1

UE to Rigify - Changing toolkit mode on an armature with no actions fails

Addon: UE to Rigify

Steps to Reproduce the Problem:

  • Start Blender with empty scene and UE to Rigify enabled
  • Import SK_Mannequin.FBX from Unreal starter content
  • Select root bone in UE to Rigify Toolkit and press "Convert"
  • Switch toolkit mode to "Edit Metarig" or other mode

Error Log:
Traceback (most recent call last): File "C:\Users\Spencer\AppData\Roaming\Blender Foundation\Blender\2.83\scripts\addons\ue2rigify\functions\scene.py", line 1324, in switch_modes utilities.save_context(properties) File "C:\Users\Spencer\AppData\Roaming\Blender Foundation\Blender\2.83\scripts\addons\ue2rigify\functions\utilities.py", line 659, in save_context control_rig_context['active_action'] = control_rig_object.animation_data.action.name AttributeError: 'NoneType' object has no attribute 'name'

OS: Windows

Addon Version: UE to Rigify 1.3.4

Blender Version: Blender 2.83

Unreal Version: 4.25.1

Seems like simple issue caused in the check for action data. Adding an empty action in the action editor fixes the problem without requiring a restart.

Send to Unreal - Configurable preferences presets

EDIT 1: Ughh.. Sorry. I thought I could add a "Discussion" label after creation. Not sure how.. trying to figure it out.

EDIT 2: It looks like labels cannot be set publicly, but the contribution doc seems to indicate that it should be 🤔

I would like to discuss a feature I would love to see where paths can be specified per scene. This would be for all path settings:

  • Mesh Folder (Unreal)
  • Animation Folder (Unreal)
  • Skeleton Asset (Unreal)
  • Mesh Folder (Disk)
  • Animation Folder (Disk)

My studio's basic folder structure looks like: Content/GameName/Category/ThingName/
Category would be weapons/characters/props/etc. All assets that are specific to that thing would go in the equivalent ThingName folder.

As it stands right now I have to enter new paths in preferences each time I switch between models to export. I would like to be able to able to save the export paths in the scene's custom properties (or wherever makes sense) to remove this pain point in my workflow.

It would also be good to take into account differing roots of project source art locations between artists by allowing disk folders to be relative to a global root disk path which would be stored in Blender user preferences.

Send to Unreal - Is root motion supported?

I wasn't able to find any reference to this in the documentation so I am not sure if this is a bug or if root motion is simply not supported. I'm using Export to Disk and cannot seem to get root motion to export.

If it is supported what is the preferred method for getting it to work? (Some addons require you to move the entire rig in object mode rather than using the rigify Root controller.) I've tried both though.

If it is supported, is it supposed to work with the Export to Disk option?

Also unrelated but how on earth do you add a label to a post?

Send to Unreal - nothing works

Mannequin animation imported into Blender.
Armature converted to rigify.
At this point there's no way to use the control rig to move the mannequin.
Additionally baking fails because the armature from the fbx file no longer exists.

In other words... typical blender plug in :)

Send to Unreal - Can I import my mesh and meta-rig to UE without animations?

  • Addon: Send to Unreal
  • Question / Feature: Can I import my mesh and rig to UE without animations?

I suppose this may also involve using UE to Rigify for skeleton configuration mappings but it would be awesome if I could start with taking my blender created character and rigify skeleton then use Send to Unreal to get everything into Unreal ready to pull in marketplace animations.

One example or use case I would love to see is how to use the Animation Starter Pack on a basic human meta-rig that was created in blender.

Send to Unreal - Remove custom collection requirement

Note we are unable to set the label, this should be Feature

  • Addon: i.e Send to Unreal
  • Workflow: The plugin should recognize the items by following the common UE naming conventions, not by collections
  • Description: We use multiple plugins (e.g. send to Marmoset) that also have requirements on the collection structure. In this example, the reason is logical as Marmoset has a folder structure internally for baking and such, so requiring the Blender structure to mirror that is reasonable. For Send to Unreal, there's no reason to have a requirement on the collection other than plugin convenience.

The ideal way to do it I think would be to have a setting in the Global prefs for the plugin where prefixes and postfixes could be specified for the various elements. So SM_ could be set as a prefix for a static mesh, for Unreal export. Then the plugin simply has to search for all meshes with that prefix. Simple to implement, crystal clear for users, supports any kind of outliner structure and naming convention desired.

UE to Rigify - IK pole targets functioning incorrectly

Blender version 2.83.2
UE to Rigify 1.3.6

Because I had a hard time describing my last issue I've opted to make a narrated video of the issue to accompany this post:
https://www.youtube.com/watch?v=mn7szILMQSg

This is I guess two problems that I suspect are related, dealing with the rigify IK controls as they are applied to the UE4 mannequin.

  1. When not using a pole target, the regular IK rotation controllers are fixed in place and can't be rotated
  2. When using a pole target, the bones drift unexpectedly between keyframes

This may be a rigify problem (or a user problem, in which case I sincerely apologize) but the reason I suspect UEtoRigify is because I'm not able to reproduce this problem with the standard generated rigify rig (which I demonstrate in the above video)

Send to Unreal - Could not find an open Unreal Editor instance!

Addon: Send to Unreal
Steps to Reproduce the Problem: I click Send to Unreal and get the following message. The unreal editor is open.
Error Log:
Traceback (most recent call last):
File "C:\Users\Adam Turner\AppData\Roaming\Blender Foundation\Blender\2.83\scripts\addons\send2ue\operators.py", line 14, in execute
export.send2ue(properties)
File "C:\Users\Adam Turner\AppData\Roaming\Blender Foundation\Blender\2.83\scripts\addons\send2ue\functions\export.py", line 625, in send2ue
unreal.import_asset(assets_data, properties)
File "C:\Users\Adam Turner\AppData\Roaming\Blender Foundation\Blender\2.83\scripts\addons\send2ue\functions\unreal.py", line 103, in import_asset
f'unreal.AssetToolsHelpers.get_asset_tools().import_asset_tasks([import_task])',
File "C:\Users\Adam Turner\AppData\Roaming\Blender Foundation\Blender\2.83\scripts\addons\send2ue\functions\unreal.py", line 36, in run_unreal_python_commands
run_unreal_python_commands(remote_exec, commands, failed_connection_attempts + 1)
File "C:\Users\Adam Turner\AppData\Roaming\Blender Foundation\Blender\2.83\scripts\addons\send2ue\functions\unreal.py", line 36, in run_unreal_python_commands
run_unreal_python_commands(remote_exec, commands, failed_connection_attempts + 1)
File "C:\Users\Adam Turner\AppData\Roaming\Blender Foundation\Blender\2.83\scripts\addons\send2ue\functions\unreal.py", line 36, in run_unreal_python_commands
run_unreal_python_commands(remote_exec, commands, failed_connection_attempts + 1)
[Previous line repeated 47 more times]
File "C:\Users\Adam Turner\AppData\Roaming\Blender Foundation\Blender\2.83\scripts\addons\send2ue\functions\unreal.py", line 39, in run_unreal_python_commands
export.report_error("Could not find an open Unreal Editor instance!")
AttributeError: module 'send2ue.functions.export' has no attribute 'report_error'

location: :-1

OS: Windows
Addon Version: Send to Unreal 1.3.4
Blender Version: i.e. Blender 2.83.1
Unreal Version: i.e. Unreal 4.24.3

Send to Unreal - Mac OSX Address already in use

Hi,

I've followed the Get Started tutorial, and while trying to sent to unreal I get the error bellow:
I can see that enable remote scripting is on, and that is using the port 6766. I've disable (Changes the error obviously) and enabled again, but still get the same error.

I'm using:
Addon: Send to Unreal
Steps to Reproduce the Problem: clicked Pipeline > Export > Send to Unreal
Error Log: (On the image below)
OS: i.e.Mac
Addon Version: i.e. Send to Unreal 1.3.4
Blender: v2.83.2
Unreal Engine: 4.25.1

Screenshot 2020-07-15 at 08 13 46

Send to Unreal - Import asset operator

Addon: Send to Unreal
Workflow:
The user would select Pipeline > Import > Asset from the header menu then a file browser dialog would open. Once the file is selected, the unreal asset will import.

Description:
Create a Import operator that opens a file dialog.

Inside the file dialog have a panel that has a property with a label that says 'Import from:' and then a dropdown to choose which DCC the file is coming from. The default will be 'Unreal Engine'. This will allow us to add in more DCCs in the future that might have special scale factors, or other specific clean up that needs to happen on an import based on which application the file is coming from.

The dialog should only allow the user to import file extensions which are currently supported by the Send to Unreal tool, which is currently fbx, but more can be added later.

When importing a unreal asset, get any object of type armature, get its actions, and fix the unit scaling on its fcurves.

Send to Unreal - Incorrect path input causes UE4 crash

When I hit export, UE4 crashes and I get this error in blender log.

Traceback (most recent call last):
File "C:\Users\arunb\AppData\Roaming\Blender Foundation\Blender\2.83\scripts\addons\send2ue\operators.py", line 14, in execute
export.send2ue(properties)
File "C:\Users\arunb\AppData\Roaming\Blender Foundation\Blender\2.83\scripts\addons\send2ue\functions\export.py", line 625, in send2ue
unreal.import_asset(assets_data, properties)
File "C:\Users\arunb\AppData\Roaming\Blender Foundation\Blender\2.83\scripts\addons\send2ue\functions\unreal.py", line 103, in import_asset
f'unreal.AssetToolsHelpers.get_asset_tools().import_asset_tasks([import_task])',
File "C:\Users\arunb\AppData\Roaming\Blender Foundation\Blender\2.83\scripts\addons\send2ue\functions\unreal.py", line 36, in run_unreal_python_commands
run_unreal_python_commands(remote_exec, commands, failed_connection_attempts + 1)
File "C:\Users\arunb\AppData\Roaming\Blender Foundation\Blender\2.83\scripts\addons\send2ue\functions\unreal.py", line 36, in run_unreal_python_commands
run_unreal_python_commands(remote_exec, commands, failed_connection_attempts + 1)
File "C:\Users\arunb\AppData\Roaming\Blender Foundation\Blender\2.83\scripts\addons\send2ue\functions\unreal.py", line 31, in run_unreal_python_commands
unreal_response = remote_exec.run_command(commands, unattended=False)
File "C:\Users\arunb\AppData\Roaming\Blender Foundation\Blender\2.83\scripts\addons\send2ue\dependencies\remote_execution.py", line 132, in run_command
data = self._command_connection.run_command(command, unattended, exec_mode)
File "C:\Users\arunb\AppData\Roaming\Blender Foundation\Blender\2.83\scripts\addons\send2ue\dependencies\remote_execution.py", line 448, in run_command
result = self._receive_message(_TYPE_COMMAND_RESULT)
File "C:\Users\arunb\AppData\Roaming\Blender Foundation\Blender\2.83\scripts\addons\send2ue\dependencies\remote_execution.py", line 470, in _receive_message
data = self._command_channel_socket.recv(4096)
ConnectionResetError: [WinError 10054] An existing connection was forcibly closed by the remote host

location: :-1

OS - Windows 10
Blender version - 2.83.0
Unreal version - 4.24.3 and 4.25.1
It crashes in both the UE4 versions. Please let me know if you need any other info.

Send to Unreal - Best FBX settings for a hard surface model?

Hi,

I downloaded version 1.3.6 and did a quick test to send a basic object to unreal, I use HardOps addon that has a function to "sharpen objects", the script marks all faces as smooth and it marks edges as sharp that are at a certain specified angle and adds a mean bevel weight of 1 and activates the auto smooth property set to an specified angle as well. When sending the object to unreal the face normal information is not present, the object is treated as smooth. I tried using the auto smooth function manually and setring the edges as sharp manually without using HardOps but the result is the same. The tool appears to ignore face normal information. Bellow I attach a screenshot in engine of the issues going from left to right the first mesh was sharpened in blender using HardOPs. The second one was smoothed manually using auto smooth and selecting and marking the desired edges as sharp. The last mesh has no smoothing whatsoever. I also added a screenshot of how it looks inside of blender.

I'm using:
Addon: Send to Unreal
Steps to Reproduce the Problem: Activated auto smooth with an angle of 30° clicked Pipeline > Export > Send to Unreal
Error Log: (On the image below)
OS: Windows 10 Pro 64-Bit
Addon Version: i.e. Send to Unreal 1.3.6
Blender: v2.83.2
Unreal Engine: 4.25.1

In Blender:
SmoothProblem

In Unreal:
HighresScreenshot00002

UE to Rigify - Can't get Export Template to Work

I've created a new Template based on a modified character rig that we are using. After completing and testing this new Template that luckily is saved in Blender somewhere, I have tried to Export it in the Blender Preferences. I have opened a new scene, imported the character and rig, applied the in-Blender Template (the one that works) and then gone straight to Export Template in Blender Preferences saving as a different name.

Upon Importing that Template, and then using it on the same imported character in a new scene, it creates what looks like the basic Mannequin or sometimes even the basic Rigify armature depending on what steps I've taken. I have not gotten it to export the Template that I have created.

I'm working with UE to Rigify 1.3.6.

I also for the life of me cannot figure out how to label this as a Question.. sorry.

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.