Search Unity

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

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

  1. jjanzer_tafi

    jjanzer_tafi

    Joined:
    Mar 4, 2017
    Posts:
    472
    Yes we do not auto-switch. You will need to do some custom scripting if you add back the lodgroup as it won't directly work with our system.
     
  2. Alex-3D

    Alex-3D

    Joined:
    May 21, 2013
    Posts:
    78
    What this custom script must do?
     
  3. jjanzer_tafi

    jjanzer_tafi

    Joined:
    Mar 4, 2017
    Posts:
    472
    You'll need to trigger the M3DCharacterManager.SetLODLevel(...) which will then enable/disable the meshes.
     
  4. Alex-3D

    Alex-3D

    Joined:
    May 21, 2013
    Posts:
    78
    What the reason M3DCharacterManager doesn't make this itself?
    How OnPreLODChange() and OnPostLODChange() events are linked with all this? When they will be fired?
    Why we can't simply use LodGroup for all this switching?
     
    Last edited: Nov 13, 2017
  5. Shinao

    Shinao

    Joined:
    Mar 7, 2014
    Posts:
    26
    It's honestly a bit painful to work with your SDK, there is absolutely no example and the videos are outdated.
    How do I get these morph groups ? I've tried MorphGroupService.GetMorphGroups but I can't seem to find a name where it exist in the dictionary, I've tried coreMorphs.morphs and list the morphTypeGroups but it's always empty. Then there is morphStateGroups but that's not really about morph category.

    In the meantime I'm checking the name of the morph which gives me an okey result : https://gfycat.com/FocusedSharpAlligatorgar
     
  6. XCO

    XCO

    Joined:
    Nov 17, 2012
    Posts:
    350
    Is this normal for the Espionage pack ?

    Also the LEGS on this pack is broken. Is there anyway I can get a fix fairly soon ? I swear game development is going to be the death of me lol

    (I downloaded both of these from MORPH3d.com)

    EDIT: Never-mind the Espionage was my fault. I fixed it sorry. If I could just know when the other one might get fixed ? Super Thank you for all that you do, you guys are awesome.
     

    Attached Files:

    Last edited: Nov 14, 2017
  7. jjanzer_tafi

    jjanzer_tafi

    Joined:
    Mar 4, 2017
    Posts:
    472
    Legacy issue really, I'd like to change it but it's not a priority.

    OnPreLODChange fires before the meshes are toggled, OnPostLODChange fires after the meshes are toggled. These are fired during the SyncCurrentLODLevel which occurs when the lod value is adjusted by the developer (or by the slider in the editor).

    Again it was a legacy decision made a long time ago. There is nothing stopping anyone from tying into the existing LodGroup system, we just don't have time to add support for this at the moment.
     
  8. jjanzer_tafi

    jjanzer_tafi

    Joined:
    Mar 4, 2017
    Posts:
    472
    I believe the data is only exposed in editor right now. There are files at Assets/MORPH3D/Content/M3DFemale/Figure/M3DFemale/MorphGroups.csv that contains the groups if you want to parse it yourself. If you want to use it during a build you'll need to load (either yourself or via below) and serialize the data.

    FYI, the morphStateGroups is a dictionary used to track which morphs are in the system, on the figure, or available to be added on the figure.

    If you look at the M3DCharacterManagerEditor.cs script there is a region Morph Groups that has a good example of usage (this is the script that handles the Inspector panel when you click on a figure). Specifically look at ShowMorphTypeGroup and GetMorphGroups. I'm guessing you already saw this though.

    You will need to pass in the name of the body into the GetMorphGroups function, ie: M3DFemale or M3DMale. It will return a class object MorphGroup which you can iterate over the SubGroups and Morphs (it's recursive).
     
  9. jjanzer_tafi

    jjanzer_tafi

    Joined:
    Mar 4, 2017
    Posts:
    472
    Sorry can you be more specific when you say the legs are broken, what's broken specifically?
     
    XCO likes this.
  10. XCO

    XCO

    Joined:
    Nov 17, 2012
    Posts:
    350
    Sorry it
    seems like the legs are kinda broken lol
     

    Attached Files:

  11. juliemooster

    juliemooster

    Joined:
    Jun 13, 2017
    Posts:
    2
    Hello. Hoping that someone might be able to point me in the right direction.... I'm trying to dynamically change the hair style and colour on a Morph3D character. I think that I should be using LoadHairFromContentPackToFigure, but I get an error message whatever I try and put imbetween the brackets, which I'm assuming is where I should be placing the name of the hair to use.

    I've gone through the videos on the Morph3D YouTube Channel, scanned what I can find on the web, download the SDK documentation and looked at the M3DCharacterManagerEditor.cs because someone said in a previous message on this post that this was a good place to look for examples, but still nothings clear. Feel that the SDK really needs some examples for newbies.

    All points in the right direction of where I'm going wrong gratefully appreciated.

    Screen grab is here:
    https://www.dropbox.com/s/8ian8mjnm4aohqy/morph3d screen grab.jpg?dl=0



     
    Last edited: Nov 15, 2017
  12. ryschawy

    ryschawy

    Joined:
    Jul 28, 2012
    Posts:
    59
    Hi, I'd like to discuss facial hair, again :)
    I'm looking for ways to create an old man with beard and mustache.
    Since Morph3D does not have anything yet I picked up fuse again, just to see what they provide.
    The results are good enough for me, so I thought it would be a good idea to discuss this topic with the community.
    First of all, I do not want to use fuse characters if I can use Morph3d instead.

    What are my options using facial hair with Morph3D?

    1. I could try to transfer the beard and mustache from fuse to Morph3d characters (Blendshapes!)
    2. I could try to script the beard and mustache where I would create a mesh and attach that mesh to the face(vertices).
    3. I could wait for the Morhph3D content team to make a facial hair product.
    4. I could wait for a 3rd party to use the Morph3D content creation tool (was that the correct name?) to create and sell a facial hair pack on the unity asset store.
    5. I could use the content creation tool myself to create some facial hair (I'd rather like to spend time on other things :)

    Has anybody good experience with one of the options? Any suggestions?

    Thanks
     
  13. jjanzer_tafi

    jjanzer_tafi

    Joined:
    Mar 4, 2017
    Posts:
    472
    Looks like the skin weights for the shoes are messed up. I'll let the content team know.
     
    XCO likes this.
  14. jjanzer_tafi

    jjanzer_tafi

    Joined:
    Mar 4, 2017
    Posts:
    472
    Content pack functions take a content pack object as an argument. You can build one like so:

    Code (CSharp):
    1. using UnityEngine;
    2. using System.Collections;
    3. using MORPH3D;
    4.  
    5. public class HairAttacher : MonoBehaviour {
    6.     public GameObject hairGO;
    7.  
    8.     // Use this for initialization
    9.     void Start () {
    10.         M3DCharacterManager charMan = gameObject.GetComponent<M3DCharacterManager>();
    11.         ContentPack cp = new ContentPack(hairGO);
    12.         charMan.AddContentPack(cp);
    13.        
    14.     }
    15. }
    16.  
     
    juliemooster likes this.
  15. claudius_I

    claudius_I

    Joined:
    May 28, 2017
    Posts:
    142
    someone know why this happen?
     

    Attached Files:

    • 1.jpg
      1.jpg
      File size:
      20.8 KB
      Views:
      273
  16. Rarceth

    Rarceth

    Joined:
    Oct 15, 2015
    Posts:
    27
    hey, so as an addon to my previous question (the one with the 36 console error's saying "Array index(#) is out of bounds". I tried replacing the prefab in the scene. Still doesnt like me. As an extension to this, i can no longer build my game as i am now getting a new error
     
  17. Rarceth

    Rarceth

    Joined:
    Oct 15, 2015
    Posts:
    27
  18. Alex-3D

    Alex-3D

    Joined:
    May 21, 2013
    Posts:
    78
    Clear...

    And one more question. What about is checkbox Reset Blendshapes on Start?

    Thanks
     
    Last edited: Nov 17, 2017
  19. jjanzer_tafi

    jjanzer_tafi

    Joined:
    Mar 4, 2017
    Posts:
    472
    Try changing the render queue of the material on the body to alpha test and see if that works, if not let me know if you're using forward or deferred rendering and what shader you're using on the skin.
     
  20. jjanzer_tafi

    jjanzer_tafi

    Joined:
    Mar 4, 2017
    Posts:
    472
    Open the shader code and either change or add what it tells you( #pragma target 3.0 ). Let me know if that doesn't fix it and I'll take a look for you.

    Regarding the other errors, try recreating the figure (add a new figure and re-add/set the content back up). Did you already try removing a morph?
     
  21. jjanzer_tafi

    jjanzer_tafi

    Joined:
    Mar 4, 2017
    Posts:
    472
    It means that the figure will have their blendshapes erased and reset when the monobehaviour for M3DCharacterManager Start fires. This fixes the occasional issue where more then one figure on the scene might cause the morphs to become out of sync.
     
  22. MFKJ

    MFKJ

    Joined:
    May 13, 2015
    Posts:
    189
    Hi MCS team,

    I have a custom object of Coffee Cup which I want my MCS female character to hold (For this reason, I have object picking animation as well). I have two problems.
    1. I want to check that MCS character hand has touch the cup. General approach for this reason, I want to use collider and trigger event. Is this correct way? If yes, then, how to place collider on hand in order to get trigger event (that hand touch the cup)? If no, then please guide me about the proper way.
    2. I have object picking script (given blow). I want that MCS female character hold the cup. For this reason, i tried to use hand attachment point position with a threshoold but sadly it is not properly placed on hand. How can i do this.

    I have used this script
    Code (CSharp):
    1. public class CupMappingOnHand : MonoBehaviour {
    2.  
    3.     private M3DCharacterManager character;
    4.     Vector3 position;
    5.     CIattachmentPoint[] attachmentPoint;
    6.  
    7.     public GameObject cup;
    8.  
    9.     public Vector3 positionThreshold = new Vector3(1,1,1);
    10.  
    11.     void Start () {
    12.  
    13.         character = GetComponent<M3DCharacterManager>();
    14.  
    15.         attachmentPoint =  character.GetAllAttachmentPoints();
    16.  
    17.         Debug.Log(attachmentPoint.Length);
    18.  
    19.         for (int i = 0; i < attachmentPoint.Length; i++)
    20.         {
    21.             Debug.Log(attachmentPoint[i].attachmentPointName);
    22.             Debug.Log(attachmentPoint[i].transform.position);
    23.         }
    24.     }
    25.  
    26.     void Update () {
    27.  
    28.         position = attachmentPoint[1].transform.position;
    29.         cup.transform.position = new Vector3(position.x * positionThreshold.x,
    30.             position.y * positionThreshold.y,
    31.             position.z * positionThreshold.z);
    32.  
    33.     }
    34. }

    But the cup position is not accurately set at hand. How can i properly set cup position according to my hand.
    Thanks
     
    Last edited: Nov 17, 2017
  23. Rarceth

    Rarceth

    Joined:
    Oct 15, 2015
    Posts:
    27
    Sorry, i should have been more specific, I did indeed entirely recreate the model, bringing in a new 3dMale prefab into the scene, then redoing costumes and morphs
     
  24. jjanzer_tafi

    jjanzer_tafi

    Joined:
    Mar 4, 2017
    Posts:
    472
    The hand attachment point is at the wrist. What I would suggest doing is posing the hand and then figuring out what the offset from the cup origin point to any other bone on the figure + offset is convenient. I wouldn't suggest bothering with the attachment point system for this problem.

    For the colliders you'd need to simplify for performance reasons from a mesh collider to something else like box/sphere/etc colliders and have them attached to the bones, then when one of these colliders touches the cup collider you'd know it hit.
     
  25. jjanzer_tafi

    jjanzer_tafi

    Joined:
    Mar 4, 2017
    Posts:
    472
    Does the same problem occur in a new project with just MCS?
     
  26. LordMantronix

    LordMantronix

    Joined:
    Nov 18, 2017
    Posts:
    1
    FWIW, I was testing the base models and kept getting hundreds of .NET build errors (i.e. `System.Runtime.Serialization.SerializationBinder` doesn't exist in target framework), but only when targeting UWP. On a hunch I switched to the IL2CPP scripting backend, and the errors evaporated. I'm not sure if this applies to your situation, but figured I'd share nonetheless. This is with v2017.2.0f3.
     
  27. mathaout

    mathaout

    Joined:
    Aug 16, 2017
    Posts:
    4
    Hello and congratulations for your asset.

    However, I have a problem when using this one. If I know the height and the span of my character in meter, how can I adapt it to the manikin precisely.

    Thank you
     
  28. jjanzer_tafi

    jjanzer_tafi

    Joined:
    Mar 4, 2017
    Posts:
    472
    Unfortunately we don't have a mapping for that out of the box. You'd have to use a few morphs and figure out the range then inverse lerp to get the results you want.
     
  29. XCO

    XCO

    Joined:
    Nov 17, 2012
    Posts:
    350
    May I request a skin texture for the guys bodys that is more muscle defined. Like six pack, veins bulging. Thank You.

    Edit: also a new hair shader :)

    Edit: Sorry one more thing. May I ask do you know how to properly apply capsule colliers to the clothing when adding cloth. Right now I am running into issues where the collider doesn't stay in place. Like the if I put it on the arm it will end somewhere else in the scene and than it just moves around.

    TY.
     
    Last edited: Nov 22, 2017
  30. jashan

    jashan

    Joined:
    Mar 9, 2007
    Posts:
    3,091
    We currently have issues with skin coming through all of our characters and as far as I can tell, none of the issues that would cause this are present:

    All LODs of the character (e.g. M3DFemale) use Morph3D/Standard (Specular setup) - Double Sided as shader, for Body. On CIclothing, we have Alpha Mask: Body, pointing to e.g. M3DFemale_LOD0-BattlesuitG3_27422_LOD0-Body_LOD0-occlusion.

    We use FinalIK to animate the characters based on Vive Tracker input. Skin coming through happens in fairly "normal" poses (i.e. no extreme stretching or anything, just bending a little forward or backwards, or bending the knees naturally).

    Is there anything else that needs to be done / can be checked?
     
  31. Carpe-Denius

    Carpe-Denius

    Joined:
    May 17, 2013
    Posts:
    804
    Do you have that problem in editor? It needs to be in play mode.
     
  32. jjanzer_tafi

    jjanzer_tafi

    Joined:
    Mar 4, 2017
    Posts:
    472
    Are you attaching it to the bone of the figure, if not do that and it should stick.
     
    XCO likes this.
  33. jjanzer_tafi

    jjanzer_tafi

    Joined:
    Mar 4, 2017
    Posts:
    472
    That's the wrong shader for the body, you need to use the character shader or the skin deferred shader (use the first if using forward use the latter if using deferred). The double sided shader is used for clothing and doesn't have a mask slot in the shader.
     
  34. jashan

    jashan

    Joined:
    Mar 9, 2007
    Posts:
    3,091
    Oh, okay, that's good to know.
     
  35. LukeDawn

    LukeDawn

    Joined:
    Nov 10, 2016
    Posts:
    333
    How are we doing these days on mix-and-matchabilty of clothing, and skin/race texture packs for MCS?
     
  36. MFKJ

    MFKJ

    Joined:
    May 13, 2015
    Posts:
    189
    Hi MCS Team,

    I have MCS Female character and I want to put my desired clothing on it with my desired texture colour and here is package details, for upper body

    BSF Shirt and BFS Blazer from one package (Blazer_and_Flare_Skirt clothing package)
    and Shinjuku_Leotard from another package (Shinjuku_Outfit clothing package).

    But the problem is, Shinjuku_Leotard object poke through as you can see image below:




    While if I increase BreastsCleavage to 55, the above problem disappear but now skin poke through from the front like (below image).


    The skin poke through from both sides.

    Additionally, I also find that in CIclothing component of Shinjuku_Leotard Aplha Mask: HEAD is missing. is this problematic?

    What to do? Please provide a clear and comprehensive answer.

    Thanks
     
  37. errandfox

    errandfox

    Joined:
    Apr 22, 2015
    Posts:
    42
    Hi guys, did you end up getting a fix for this one? Or if you have time to throw a script snippet my way? Thanks
     
  38. jashan

    jashan

    Joined:
    Mar 9, 2007
    Posts:
    3,091
    So, using that shader fixes the issue with skin coming through clothes ... but it's apparently not compatible with certain image effects: I'm using this together with Volumetric Fog & Mist and Hx Volumetric Lighting, and most likely it's Volumetric Fog & Mist that this skin shader doesn't like: Holodance V0.8.7: Mixed Reality Squared 2

    EDIT: In case the Vimeo link doesn't work, here's the same video on YouTube:
    Holodance V0.8.7: Mixed Reality Squared 2

    Basically, the skin simply disappears when it's in front of the fog effect.
     
    Last edited: Nov 30, 2017
  39. jjanzer_tafi

    jjanzer_tafi

    Joined:
    Mar 4, 2017
    Posts:
    472
    We haven't published a clothing-to-clothing system so you'll still have the same issues with some content not always lining up as much as you'd want, you can sometimes alleviate the problems with creating morph adjustments to clothing though.

    Skin/race are the ones that we've currently already posted, nothing new as of late.
     
  40. jjanzer_tafi

    jjanzer_tafi

    Joined:
    Mar 4, 2017
    Posts:
    472
    The easiest and simplest solution is to modify the texture of the shirt and just paint it black if you're never going to remove the blazer. The longer solution would be to implement a similar mask and create a clipping shader.

    It's normal for most clothing items to not use a head mask as they won't cover any part of the head (about from the chin/neck line up).
     
  41. jjanzer_tafi

    jjanzer_tafi

    Joined:
    Mar 4, 2017
    Posts:
    472
    No update yet, I'm slammed with some work, but if you send me a PM next week I'll take a look and see what I can do to help you out.
     
  42. jjanzer_tafi

    jjanzer_tafi

    Joined:
    Mar 4, 2017
    Posts:
    472
    Sorry I'm not familiar with their shader, but you can try changing our shader queue to fire before/after and see if that helps. This is exposed if you're using a newer version of unity in the material section. I'll have a little more time next week to take a look if you remind me via pm.
     
  43. jjanzer_tafi

    jjanzer_tafi

    Joined:
    Mar 4, 2017
    Posts:
    472
    You'll need to ask daz customer service about that. There are likely terms for different artists.
     
  44. Yaakov_Shahak

    Yaakov_Shahak

    Joined:
    Oct 15, 2017
    Posts:
    3
    Hi,
    We run to the same issue of errors. In our case it was when we build the project to Android, but just if we used Gradle for the build prcoess.
    After long and tiring research, we solved it by upgrading the Unity to the latest Beta 2017.3.0f1
     
    Rarceth likes this.
  45. moria15

    moria15

    Joined:
    Feb 25, 2011
    Posts:
    390
    Having an issue where I have adjusted the alpha on the hair to get rid of the white streaks, but as the character walks across the terrain the hair dissapears and reappears as the character walks.

    Am using deferred lighting, Unity 2017.1.2f1, Windows 64bit, realtime lighting only, no GI no baked.

    M
     
  46. Censureret

    Censureret

    Joined:
    Jan 3, 2017
    Posts:
    214
    Hey i am having an issue with the shader im getting the following error:

    Code (CSharp):
    1. Shader error in 'Morph3D/Standard-2pass-double sided': invalid subscript 'posWorld' at line 107 (on d3d11)
    2.  
    3. Compiling Vertex program with DIRECTIONAL _NORMALMAP
    4. Platform defines: UNITY_ENABLE_REFLECTION_BUFFERS UNITY_USE_DITHER_MASK_FOR_ALPHABLENDED_SHADOWS UNITY_PBS_USE_BRDF1 UNITY_SPECCUBE_BOX_PROJECTION UNITY_SPECCUBE_BLENDING UNITY_ENABLE_DETAIL_NORMALMAP SHADER_API_DESKTOP UNITY_COLORSPACE_GAMMA UNITY_LIGHT_PROBE_PROXY_VOLUME

    Code (CSharp):
    1.  
    2. Shader error in 'Morph3D/Standard-2pass-double sided': invalid subscript 'posWorld' at line 253 (on d3d11)
    3.  
    4. Compiling Vertex program with DIRECTIONAL _NORMALMAP
    5. Platform defines: UNITY_ENABLE_REFLECTION_BUFFERS UNITY_USE_DITHER_MASK_FOR_ALPHABLENDED_SHADOWS UNITY_PBS_USE_BRDF1 UNITY_SPECCUBE_BOX_PROJECTION UNITY_SPECCUBE_BLENDING UNITY_ENABLE_DETAIL_NORMALMAP SHADER_API_DESKTOP UNITY_COLORSPACE_GAMMA UNITY_LIGHT_PROBE_PROXY_VOLUME
     
  47. jjanzer_tafi

    jjanzer_tafi

    Joined:
    Mar 4, 2017
    Posts:
    472
    That shader is obsolete it's safe to delete it. If you have any materials using it there is a very similar shader Standard Double Sided that you an use.
     
  48. jjanzer_tafi

    jjanzer_tafi

    Joined:
    Mar 4, 2017
    Posts:
    472
    Thanks, I'll take a look at this. Can you provide any screenshots that show the issue?
     
  49. moria15

    moria15

    Joined:
    Feb 25, 2011
    Posts:
    390
    Here you go.. 3 pics showing the sequence

    Hair1.jpg Hair2.jpg hair3.jpg

    M
     
  50. jjanzer_tafi

    jjanzer_tafi

    Joined:
    Mar 4, 2017
    Posts:
    472
    That almost looks like a bounds issue. What happens if you set the "Update when offscreen" to enabled on the Hair's SkinnedMeshRenderer component? Also click on the hair skinned mesh renderer in the editor and see where the bounding box is.

    Does the hair "flicker" constantly or does it just go hidden once in a while but if you move the camera it comes back?