-
Notifications
You must be signed in to change notification settings - Fork 128
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
DNACalib SetVertexPositionsCommand is not efficient! #31
Comments
Hello, |
Yes, I have checke the deltas list.They are difference between new and old vertex positions. I focus on mesh_index 0 , head_lod0_mesh。 |
Can you give us full script that you are using? So we can take a look at it. |
This is my code ,It's changed from dna_viewer_grab_changes_from_scene_and_propagate_to_dna.py.
|
We want to generate a new DNA file by modified head Vertex Positions directly . Could you gvie us a tested example code which is read Vertex Positions from a DNA file and save them to a new DNA file? |
EDIT START 1 13 09 2023 You can see the documentation on my git documented process Hi marijavik, As of now the Grab_chages_from_scene script allows us to tweak a mesh using joint displacement. But most of us are looking to swap the head out with a custom one with a few tweaks. The process / methodology for that is unclear. Please could the team elaborate on that. Thanking you, |
Hello, usually I generate mesh in Maya from DNA file and in that scene import another mesh containing changes I want. Then I run 'run_vertices_command', save the changes in new DNA file. To validate I generate mesh from this new DNA file, import model mesh again and compare. Something like this:
|
One important note - once you re happy with your changes in Maya, do not forget to generate FBX files. It won't be enough just to replace DNA files in UE, but to reimport FBX files as well. |
Thanks for both answers MariJavik. Is there some prep required before we export it ? Ideally we'd like to have the "grab_changes_from_scene.py" script assemble the head rig with the correct naming and bone structure so we could send it to UE. If you could share a code snippet around that it would be golden. I'm learning so much from you. |
wow ! Cheers, |
Hello MariJ, Should I unbind the skin then reposition the mesh and re-bind it ? I'm just worried about the head portion not meeting the body seam in UE if I do this. EDIT START 1 18 09 2023 Thanks |
Hi @booomji just make sure that you take DNA and body file from the same MetaHuman. And do prepare skeleton file to contains the same joints we have in body folder. In that case you should have corresponding height for both body and head. Do not take any of those predefined skeletons as the most likely they won't fit. Those are skeletons that fit Ada and Taro DNA files and can be used with those. |
Thank you mariJ.
Thanks for the clarification |
Yes, that is correct. In body folder we prepared bodies for Ada and Taro and I guess your is different, so you need to prepare the one you have downloaded from bridge. |
Thank you MariJ. Finally, do we have the ability to add blend shapes via the DNA calib commands ? For e.g If i want to animate a Pinocchio nose in the sequencer (or BP) I could
Possible to do procedurally (dna toolset)? Thanking you, |
Hello @booomji,
Unfortunately, we do not have an option to add new blend shapes, only to update existing with SetBlendShapeTargetDeltasCommand. So you are right. |
Thank you Marij. You have been super helpful. |
If you mean at UnrealFest for the talk MetaHuman: DNA Calibration Deep Dive - I will be there :) |
WOW this is fantastic news ! |
Hello MariJ. Cheers, |
Hello @booomji, It has been recorded and we expect it soon to be available on YT. |
Hello Mari J. |
@marijavik Sorry I couldn't find a better place to post this, if there is please let me know and I will. I want to generate random metahumans programatically. I think I can do this by editing metahuman DNA files but I'm not sure how to go about this. I saw your talk at Unreal fest and read through the examples and github docs and code but couldn't find a way to do it. My working assumption rn is that if I can find the vertices corresponding to different parts of the face, like mouth, nose, eyes, etc, I can just scale them randomly (within reason) to create an entirely new metahuman BUT I'm not sure how to find the relevant vertices for each part of the face. Any help would be appreciated |
DNACalib can change neutral joint positions, but can't change neutral mesh positions.
this code can't change mesh positions in DNA file:
new_neutral_mesh = SetVertexPositionsCommand(
mesh_index, deltas, VectorOperation_Add
)
commands = CommandSequence()
commands.add(new_neutral_mesh)
commands.run(calibrated)
only run_joints_command is efficient.
The text was updated successfully, but these errors were encountered: