Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Unweighted Bones directly in Unreal #2

Merged
merged 1 commit into from
Jul 18, 2022
Merged

Conversation

AchimTuran
Copy link
Member

@AchimTuran AchimTuran commented Jun 12, 2022

With the current state of Metahumans it is impossible to use them with ALS, as they don't provide any ik bones so far.

Sure you can add them via Blender or any other 3d software, but then you might have to deal with importing and exporting all meshes (LODs). Wouldn't it be no better to add them directly in Unreal❓

So far there seem to be only a few plugins that allows an Unreal user to introduce a root bone or unweighted bones. But these might be to expensive for you. 😄
https://www.unrealengine.com/marketplace/en-US/product/virtual-animation-tools
https://www.unrealengine.com/marketplace/en-US/product/mixamo-animation-retargeting
https://www.unrealengine.com/marketplace/en-US/product/mixamo-animation-retargeting-2

After this pull request is merged you can add those bones via a right click and a data table. Additionally, the data table was extended to get a Mixamo character working without renaming the bones. For details see https://youtube.com/playlist?list=PLslFX7TZAr8_rp0_Oj5v6-8HlEvKU_JKw.
image
image

First tests seem to be fine here.
image
image

Furthermore, it can happen that your virtual bones might get messed up during retargeting... to work around this issue we can trigger the recompression of animations when we restart the editor. Wouldn't be it more valuable if we as a user could decide when the recompression task should be trigger❓
To workaround this issue this node was implemented. It can trigger the process and your virtual bones will be automatically constraint to the target bones. 😉
image

@AchimTuran AchimTuran changed the title Unweighted Bones Add Unweighted Bones directly in Unreal Jun 12, 2022
@AchimTuran
Copy link
Member Author

AchimTuran commented Jun 12, 2022

Feature is still in experimental state so please if you use it backup your project before trying to introcude the bones. It might break your existing animations, skleleton assets or meshes. 😉
TTToolbox_v0.4_UE5.0.1.zip

Special thanks to corinadow, Vlad the Iron Clad, Orphic and J0hnC0nn0r for testing and giving feedback.

@AchimTuran
Copy link
Member Author

AchimTuran commented Jun 14, 2022

This version does not try to release the ressources on the render thread to avoid issues with shader struct parameter validation.
Tested this version with opened preview mesh and skeleton. So far no issues here.
Somehow the render thread does not like if we try to release ressources and initialize them again for the introduction of unweighted bones. Without touching this multithreading issue it seems to be fine here. 😉
TTToolbox_v0.4_UE5.0.0_win64_2.zip

Special thanks to corinadow, Vlad the Iron Clad, Orphic and J0hnC0nn0r for testing and giving feedback.

@AchimTuran
Copy link
Member Author

AchimTuran commented Jun 15, 2022

  • introduce new editor hook for forcing animation recompression
    image

@AchimTuran
Copy link
Member Author

AchimTuran commented Jun 15, 2022

  • please introduce a new error message here
    image

@AchimTuran
Copy link
Member Author

AchimTuran commented Jun 15, 2022

  • please move those functions into the Character Tools section for Scripted Asset Actions
    image

@AchimTuran
Copy link
Member Author

Thank you already for your contribution, we will try to get back to you asap when we find the time and of course give you feedback. Looking forward to a great review session with valuable discussions.

@ill
Copy link

ill commented Jun 21, 2022

Oooh nice, I was also looking for a way to delete bones. I ended up doing the whole painful export as fbx, import into engine, redo all settings as precisely as possible, process. I basically just wanted to take the UE5 mannequin and modify its IK bone setup to how my game needs.

@AchimTuran
Copy link
Member Author

AchimTuran commented Jun 22, 2022

@ill
Delete or add bones?
Yeah it's a huge time saver. 😉

feature request is available here #6.

@colorindarkness
Copy link

This will really improve the workflow. Thank you.

@AchimTuran
Copy link
Member Author

AchimTuran commented Jul 14, 2022

  • Adding unweighted bones again creates unhelpful error message.
    grafik

@AchimTuran
Copy link
Member Author

AchimTuran commented Jul 14, 2022

Secured adding virtual bones through source and target bone name checks. Sadly the public UE API does not care about this use case. Furthermore, it seems to be that unparented virtual bones create issues while adding unweighted bones through the TTToolbox preview v0.4.

@AchimTuran
Copy link
Member Author

AchimTuran commented Jul 14, 2022

Source/TTToolbox/Private/IKRig_ConstraintBones.cpp Outdated Show resolved Hide resolved
Source/TTToolbox/Private/IKRig_ConstraintBones.cpp Outdated Show resolved Hide resolved
Source/TTToolbox/Private/TTToolboxBlueprintLibrary.cpp Outdated Show resolved Hide resolved
Source/TTToolbox/Private/TTToolboxBlueprintLibrary.cpp Outdated Show resolved Hide resolved
Source/TTToolbox/Private/TTToolboxBlueprintLibrary.cpp Outdated Show resolved Hide resolved
Source/TTToolbox/Private/TTToolboxBlueprintLibrary.cpp Outdated Show resolved Hide resolved
@AchimTuran
Copy link
Member Author

@lakkyhb
Please don't use my pull request for asking questions. For that I have the issue handling already setup within this GitHub project.

See https://github.com/tuatec/TTToolbox#how-to-contribute-to-tttoolbox.

Furthermore, I already created a issue for your problem here, #10.

- introduce root bone feature
- introduce data tables for mixamo characters
- improved error reporting of ik rig constraint bones solver
- introduce force recompressing of all linked anim sequences (constraints the virtual bones again)
- added more documentation
@AchimTuran
Copy link
Member Author

feature is now developed and will be merged to master, which enables me to create v0.4.

@AchimTuran AchimTuran merged commit 13ddaa7 into master Jul 18, 2022
@AchimTuran AchimTuran deleted the unweighted-bones branch July 18, 2022 22:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants