I’m working on putting up the stuff I had, which SHOULD have those textures in it. It’ll probably be sometime this week.
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.
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.
Wow, you guys - @EDarkness_1 , @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
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
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 (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…)
Great to know that it still works. Let me try the toolkit and see if that works else I will reach out. Thanks !
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: Index of /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.
not quite dead yet.
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.
well, it’s hard to read all the posts from the start.
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
it is crazy that lots of points are still unknown.
There is virtually no documentation for any of it, I’m afraid.
excellent UX:face_with_spiral_eyes:
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:unity errors
ArgumentException: Getting control 0’s position in a group with only 0 controls when doing repaint
Aborting
UnityEngine.GUILayoutGroup.GetNext () (at :0)
UnityEngine.GUILayoutUtility.DoGetRect (UnityEngine.GUIContent content, UnityEngine.GUIStyle style, UnityEngine.GUILayoutOption[ ] options) (at :0)
UnityEngine.GUILayoutUtility.GetRect (UnityEngine.GUIContent content, UnityEngine.GUIStyle style, UnityEngine.GUILayoutOption[ ] options) (at :0)
UnityEngine.GUILayout.DoTextField (System.String text, System.Int32 maxLength, System.Boolean multiline, UnityEngine.GUIStyle style, UnityEngine.GUILayoutOption[ ] options) (at :0)
UnityEngine.GUILayout.TextField (System.String text, UnityEngine.GUIStyle style, UnityEngine.GUILayoutOption[ ] options) (at :0)
MCS.EDITORS.MCSCharacterManagerEditor.OnInspectorGUI () (at Assets/MCS/Code/Scripts/Editor/MCSCharacterManagerEditor.cs:95)
UnityEditor.UIElements.InspectorElement+<>c__DisplayClass72_0.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 :0)
UnityEngine.GUILayoutUtility.GetRect (UnityEngine.GUIContent content, UnityEngine.GUIStyle style, UnityEngine.GUILayoutOption[ ] options) (at :0)
UnityEngine.GUILayout.DoTextField (System.String text, System.Int32 maxLength, System.Boolean multiline, UnityEngine.GUIStyle style, UnityEngine.GUILayoutOption[ ] options) (at :0)
UnityEngine.GUILayout.TextField (System.String text, UnityEngine.GUIStyle style, UnityEngine.GUILayoutOption[ ] options) (at :0)
MCS.EDITORS.MCSCharacterManagerEditor.OnInspectorGUI () (at Assets/MCS/Code/Scripts/Editor/MCSCharacterManagerEditor.cs:95)
UnityEditor.UIElements.InspectorElement+<>c__DisplayClass72_0.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?
the debug message looks like the problem is coming from the parameters of GUILayout.TextField().
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.
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.
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)
Was able to import into Unity 6 URP and export full body rig to VR on Quest 2. Thanks for all your hard work guys!