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:
    477
    Make sure you're using our skin shader, if you're using deferred rendering use our deferred one as well (that's what it looks like in the screenshot). If you are, try swapping the shader then go back to the correct shader. Let me know if that helps at all.
     
  2. jjanzer_tafi

    jjanzer_tafi

    Joined:
    Mar 4, 2017
    Posts:
    477
    It is, there is a legacy shader that is deprecated (2 pass double sided), that should be the only issue. It is replaced by the standard double sided shader. If you have any assets on 2 pass double sided just swap them.
     
  3. elvirais

    elvirais

    Joined:
    Nov 13, 2013
    Posts:
    29
    I updated yesterday and all seems fine indeed. I was just thinking filing a bug report on that shader, so good to know :) (I saw some errors pass but I solved it).
     
  4. Kaen_SG

    Kaen_SG

    Joined:
    Apr 7, 2017
    Posts:
    206
    ok 2 dev posts after mine and just totally ignored me... I'm just going to assume the worst and that microtransactions are still a no-go under their EULA. GG.
     
  5. magique

    magique

    Joined:
    May 2, 2014
    Posts:
    4,030
    Why not go read the new EULA and see what it says?
     
  6. Kaen_SG

    Kaen_SG

    Joined:
    Apr 7, 2017
    Posts:
    206
    It says indie devs will start dropping MCS because microtransactions are no longer permitted. I was hoping someone official would say otherwise and that I read the legalspeak wrongly.
     
  7. swansonator

    swansonator

    Joined:
    May 19, 2016
    Posts:
    19
    It's amazing how many people here are worried about the letter of the law before they proceed with action. If only society actually behaved this way. Where's the renegades that'll just do whatever they want and see if they get caught and then make a compromise with justice whenever the chickens come home to roost? If, on the other hand, everyone is so honest (or afraid of repercussions) that they'll just avoid the headache, then clearly the business world isn't for you. Laws are just opinions protected by guns, so why not just lay low until opinions change? You could actively work to change opinions but typically the free market has a much bigger megaphone.
     
  8. neoshaman

    neoshaman

    Joined:
    Feb 11, 2011
    Posts:
    6,493
    Nobody aspire to be thieving fox, it breed corruption, and that's bad for stability and business, it's selfish and only work for the fox while hurting everyone else.
     
  9. magique

    magique

    Joined:
    May 2, 2014
    Posts:
    4,030
    Some people actually have integrity and morals.
     
    Artaani likes this.
  10. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,686
    Another principle is to follow the path of least resistance.
     
  11. Kaen_SG

    Kaen_SG

    Joined:
    Apr 7, 2017
    Posts:
    206
    All valid points... Mostly because I have ethics, integrity and morals. I would be happy to pay a fair price for it but the EULA changes are just shady business practices. I'm looking at Mixamo/Fuse CC... it's no longer actively updated.. but at least it's free and has pretty good quality models.
     
  12. MSG-Europe

    MSG-Europe

    Joined:
    Nov 2, 2013
    Posts:
    11
    Yeah this is what it looks like - gorgeous this is why i love these packs so much. The Deffered skin Texture is really decent, with some tweeking i was able to make the hair look stunning I have made some changes to the injection mask this helps remove skin poking and i think with some more modification i can remove it almost completely

    upload_2017-6-9_2-41-28.png
     
  13. THplusplusx

    THplusplusx

    Joined:
    Mar 30, 2014
    Posts:
    33
    I have a runtime issue with MCS 1.6.4 on Unity 5.5.0, Win10 64.
    In the Editor, calling MORPH3D.FOUNDATIONS.MorphGroupService.GetMorphGroups("M3DFemale") works fine.
    In Standalone Players (tested on Win10 64 and OSX 64), MORPH3D.FOUNDATIONS.MorphGroupService.GetMorphGroups("M3DFemale") throws KeyNotFoundException: The given key was not present in the dictionary.

    Not good at all :/ Any fixes/workarounds?

    Ticket submitted.
     
    Last edited: Jun 10, 2017
  14. SayhiUnity

    SayhiUnity

    Joined:
    Jan 7, 2017
    Posts:
    10
    hi, jjanzer, Where is this option Recalculate Bounds Frequency? I can't find it, it's in script somewhere?
     
  15. THplusplusx

    THplusplusx

    Joined:
    Mar 30, 2014
    Posts:
    33
    It's in the inspector of M3D Character Manager, under "Advanced".
     
  16. SayhiUnity

    SayhiUnity

    Joined:
    Jan 7, 2017
    Posts:
    10
    Thanks you very much , I found my M3D is not the latest version. after the update, it's appears.:p
     
  17. SayhiUnity

    SayhiUnity

    Joined:
    Jan 7, 2017
    Posts:
    10
    hi, @THplusplusx, there's another question, I set Recalculate Bounds Frequency to ON_ATTACH.
    when I attach a new content clothing, It popups a warning, there's a picture below about this warning.
    and the bounds is not correct (see picture),
    how to fix this?

    PS: Sorry for my English
    @jjanzer_morph

    NullReferenceException.png
     
    Last edited: Jun 12, 2017
  18. jjanzer_tafi

    jjanzer_tafi

    Joined:
    Mar 4, 2017
    Posts:
    477
    Thanks, I'll look into it this week.
     
  19. jjanzer_tafi

    jjanzer_tafi

    Joined:
    Mar 4, 2017
    Posts:
    477
    There is a pending fix for recalculation bounds in 1.6.5, I'm pretty sure this will fix your problem.
     
  20. harry4951

    harry4951

    Joined:
    Oct 5, 2016
    Posts:
    8
    Hi,

    I saw lots of posts on your website involving VR and AR.

    Did the current released version of MCS character support AR, say, working on the Hololens? Thanks!
     
  21. laurencew

    laurencew

    Joined:
    Jul 24, 2012
    Posts:
    7
    Hi @jjanzer_morph, really liking Morph3D so far, great work.
    I'm having a minor issue with LODs in 5.6 however. They appear to be going invisible past LOD0:
    upload_2017-6-16_23-41-3.png
    upload_2017-6-16_23-41-23.png

    This is on the standard Male, with any content pack, setup as via the Character Manager component provided. It doesn't appear to happen every time, but more times than not when setting up a new character. All the LODs are uncharged from the purchased content pack with the original material (same as LOD0s). LODGroups on other objects work as intended.

    Any help would be appreciated.

    Thanks

    Edit:
    It appears a LOD group was being added to some of the clothing, which disappear after re importing the package. Clothing which does work don't have LODGroup components on them so I assume this was the issue. Are LODs handled at distance internally by Morph3D or should the LOD values be set manually?
     
    Last edited: Jun 17, 2017
  22. ryschawy

    ryschawy

    Joined:
    Jul 28, 2012
    Posts:
    65
    Hi, can you please describe a use case for the new JCT edit time support and give an usage example? Thanks.
     
  23. AGregori

    AGregori

    Joined:
    Dec 11, 2014
    Posts:
    527
    Mixamo Fuse was no alien to shady business practices itself. Back in early 2015 it still urged customers to buy their service for $50+, so they could have a quick cash grab while their acquisition by Adobe was merely weeks away. And then Fuse became both free and discontinued in one fell swoop.
     
  24. THplusplusx

    THplusplusx

    Joined:
    Mar 30, 2014
    Posts:
    33
    How do I best work with the Bend and Twist bones on MCS character skeletons?
    None of my Animations use this kind of separation between bending and twisting. Neither do IK systems like FinalIK seem to support it.
    I tried splitting the final rotation of the Bend bone into a twist and a bend component automatically via LateUpdate script. Unfortunately my geometry skills are a bit rusty and it does not seem to be so easy. So at the moment my twist bones are simply not animated and the animated twist is directly applied to the Bend bones, which looks terrible.

    Are there any solutions possible except trying to find suitable Animations/another IK System?
     
  25. jjanzer_tafi

    jjanzer_tafi

    Joined:
    Mar 4, 2017
    Posts:
    477
    AR, yes. Hololens, we only have a custom build we made for demos internally. We plan on supporting it soon, but it's a lot of work to get our codebase working on our main branch for universal, so this will be some time still. I try to make small slices each patch that gets us closer though.
     
  26. jjanzer_tafi

    jjanzer_tafi

    Joined:
    Mar 4, 2017
    Posts:
    477
    Sorry for the delay, glad you figured it out. We do not support Unity's LOD group presently, it's something we plan to directly integrate with in the future though. If you need to leverage distance lod handling you'll need to handle this yourself currently, it's something I should include a sample script in the future for though.
     
  27. jjanzer_tafi

    jjanzer_tafi

    Joined:
    Mar 4, 2017
    Posts:
    477
    We've had a few people need to use the edit time JCT data for retargeting for mecanim. This is something that I've written a few helper scripts for and we use internally for specific cases, but it's fairly a rare case. It's useful if you need to make custom avatar definitions though. It is very tricky to use and it will screw up serialization which requires a reimport of the figure until/if we add better handling for this.
     
  28. jjanzer_tafi

    jjanzer_tafi

    Joined:
    Mar 4, 2017
    Posts:
    477
    I'm not aware of any solutions available currently that work with them that are widespread/well supported. If you end up moving the bones around manually while using active morphs using JCTs make sure you hook into the JCT events in JCTTransition so that you can do them before/after as needed. Would it be possible for you to send me a small project of video showing the issue though? I might be able to help. You can PM me directly if you're able to.
     
  29. ryschawy

    ryschawy

    Joined:
    Jul 28, 2012
    Posts:
    65
    Interesting. Will this be a workaround to be able to use Morph3D characters together with editor extensions like cinematic sequencers or any other editor extension that plays a pose on a character? The use case is: I want to be able to set a specific pose on my character to be able to design my scene accordingly. At the moment setting a pose on a Morph3D character creates pure distortion (in case of blendshapes).
     
  30. laurencew

    laurencew

    Joined:
    Jul 24, 2012
    Posts:
    7
    Thanks for the reply @jjanzer_morph, that's fine, in-fact being able to control LODs directly is more desirable in my opinion.
    Having tested Morph for a little while now, i'm really liking its features, however there's one thing that's stopping us from taking it to production; Draw Calls - These add up drastically, as an example the fully kitted Soldier is ~90 drawcalls (with shadows), so 10 kitted characters on screen would push it to more than half an average ps4 titles budget. I'd love to see a RT skinnedmesh & texture-map combine feature, or api access to be able to add this feature ourselves. Currently I don't see this being possible for developers to add without source access to read the .mr format, correct me if i'm wrong :)
     
    Last edited: Jun 20, 2017
    ryschawy likes this.
  31. ryschawy

    ryschawy

    Joined:
    Jul 28, 2012
    Posts:
    65
    I share the exact same concerns regarding the number of skinned meshes per character. In my case (Knight of the wolf) it's 11. I wonder if there is a way to create custom avatars for a character setup. A custom avatar together with a bake of the meshes should do the trick, right? Could it be that this was one of the use cases for adding the edit time JIT support? I'd really like to contribute to a working solution here. (In my case I could even live with a pure editor solution.)
     
  32. jjanzer_tafi

    jjanzer_tafi

    Joined:
    Mar 4, 2017
    Posts:
    477
    Ultimately that's what we'd like to support but we're not quite there. We need to put some time on this along with tighter integration into the mecanim system after we "bake" a morph's bones. It's something we've prototyped but it's not a super high priority for us at the moment. I'll make sure to post information about it if we start making progress down this route though.
     
    ryschawy likes this.
  33. jjanzer_tafi

    jjanzer_tafi

    Joined:
    Mar 4, 2017
    Posts:
    477
    Right now the biggest issue is that our outfits aren't currently remapped into a single material with an atlas'd texture. It's something that I'd like to solve soon, but we have a lot of priorities to juggle. I'll definitely get to it this year though. A possible workaround is to do the atlasing and material swapping yourself which will reduce the draw calls to a single multiplier for all clothing instead of per article of clothing.

    One other short term, albeit not all the way there, solution is to use a simpler shader that uses fewer passes.
     
  34. jjanzer_tafi

    jjanzer_tafi

    Joined:
    Mar 4, 2017
    Posts:
    477
    We've discussed the possibility of doing a performance bakeout that would merge all assets of the same types into the final figure and make it more static. It's likely an option that we might pursue and offer support later this year.
     
    magique likes this.
  35. Yacshadow

    Yacshadow

    Joined:
    May 17, 2015
    Posts:
    7
    Hi there !
    Thanks for your awsome work.

    I have 2 stranges issues with the new Morph3D version.

    - When I try to access skinmesh renderer just after morph3D instantiation I have a strange behaviour on my character :
    upload_2017-6-26_20-10-34.png

    I can't figure why but when I comment this line : "Debug.Log(bodySkin.material);" which is in the same frame of morph3D instanciation, I get the right result :
    upload_2017-6-26_20-16-20.png

    It seems that accessing the bodyskin in the same frame we instantiate Morph3D character, trigger this bug?​


    An other issue : I can't access HairRenderer Mats anymore to modify hair colors since I get the new version...
     
  36. jjanzer_tafi

    jjanzer_tafi

    Joined:
    Mar 4, 2017
    Posts:
    477
    Hi, I'm sorry but I don't understand your first issue. From looking at the two pictures you included it looks like the eyes are messed up (the wet layer is not transparent and hiding the eye behind it?). What code are you using, can you send it to me or post it here so I can take a look?

    For the second issue, are you asking how you would tint the hair color?
     
  37. Yacshadow

    Yacshadow

    Joined:
    May 17, 2015
    Posts:
    7
    Hi !

    I've used EyeAndLash material without any modification.
    Eyes are not messed up because if I wait the end of the frame before accessing SkinMeshRenderer, there is no no more bug.
    Actually, in the same frame :
    - I instantiate my prefab that contains morph3D character
    - I access the SkinMeshrenderer of my character with a debug.Log.
    The second picture show character's head without the second instruction ...
    Anyway, I've done a quickfix for the moment : wait for the end of the frame after prefab instanciation.

    For the second issue, I found the answere, I only modify the color of the material of the Brithair.

    Anyway, I've a more important issue :
    I try to modify the skin of my character from editor ( using Head_LOD0 and Body_LOD0) but when I modify head_LOD0's Albedo color, it modifies eye color.
    upload_2017-6-27_22-48-27.png upload_2017-6-27_22-48-56.png

    Do you know if it's possible in the new version to modify skin color of the face without the eyes ?

    Edit : I tried to modify polygon's material affectation, but with no success : blender break something in the model when importing FBX. ( No more animations, strange posture )
     
    Last edited: Jun 28, 2017
  38. THplusplusx

    THplusplusx

    Joined:
    Mar 30, 2014
    Posts:
    33
    It does indeed. I tried using a trial of Maya and importing the FBX in there worked just fine. Can't currently use Blender until MORPH3D has a look at it, which is unfortunate as Blender is the only modeling tool that's freely available to anyone.
     
  39. magique

    magique

    Joined:
    May 2, 2014
    Posts:
    4,030
    I saw some posts talking about UBER shaders, but I'm not sure about their use with MCS. Can we replace MCS shaders with UBER shaders? I want to be able to add a wetness to a character's skin and clothing when it's raining or when the character goes in the water.
     
  40. jjanzer_tafi

    jjanzer_tafi

    Joined:
    Mar 4, 2017
    Posts:
    477
    Sorry I still don't understand the first issue you're having, I'm not sure what bug you're referring to. There shouldn't be anything special you need to do when you bring a morph character on. I do know that we do a lot of stuff in LateUpdate so you may not have everything working the way you expect until the 2nd frame, perhaps that's the issue you're running into?

    For tinting w/o it affecting the eyes/mouth/teeth/etc, you'd need to modify the texture directly or modify the shader and restrict the tints to the appropriate UV regions. This is something that we'll add support for in the future, but don't currently offer. The easiest way for now would be to just drag the skin textures into photoshop/gimp/etc and tweak them there and swap them out as needed. Internally in other demos we've just modified our shaders to restrict the tint to uv regions, not the most efficient way, but it's pretty simple if you're familiar with shader code.

    In regards to blender, iirc the issue is due to the version of autodesk fbx export which iirc as well is not fully compatible with blender's license or something to that extent, there are workarounds for this namely a 3rd party importer and or exporting out to an older version. That said we do not support any modification of the figure's fbx (remapping the verts, submesh/materials, etc). Doing so will very likely break MCS as we have a like of dynamic handling that depends on values being expected in certain ways.
     
  41. jjanzer_tafi

    jjanzer_tafi

    Joined:
    Mar 4, 2017
    Posts:
    477
    You can use other shaders, you'll need to define a new texture channel for our alpha injection and call clip/discard if the pixel sampled is black. For the head you'll want to also include an overlay channel. If you look at our shaders you'll see how that works. Let me know if you need any help.
     
  42. magique

    magique

    Joined:
    May 2, 2014
    Posts:
    4,030
    Thanks. I won't be getting to this immediately, but I will definitely give it a try at some point. I'm just going through shader creation training anyway so I'm still a ways off from fully understanding the creation of shaders for Unity. Even though this is only a modification, I want to be better equipped to make changes like this.
     
  43. McTalynt

    McTalynt

    Joined:
    Sep 30, 2016
    Posts:
    1
    Hey Guys,

    Has the functionality to get Blendshape/Morph by ID been removed completely in the recent versions? This call doesn't seem to work for me anymore.

    Cheers!
     

    Attached Files:

  44. jjanzer_tafi

    jjanzer_tafi

    Joined:
    Mar 4, 2017
    Posts:
    477
    CoreBlendshape was replaced with CoreMorph. The closest thing to GetBlendshapeByID would be CoreMorph.morphLoookup <-- a dictionary of Morph.localName as the key and Morph as the value. You can access the coreMorphs via: M3DCharacterManager's component, then coreMorphs as the public member variable.
     
  45. BlakeSchreurs

    BlakeSchreurs

    Joined:
    Aug 10, 2016
    Posts:
    51
    I'm doing a significant amount of character randomization. I've downloaded a number of content packs, and often when I put them on the characters I get significant peek-through (either in-editor or in-code).

    upload_2017-7-1_17-11-4.png upload_2017-7-1_17-11-28.png upload_2017-7-1_17-11-48.png

    Right now I have a data structure with the prefab, plus additional rules about how to use that article of clothing. My code for applying a piece of content is as follows:


    Code (CSharp):
    1.         foreach (var pre in article.Prefabs)
    2.         {
    3.             try
    4.             {
    5.                 Debug.Log(article.Name + "-" + article.Set + "-" + article.CharacterEngineGender.ToString());
    6.                 if (contentDict.ContainsKey(pre) == false) contentDict.Add(pre, new ContentPack(pre));
    7.                 manager.AddContentPack(contentDict[pre]);
    8.             }
    9.             catch (Exception ex)
    10.             {
    11.                 Debug.Log(article.Name + "-" + article.Set + "-" + article.CharacterEngineGender.ToString());
    12.                 Debug.Log(ex.Message);
    13.             }
    14.         }
    Am I doing something wrong? Do I need to be marking incompatibilities between pieces of clothing?
     
  46. EDarkness

    EDarkness

    Joined:
    Feb 1, 2013
    Posts:
    506
    Pokethrough is one of the biggest problems with this asset. It's something they have yet to really resolve and the solution they have currently isn't good at all. Here's hoping that it's one of their top priorities and something they focus on getting resolved so we don't have to keep jumping through hoops just to put clothes on our models.
     
  47. ParadoxSolutions

    ParadoxSolutions

    Joined:
    Jul 27, 2015
    Posts:
    325
    I have noticed that with a lot of the clothing packs on the asset store that the each LOD mesh of a clothing item has its own (duplicate) material when they all really just need to share one material, these could be removed to make file sizes a lot smaller in packages, and build and clean up the editor. Also a lot of the textures and materials in MCS have very generic names such as "albedo" without referring to what mesh it is for. These two issues were a pain when cleaning up unused files from my project.

    Also check out MCS Runtime Toolkit it has been updated since the jump to MCS 1.6, it allows for easy creation of in-game sliders for morphs as well as a fully featured character creation UI, + real-time aging and randomization.
     
  48. ryschawy

    ryschawy

    Joined:
    Jul 28, 2012
    Posts:
    65
    Did you get a runtime aging to work? My ad hoc attempts failed due to either performance or glitches. If I set the age each frame the performance is bad. If I set the age only every x frame, I get visual distortion looking like the bone transforms are misplaces for exactly that frame. I did simply use the 5 and 10 years old blendshapes to tests the runtime aging.
     
  49. ParadoxSolutions

    ParadoxSolutions

    Joined:
    Jul 27, 2015
    Posts:
    325
    Runtime ageing worked a lot better before 1.6, I've got it working both in real-time and incremental modes, I had been using more than just the 5 and 10 year old blendshapes but I have not done a complete check to see if all the other blendshapes match up when they are morphed together since updating to 1.6.
     
  50. Slaghton

    Slaghton

    Joined:
    Sep 9, 2013
    Posts:
    139
    Is there a way to turn off the weight painting morph3d does in the program when generating morphs? I weight painted a mesh that was a bit bulky on the shoulders so that it worked ok in blender but when I put it into morph3d it just goes and resets/weight paints over it and causes a part of the shoulder piece to be attached to the head. Done a lot of different weighting on it and morph3d keeps resetting it.
    I can get past this by shrinking down this shoulder piece away from the head. I guess the problem is that this is made for clothing/fairly tight fitting armor and not medium+ size armor pieces though the rest of my clothing did come out ok.
    (edit) Problem is the head envelope being very large in mcs. It would probably be a lot of work but a way to tweak envelopes in the future would be nice to combt this envelope overlapping.
     
    Last edited: Sep 15, 2017