daz3d / DazToMaya

Daz To Maya Bridge
https://www.daz3d.com/daz-to-maya-bridge
Other
29 stars 20 forks source link

JCM Morphs are not automated/ No Pose Morphs? #32

Open malikeena opened 2 years ago

malikeena commented 2 years ago

Hey I'm sure you are already looking into this saw this on the last post. I was looking into the new update and everything seems working except that the JCMs are not activating on their own. It would be extremely convenient if we could get it set up with the pose editor. Not sure if you have another method but this would be a great feature. Other than that it's making amazing progress! Looking forward to more updates, I can continue to test it and give more thoughts.

danielbui78 commented 2 years ago

Thanks for the feedback! I'm looking into this JCM issue in Maya. I'm not 100% certain if it was working and stopped with the change to C++, or if it was not yet fully implemented in the original script-version of the bridge. Thank you for your patience.

stepharamburu commented 2 years ago

Hi Daniel. is there any news about this point please? Best Regards! Steph

danielbui78 commented 1 year ago

The JCM feature for Maya is roughly planned out, but there was unfortunately not enough time to implement for the recent update. Will hopefully get it into the next one later this year.

nickvisuals commented 1 year ago

Been a few months....any updates on JCM support?

stepharamburu commented 1 year ago

Hi there. please any news about this topic?

danielbui78 commented 1 year ago

I will try my best to get this feature into the next update. ETA for update is mid Jan or Feb 2023.

stepharamburu commented 1 year ago

Hi there, waiting for some good news ;)

danielbui78 commented 1 year ago

Will be working on JCM in addition to other Bridge updates this month (Feb). Hopefully, will release near the last week of Feb. or early March. Thanks for everyone's patience on the delays.

malikeena commented 1 year ago

Hey, Daniel wanted to check up on how it's going it's early March wanted to see if there is anything I can do to test and or help! JCMs working in maya would be an amazing feature, wanted to say have you seen DTL Daz to Unreal? Specifically, this does a lot of extra features that are really necessary, for example changing the orientation of the bones so that they match Unreal's structure. Maybe as you import there is a checkbox that you can click to fix bone rotations if you need to. They are also doing some things with HighRes JCMs but that may be too much and too time-consuming. I'm sure the JCMs alone are a lot but I truly feel that is what is necessary in order to make this process seamless. Hope to see some progress soon!

stepharamburu commented 1 year ago

Hi Daniel, if the new bridge to maya can improve a Motionbuilder skeleton structure on Human IK instead of the classic Maya default structure, it will be great !

danielbui78 commented 1 year ago

There were more delays in other projects but the issues are now resolved, so I am just now reviewing open issues and planning a timeline for Bridge updates. JCM support is still high on the priority list.

@malikeena Yes, I have been in very close communications with the author of the DTL Daz to Unreal -- their product is very good and I recommend it.

@stepharamburu Can you be more specific? Do you have a specific use-case or an issue with your workflow between Maya and Motionbuilder?

stepharamburu commented 1 year ago

