Search Unity

[Released] Morph Character System (MCS) - Male and Female

Discussion in 'Assets and Asset Store' started by berk-maketafi, Sep 17, 2015.

  1. Gladyon

    Gladyon

    Joined:
    Sep 10, 2015
    Posts:
    389
    Long ago.
    An asset will lots of promises, but much more bugs never fixed.
     
  2. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    Many years ago. Then later released on Daz. Probably gone there now too.
     
  3. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,687
    Depends on what you are looking for. That particular effort is done and gone, but they have a "not quite the same" thing under a different name, TAFI.

    https://assetstore.unity.com/publishers/51491
     
  4. EDarkness

    EDarkness

    Joined:
    Feb 1, 2013
    Posts:
    506
    Probably. They abandoned this a long time ago. I doubt Unity would keep it up.
     
  5. jjanzer_tafi

    jjanzer_tafi

    Joined:
    Mar 4, 2017
    Posts:
    477
    Yes unfortunately we discontinued it but we did open-source and release it on github some time ago which you can check out here: https://github.com/mcs-sdk/mcs or one of the various forks from other users.
     
  6. orvedal

    orvedal

    Joined:
    Nov 10, 2015
    Posts:
    47
    i have asked on a thread titled where to find artist tools if there is a place to get the artist tools since the mcsdownload site is down now, but with no reply and it occurs to me that many of the vets from this thread don't have that thread watched. so I apologize for asking across multiple posts where there is already a thread for this, but is there a place to get the artist tools still?
     
  7. EDarkness

    EDarkness

    Joined:
    Feb 1, 2013
    Posts:
    506
    The server where I kept all of the MCS stuff was hacked last year and I haven't gotten stuff back up yet. I'll see about getting that setup again in the next day or so.
     
  8. orvedal

    orvedal

    Joined:
    Nov 10, 2015
    Posts:
    47
    thankfully all of your github stuff was still there. i am using your MCS ver 9.2 for the character generator I am working on.
    on a side note i am having the same issue as another poster and I didn't see his issue get resolved. I am using ru_erikvdb's method of changing eye color, using the same textures he provides for example. the problem is it doesn't work until i unfold the head shader on LOD_0. As soon as I unfold the shader the proper overlay texture appears and the eyes change color and any further material.SetTexture() works for the overlay. thanks in advance for any advice on this.
    Again thank you to all the vets on this thread that have worked so hard on this asset.
     
  9. PhoenixAdvanced

    PhoenixAdvanced

    Joined:
    Sep 30, 2016
    Posts:
    316
    Hey guys, I know this is a long shot, but I see people still replying on this thread, so I figured it couldn't hurt to ask.

    Does anyone know where I can get alternate head and body textures for the MCS characters? Specifically other races, such as People of Colour, etc?

    I am using MCS for a long-running passion project and even though I know I will need to replace it eventually, it will take a LOT of work to find or create a replacement, so I am trying to get as much life out of it as I can.

    However in the "materials" Directory I can only see a single Caucasian skin, and then a "Fur", "Creature" and "Zombie" skin.

    Were there ever any asset packs that I could get to add some variety to the human textures?

    Thanks a lot for any advice!
     
  10. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,687
    Tafi - which is the same people, and in the asset store - has more human racial art than MCS ever did. But I don't know how compatible it is. I'd imagine that if you know how to use a 3D modeler, like Blender, you could project those textures onto any base model you want.
     
  11. orvedal

    orvedal

    Joined:
    Nov 10, 2015
    Posts:
    47
    The Darius and Monique texture are in the "alternate" folder just one directory deeper than the ones you've already found. I believe the rest of what you are looking for is included in the MCS asset bundle on daz. I've not used any of the alternate races and species, but I did use the Darius and Monique texture to create a new shader that alpha blends between then default and the darker for my character editor.
     
  12. PhoenixAdvanced

    PhoenixAdvanced

    Joined:
    Sep 30, 2016
    Posts:
    316
    Yes, I've heard of tafi! It looks very good, but the two issues that I have with it are, firstly, I'm not sure if I would want to trust the same company again after the way MCS went, and secondly, it seems more for cartooney avatars, rather than for photorealisitic characters?
    Maybe they've changed that recently, I have't kept track of their progress.
    In any case, I doubt it would be compatible with MCS, it seems to be a totally different system.
     
  13. PhoenixAdvanced

    PhoenixAdvanced

    Joined:
    Sep 30, 2016
    Posts:
    316
    I can't seem to find those?
    I am looking in M3DMale/Materials/Textures/Alternate, and there are some textures in there, but they seem to be more or less the same as the standard one?
    My M3D install is old though, real old, maybe I don't have the "Darius" and "Monique" textures installed?

    Is there somewhere online I could get them?

    What you are doing is exactly what I am trying to do: Create a shader that blends between the default and a darker texture to create some variation in the skin tone for players to then customise to their liking.
     
  14. orvedal

    orvedal

    Joined:
    Nov 10, 2015
    Posts:
    47
    my apologies, the alternate folders are where the underwear texture are, the dariues and monique texture have their own folders in the materials folder. try creating a new project with a new version and stealing the texture you want out of it.
     
  15. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,687
    Well, if you want to get a closer look at Tafi, there is a free model in the asset store: https://assetstore.unity.com/packages/3d/characters/humanoids/humans/starter-bundle-from-tafi-192235
     
    PhoenixAdvanced likes this.
  16. orvedal

    orvedal

    Joined:
    Nov 10, 2015
    Posts:
    47
    I had read that needed to use enableKeyword on the material but thought that it was unsuccessful, turns out you have to enable "_OVERLAY" instead of "OVERLAY". problem solved.

    Code (CSharp):
    1.     public void setEyeColorTexture(int value)
    2.     {
    3.         Material headMaterial = character.GetHairMaterial();
    4.         headMaterial.EnableKeyword("_OVERLAY");
    5.         headMaterial.SetTexture("_Overlay", eyeColorsTex[value]);
    6.     }
     
  17. PhoenixAdvanced

    PhoenixAdvanced

    Joined:
    Sep 30, 2016
    Posts:
    316
    Thank you! I just did what you suggested, and you're right, I now have some very nice looking "Darius" and "Monique" textures.
    How did you shader work exactly, to interpolate between the two texture types?
     
  18. PhoenixAdvanced

    PhoenixAdvanced

    Joined:
    Sep 30, 2016
    Posts:
    316
  19. orvedal

    orvedal

    Joined:
    Nov 10, 2015
    Posts:
    47
    depends on which shader you're extending, but the process boils down to pretty much just lerping the albedo to the darker texture.
    Code (CSharp):
    1. darktex = lerp(tex2D(_MainTex, i_tex.xy), tex2D(_DarkTex, i_tex.xy), _DarkValue);
    2.         o.diffColor = darktex;
    also fyi i changed all of the skin shaders including the old ones, basicskin and deferred. deferred doesn't work exactly right. however, I'm sure the fix for it is somewhere in this thread.
    if you have learned how to read the amalgamation of code languages that unity uses for shaders then it's probably best to extend the volund shader and call it a day.
    my best tip is that since this just replaces the texture it's best to do your overlay code after this.
     
    Last edited: May 12, 2023
    PhoenixAdvanced likes this.
  20. PhoenixAdvanced

    PhoenixAdvanced

    Joined:
    Sep 30, 2016
    Posts:
    316
    That makes sense, thanks a lot!

    I think I have modified my shaders at some point too, probably due to the guidance in the thread.
     
    orvedal likes this.
  21. EDarkness

    EDarkness

    Joined:
    Feb 1, 2013
    Posts:
    506
    I'm working on putting up the stuff I had, which SHOULD have those textures in it. It'll probably be sometime this week.
     
    PhoenixAdvanced and orvedal like this.
  22. orvedal

    orvedal

    Joined:
    Nov 10, 2015
    Posts:
    47
    Everyone that has worked so hard to keep Morph3D relevant deserve good karma. Especially EDarkness, ru_erikvdb, and ceebeee. Those off the top of my head after rereading through most of the end of this thread in the past couple weeks. Thanks a lot guys.
     
    ru_erikvdb, hopeful and EDarkness like this.
  23. ru_erikvdb

    ru_erikvdb

    Joined:
    May 16, 2017
    Posts:
    54
    Note Morph3D and MCS characters do not have the same textures or UVs. I don't think the M3D ones came with darker skin. With MCS the Darius and Monique alternative textures are included. I've blended between the two via shader before, but I found that things like eyebrows get a bit too faded so more recently I've done it in Photoshop.


    By the way, if anyone is using my 2019 MR patch files: I found that they no longer work in Unity 2021.3 and up. I've used my MCS toolkit to generate new MR files for some of the assets but didn't bother to upload them since this thread seemed long dead. If anyone is interested in receiving the 2021 patch files, send me a DM.
     
  24. pradf4i

    pradf4i

    Joined:
    Nov 7, 2017
    Posts:
    39
    Wow, you guys - @EDarkness, @ru_erikvdb et all are amazing still breathing life in to this project. I am still using the assets for canned videos with timeline. Would be nice to be able to upgrade to the latest version. Anyone tried 2022 LTS? Thanks
     
    ru_erikvdb likes this.
  25. TriCounter

    TriCounter

    Joined:
    Mar 30, 2018
    Posts:
    3
    I just used @ru_erikvdb 's mcs-toolkit in 2022 (I had to put 2018 on a different pc as they wouldn't play nice together) and it all seems to works fine.

    I'm somehow messing round with this stuff again, even using the Artist Tools! Thanks for the mcs-toolkit
     
    ru_erikvdb and pradf4i like this.
  26. ru_erikvdb

    ru_erikvdb

    Joined:
    May 16, 2017
    Posts:
    54
    I've just tested 2022 LTS as well as 2023 Beta and they seem to maintain the 2021 vertex mapping. When I have time I will create and upload MR patches for Unity 2021+ for all assets in the Daz MCS mega pack.

    Until then, the way to do it yourself is using my mcs-toolkit to generate conversion maps in Unity 2017 and then processing them in 2021+. Or DM me to get sent the conversion maps :D (I won't upload them publicly because they contain mesh data that may be used to reverse-engineer the models, which is a legal grey zone I don't want to enter...)
     
    PhoenixAdvanced and pradf4i like this.
  27. pradf4i

    pradf4i

    Joined:
    Nov 7, 2017
    Posts:
    39
    Great to know that it still works. Let me try the toolkit and see if that works else I will reach out. Thanks !
     
  28. ru_erikvdb

    ru_erikvdb

    Joined:
    May 16, 2017
    Posts:
    54
    It was raining non-stop during my holiday last week so I sat down and manually converted all the MR files for Unity 2021 and newer. Only to realize afterwards that I had already written a script to automate the process last time, lol.

    Anyway, you can download the patch files here should you need them: https://www.socsci.ru.nl/vr/resources/mcs/patch/
    The 2019 patch should work in Unity 2018.4 up to 2020.3
    The 2021 patch should work in Unity 2021.1 up to 2023.1

    Restart the editor after patching for changes to take effect.
     
    XCO likes this.
  29. Rushot

    Rushot

    Joined:
    Jan 28, 2019
    Posts:
    5
    not quite dead yet.:rolleyes:

    really appreciate your job.;)

    iv recently moved on to character work route and started learning how to use the mcs. it is time to try to make this large system become a nice and modern game.

    Pregnant Warrior.png
     
    XCO and ru_erikvdb like this.
  30. Rushot

    Rushot

    Joined:
    Jan 28, 2019
    Posts:
    5
    well, it's hard to read all the posts from the start.:p
    the first question is: is there any latest official document, like *.pdf or something, to explain the core api? and the sequence of the internal update?

    like driving an invisiable vehicle in the wild....
    though im hardly make it sucessfully run on webGL. lol
    20240119.gif
    it is crazy that lots of points are still unknown.
     
  31. ru_erikvdb

    ru_erikvdb

    Joined:
    May 16, 2017
    Posts:
    54
    There is virtually no documentation for any of it, I'm afraid.
     
  32. Rushot

    Rushot

    Joined:
    Jan 28, 2019
    Posts:
    5
    excellent UX:confused:
     
  33. edub101

    edub101

    Joined:
    Jul 16, 2015
    Posts:
    43
    Thanks to RU for updating the MCS to current unity versions (I'm using Unity 2022 LTS) and to URP. Really great stuff. I'm still having some issues I am hoping some kind soul can help me with.

    First, I get these two errors when I click on the drop-down arrow for "Morphs" in the MCS Character Manager script (above the Morph Groups) which may help explain things:
    ArgumentException: Getting control 0's position in a group with only 0 controls when doing repaint
    Aborting
    UnityEngine.GUILayoutGroup.GetNext () (at <d26551307ee24906965335845380d4a1>:0)
    UnityEngine.GUILayoutUtility.DoGetRect (UnityEngine.GUIContent content, UnityEngine.GUIStyle style, UnityEngine.GUILayoutOption[] options) (at <d26551307ee24906965335845380d4a1>:0)
    UnityEngine.GUILayoutUtility.GetRect (UnityEngine.GUIContent content, UnityEngine.GUIStyle style, UnityEngine.GUILayoutOption[] options) (at <d26551307ee24906965335845380d4a1>:0)
    UnityEngine.GUILayout.DoTextField (System.String text, System.Int32 maxLength, System.Boolean multiline, UnityEngine.GUIStyle style, UnityEngine.GUILayoutOption[] options) (at <d26551307ee24906965335845380d4a1>:0)
    UnityEngine.GUILayout.TextField (System.String text, UnityEngine.GUIStyle style, UnityEngine.GUILayoutOption[] options) (at <d26551307ee24906965335845380d4a1>:0)
    MCS.EDITORS.MCSCharacterManagerEditor.OnInspectorGUI () (at Assets/MCS/Code/Scripts/Editor/MCSCharacterManagerEditor.cs:95)
    UnityEditor.UIElements.InspectorElement+<>c__DisplayClass72_0.<CreateInspectorElementUsingIMGUI>b__0 () (at <8e887700cd7e4674989da7b046e8eaa6>:0)
    UnityEngine.GUIUtility: ProcessEvent(Int32, IntPtr, Boolean&)



    NullReferenceException: Object reference not set to an instance of an object
    UnityEngine.GUILayoutUtility.DoGetRect (UnityEngine.GUIContent content, UnityEngine.GUIStyle style, UnityEngine.GUILayoutOption[] options) (at <d26551307ee24906965335845380d4a1>:0)
    UnityEngine.GUILayoutUtility.GetRect (UnityEngine.GUIContent content, UnityEngine.GUIStyle style, UnityEngine.GUILayoutOption[] options) (at <d26551307ee24906965335845380d4a1>:0)
    UnityEngine.GUILayout.DoTextField (System.String text, System.Int32 maxLength, System.Boolean multiline, UnityEngine.GUIStyle style, UnityEngine.GUILayoutOption[] options) (at <d26551307ee24906965335845380d4a1>:0)
    UnityEngine.GUILayout.TextField (System.String text, UnityEngine.GUIStyle style, UnityEngine.GUILayoutOption[] options) (at <d26551307ee24906965335845380d4a1>:0)
    MCS.EDITORS.MCSCharacterManagerEditor.OnInspectorGUI () (at Assets/MCS/Code/Scripts/Editor/MCSCharacterManagerEditor.cs:95)
    UnityEditor.UIElements.InspectorElement+<>c__DisplayClass72_0.<CreateInspectorElementUsingIMGUI>b__0 () (at <8e887700cd7e4674989da7b046e8eaa6>:0)
    UnityEngine.GUIUtility: ProcessEvent(Int32, IntPtr, Boolean&)

    I'm a non-coder so I don't know what they mean. The errors happen before and after adding morphs to the character.

    So when an MCS figure is added to the scene, there are no blendshapes present on any of the LOD meshes. They get added to the mesh when a morph slider is used or the checkbox next to the slider is checked. I assume that is correct behavior for MCS (although sometimes I can click the checkbox, and sometimes the checkbox doesn't work and I have to use the slider).

    However, the morphs only get added to the mesh whose LOD level is currently active. If I slide the LOD slider back and forth from 1 to 0, the morphs get propagated to the other LOD meshes. But if I save the scene, then reload the scene, the morphs are removed from all but the active LOD again. I have unchecked "Reset Blendshapes on Start" but that doesn't seem to have any effect.

    As a side question....what does "reset blendshapes on start" mean....the start of what? The blendshapes behave the same way when I enter play mode or reload a scene. Should I check or uncheck this?

    So my ultimate goal is to morph a character with clothes and hair, and have those same blendshapes apply to all LOD levels, and not disappear from any mesh. I want to export a morphed character as an FBX with blendshapes still present. Ideally, I wouldn't mind exporting a clothed character with all four LOD levels (clothes too) with every possible blendshape attached to all meshes. This way, I could use Blender to make some morphs permanent (e.g. body morphs), while keeping the viseme blendshapes for facial expressions, and joining clothing and body objects into one--but to do this they must have the same blendshapes.

    Any advice?
     
  34. Rushot

    Rushot

    Joined:
    Jan 28, 2019
    Posts:
    5
    the debug message looks like the problem is coming from the parameters of GUILayout.TextField().
    QQ截图20240205105443.png
    im assuming that maybe null return from the GUISkin Style finding?
    it is the search bar textfield. should need some code fix.

    do not use the "Reset Blendshapes" function in this case. it means cleaning all of the current blendshapes.lol
    the mcs system, as i tested, is a composition of the follow sub-systems:
    1.core morphs data (save in mcsCharacterManager, runtime)
    2.JCT bone (bone transform of some morphs, use mcsCharacterManager.SyncMorphsToJCT(*) to apply a jct)
    3.Unity standard blendshape (use mcsCharacterManager.SyncAllBlendShapes() to apply all morphs and jcts)
    4.blendshape vertices data(store in StreamingAssets folder, load by mcs dll in runtime)

    so if you wanna save your morphs from your scene, you should code to save the "core morphs data" first, and then reload with the api above.
     
  35. Rushot

    Rushot

    Joined:
    Jan 28, 2019
    Posts:
    5
    emmmm.....that's a huge work. it s impossiable except coding yourself.
    you can manually load all the morphs to all the LODs as the method i said above. and enable all the skinMeshRenderer and you will see it.(LOD system just disable it)

    as what i known, the skin mesh supports Bake() and Combine() function. but will it lose the blendshape results and blendshape control keys is unknown.
     
  36. ru_erikvdb

    ru_erikvdb

    Joined:
    May 16, 2017
    Posts:
    54
    Like Rushot said it's a GUI error. I haven't encountered it before. Try refreshing the Unity project. Otherwise, you can try opening the MCSCharacterManagerEditor.cs script in the MCS/Code/Scripts/Editor folder, and commenting out line 94-101. It'll hide the search box that's giving errors.

    The LOD system is a bit of a mess. Make sure you are not fighting Unity's own LOD system (in recent versions, Unity automatically adds an "LOD Group" component to the models, which you should remove).
    Unfortunately I can't help you much further with this; I only ever use LOD0 in my projects.

    To be honest, it sounds like you should make your characters in Daz Studio and then export them to FBX (including blendshapes).
    The only benefit of the MCS system is being able to switch clothes and body proportions on the fly. If you want to lock those in anyway, don't waste your time trying to backwards-engineer exporting MCS to FBX. (and of course MCS models are in essence Daz models)