Hi @danielbui78 There are different structure bones on twist bones between Maya Default (first) and Motionbuilder (second) as you can see on pics. The motionbuilder structure let you add extra twist controllers easily instead of the maya default if you want to work it with the Maya Rig`. Regards!!

humanIK_1_default humanIK_1_motionbuilder_structure

danielbui78 commented 1 year ago

https://github.com/daz3d/DazToMaya/releases/tag/2022.2.14-preview

stepharamburu commented 1 year ago

Hi Daniel, thank you so much for notified. From my side, automated JCMs still doesn't work also the subdivision bake option can't be applied. Character only can be imported on Base Resolution. Best Regards!

crisjsalina commented 1 year ago

JCMs work well on my side. You need to update both the plugin on the daz side and also on the maya side.

As for the subdivision, yeah I'm having the same issue. The plugin is not exporting the HD morphs so all I get is a base resolution character in Maya.

Overall, I think with this JCMs addition the bridge has become a lot more useful. So thanks Daniel for not giving up on the bridges! They still needs some key features added, which I'm sure they will be over time. So thanks for your work :)

stepharamburu commented 1 year ago

I think I'm doing something wrong because it still doesn't work for me. :(

crisjsalina commented 1 year ago

Hmm I only tried with a Gen 8.1 model, so perhaps it doesn't work with other models?

Obaemon7 commented 1 year ago

HI there, thanks for the work, i've been waiting for a a long time for this. However, when i have my model in maya i can see that all the morphs are in yellow, meaning they are all connected, but when i try to move the character, the blendshapes don't move. I tried with the controller and even directly on the bones but this doesn't work, i'm obvsiously doing something wrong.

I wonder if it has something to do with the .dll in the download page of this preview version, i have no idea where i should put those. In DAZ central, my DAZ to maya is still showing as 1.8.0, but i thought we were at version 2 now.

stepharamburu commented 1 year ago

@Obaemon7 well I think we're doing something wrong because I have exactly the same issue. I tested with G-8.1 getting the same result but, @crisjsalina says it works fine.

danielbui78 commented 1 year ago

I am developing a troubleshooting tool to help identify the problem. Thanks for your patience.

Obaemon7 commented 1 year ago

I think i'm installing this wrong. I opened the Daz central (haven't launched it for almost a year), the Daz to maya plugins has automatically updated. Now i see this:

daztomaya_version

However if i look at the web page where i can download the last version:

daztomaya_version2

In DAZ i see this:

daztomaya_version23

So they are all different version, i'm getting really confused.

When i use the send to > DAZtomaya in Daz, i can select the export morphs button, so am i up to date ?

In maya i have this: shapes

So you can see the blendshapes are yellow (connected to something), but they don't actually activate when i move the controllers (auto rig). I have raised the left arm wich should activate the shldrUp90_L, and i have put down the right arm wich should activate the shldrDown40_R

About the folders and files:

daztomaya_version_folders

I have no idea where i should put the files for this preview version, the main page is saying that we should use the daz central to let daztomaya update. But i'm not sure this preview version is downloaded automatically, if not, i don't think it knows where to find those files on my computer, so i guess i need to copy them somewhere.

Thanks for the help

Obaemon7 commented 1 year ago

i can also see that some facial expressions are connected to something, like the mouth stretch, mouth pucker, smile etc. I thought those where independant from any controllers, and since they are connected now, i wonder what controller should we move to activate them ? I'll see that further when i will be able to activate the shapes though.

danielbui78 commented 1 year ago

@Obaemon7 Thanks, I understand your problem now. The Auto-JCM is a preview release and not available through Daz Central or Daz Install Manager. In order to use the Auto-JCM preview release, you should download the DLL plugin, then manually install it into Daz Studio, then use Daz Studio to install the Maya plugin to Maya:

  1. Manually install a DLL plugin from Github release page using this video: https://youtu.be/LDDPfygZfgs
  2. Once installed, check the DazToMaya Bridge version and make sure that it is now revision 14.38 in the Advanced Settings section.
  3. Install the Maya plugin using Daz Studio bridge (time code 1:21): https://youtu.be/H3ukRuEyLCM?t=81
  4. Once installed, Open the Daz To Maya Bridge dialog from inside Maya and then open your Maya Script Editor window and you should see some lines like these:
DazToMaya.run()
DazToMaya: Python Version is 3.7.7 final
DazToMaya: has successfully loaded, version v2022.2.14.38.
DazToMaya: Intermediate folder location is .....

Make sure it is version v2022.2.14.38.

Now follow the steps on the Auto-JCM prerelease page for testing auto-jcm feature: https://github.com/daz3d/DazToMaya/releases/tag/2022.2.14-preview

Obaemon7 commented 1 year ago

Thanks for your answer, i'm gonna try that. Just to make sure, all of this is supposed to work for maya 2023 and/or 2022 ?

danielbui78 commented 1 year ago

Yes, I have tested this pre-release version on Maya 2022.3, 2022.4 and 2023.3. They should all support Auto-JCM, Auto-Rig, subdivision.

Obaemon7 commented 1 year ago

ok thank you! i'm gonna try this !

Obaemon7 commented 1 year ago

Ok, i've done all of this, and the blendshapes are now activating normally. Thanks for that ! I still have some issues. In maya 2023 the "Daz import" button in the daz to maya shelf doesn't work, the auto rig button works normally. I've seen someone mentionning a similary issue, i tried creating a new button with the python script you provided, but it didn't work, same result, ui window doesn't appears when a hit the button in the shelf.

But it's working in maya 2022. More annoying issue, some blendshape don't really work, with the auto rig, if i move the controller for the eyes, i can see the eyes following, i can see the blendshapes value changing, but the geometry doesn't change on the mesh.

shapes_not_moving

For the project i'm working on, i tried doing the connections myself through the node editor, it was a nightmare doing them one by one (i feel you man), using a combination of multiply/divide, math float, max and min nodes (nightmare), i ended up with something working well but couldn't manage to have the shoulder working (because there's multiple blendshapes blending with each other and i couldn't figure it out).

(That's why i was checking this post for months, since my final object is not the one rigged but an edited copy of it following it with a wrap deformer, i'm able to update the rig and don't loose my progress.)

However for the eyes i got it to work. here's 2 exemples

down

up

Same for the mouth, if i use the lower jaw controller to open it in this new version. I have this:

bad_mouth

I had the same issue before so i decided to not use that controller at all, and create a new one (the pink one), with only blendshape connections in it (not connected to any bones, so when i move the controller, it only activate blendshapes):

mouth_good

So currently, the blendshapes for the face are not moving the Geo, and as i say before, the expressions ones, like smile, squint etc, are now connected, but i don't know to what they are connected, and since they are not working, we can't really use them anymore. Is there a way to know what they are connected to and control them ? Maybe i missed a new controller with some attributes in it ?

Here's my character i'm working on thanks to you !

fff copy

Obaemon7 commented 1 year ago

when i saw you were working on this, i thought about contacting you because i did all of those connections, so humanity didn't have to make this twice, but i realized after the fact that i have renamed all the blendshapes i connected (because those long names were annoying), and i will have to put all the original names back to make this usable, and i probably did an horrible and unprecise job with my nodes.

stepharamburu commented 1 year ago

Hi @danielbui78 In my case, the bridge seems to works fine with G8.1 at the first try, then testing G8 doesn't work and now it is not working with G8.1 or G8 models anymore. Any suggest please? Thanks in advance!

dazbridge1B dazbridge1 dazbridge3 dazbridge2

danielbui78 commented 1 year ago

I just posted a hotfix for G8 "Tear.transparency" error, but I haven't had time to package a new maya plugin or DLL yet. You can try it out by downloading the d2m.py file:

https://github.com/daz3d/DazToMaya/blob/c669fedcb97a79597ab2b7c7d8b0a3e2ad46f6d3/Maya/MAYA_APP_DIR/modules/DazToMaya/scripts/d2m.py

Then just replace the d2m.py inside your Maya modules\DazToMaya\scripts folder.

This hotfix fixes G8 related crashes, but there is an additional bug where blendshape targets are not being renamed and matched with the joint, so auto-JCM is not working yet for G8. Based on your screenshot, it looks like G8.1 blendshape targets are not being renamed properly for you either. What version of Daz Studio are you using? Is it a Beta?

stepharamburu commented 1 year ago

@danielbui78 Daz v 4.21.0.5 Pro Edition (64 bit)

stepharamburu commented 1 year ago

I just posted a hotfix for G8 "Tear.transparency" error, but I haven't had time to package a new maya plugin or DLL yet. You can try it out by downloading the d2m.py file:

https://github.com/daz3d/DazToMaya/blob/c669fedcb97a79597ab2b7c7d8b0a3e2ad46f6d3/Maya/MAYA_APP_DIR/modules/DazToMaya/scripts/d2m.py

Then just replace the d2m.py inside your Maya modules\DazToMaya\scripts folder.

This hotfix fixes G8 related crashes, but there is an additional bug where blendshape targets are not being renamed and matched with the joint, so auto-JCM is not working yet for G8. Based on your screenshot, it looks like G8.1 blendshape targets are not being renamed properly for you either. What version of Daz Studio are you using? Is it a Beta?

@danielbui78 excuse my ignorance but, How I can download that file please? :(

danielbui78 commented 1 year ago

d2m.py.zip

For future, just google instructions on "how to download single files from github repository". There are more details and screenshots than I would have time to do right now.

danielbui78 commented 1 year ago

@stepharamburu if you are still having the issue with G8.1, can you clear your Maya script editor log, then do the Daz Import operation then copy and paste the entire Maya script editor log into a text file and attach the file here?

stepharamburu commented 1 year ago

@danielbui78 Thanks for the advice :) I replaced the file but the problem persist... :( It's very funny because @Obaemon7 hasn't the same issue as me using the same Genesis 8.1 character, Otherwise, I'm pretty sure it works for me just at the first time.

dazbridge4

stepharamburu commented 1 year ago

if you are still having the issue with G8.1, can you clear your Maya script editor log, then do the Daz Import operation then copy and paste the entire Maya script editor log into a text file and attach the file here? the file...

dazbridge_script_editor.txt

danielbui78 commented 1 year ago

updated scripts.zip

@stepharamburu thanks for posting your logs, I found your issue as well as the issue with G8+Face Morphs: You are adding an additional morph that has a "-" (hypen) in the name. The updated d2m.py and morphs.py should help fix those issues. Please post any Maya script editor logs if you encounter python errors.

stepharamburu commented 1 year ago

Hi @danielbui78 Please, if you're referring to the p2m.py file you send me as zip file, I've got installed already before to send my script editor text. Probably there's a new updated file available?

danielbui78 commented 1 year ago

Please click the link and download the "updated scripts.zip" that's in my last post. That has two files in it just as I have indicated: d2m.py and morphs.py

The d2m.py in the latest zip is changed from the previous zip, and should reveal more Errors occuring during the import process.

stepharamburu commented 1 year ago

Please click the link and download the "updated scripts.zip" that's in my last post. That has two files in it just as I have indicated: d2m.py and morphs.py

The d2m.py in the latest zip is changed from the previous zip.

@danielbui78 I'm so sorry, I didn't see the zip file..... I'm sure because I recently woke up and not yet my coffee. :(

Obaemon7 commented 1 year ago

hi @danielbui78, is the morphs.py supposed to fix the blendshapes of the face not moving the geometry ? What about what i said about the expressions ones ? (smiles etc )

danielbui78 commented 1 year ago

@Obaemon7 No, but the d2m.py changes may unmask error messages that explain why your setup is not working. Download and replace those two files. If you receive errors in your Maya Script Editor log, please copy them into a text file and attach it here.

Just to clarify: I have verified that the following should have full blendshape eye + eyelid control:

  1. Use G8.1F in Daz Studio 4.21 Pro
  2. Exporting Morphs with Add Expressions: ARKit (Genesis8.1) button
  3. Send to Maya via Bridge
  4. Click Import Daz in Maya 2022
  5. Click Auto Rig

With those steps, the Eye IK controls should move eyes and eyelid blendshapes like in the picture. eye IK blendshape controls

The mouth controls are only attached to bones. This is not intended to move the blendshapes. To move mouth and jaw blendshapes, please use the Morphs node as in this picture: mouth morph controls

Obaemon7 commented 1 year ago

Eyelids movement are working now, however, i think i'm gonna stick with the connections i did myself, multiple things don't seem to work properly, like the neck deformations (bend the neck back and forward you'll see). The blendshapes of the fingers are missing. I was hoping it would work so i don't have to do it again if i want to do an other character. I will have to find a way to automate that, but i need to rename every blendshapes i have changed the name to.