Search Unity

  1. Unity 2019.2 is now released.
    Dismiss Notice

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

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

  1. PerunCreative

    PerunCreative

    Joined:
    Nov 2, 2015
    Posts:
    83
    Hi,

    any news about the morph studio or how to get newer version of the mcs? I wrote to support on your website, but no response over a week.
     
  2. zeb33

    zeb33

    Joined:
    Nov 17, 2014
    Posts:
    91
    I have cutout selected here, should this fix it?
     

    Attached Files:

  3. jjanzer_tafi

    jjanzer_tafi

    Joined:
    Mar 4, 2017
    Posts:
    472
    There are no new updates for Artist Tools. If you need a pre-release copy of 1.6.5 please pm me with your email.
     
  4. jjanzer_tafi

    jjanzer_tafi

    Joined:
    Mar 4, 2017
    Posts:
    472
    That's the wrong shader, you need to use our skin shader, not the unity standard shader.
     
  5. XCO

    XCO

    Joined:
    Nov 17, 2012
    Posts:
    351
    What is improved in 1.6.5 ? And any news on a better hair shader ?
     
  6. zeb33

    zeb33

    Joined:
    Nov 17, 2014
    Posts:
    91
    thx, changed it earlier as there was a shader error, is working now
     
  7. chrisscott

    chrisscott

    Joined:
    Feb 24, 2014
    Posts:
    6
    The tongue seems to be a little wonky when using the pre-defined 'AgedHead' groups - I'm apply 3 to highlight the issue to the extreme but it occurs with just 1 on a smaller scale. Happens to both male and female.

    Using the latest MCS assets and Unity 2017.3 (also seen on 5.6.4, 2017.1 and 2017.2).
     

    Attached Files:

    Last edited: Feb 26, 2018
  8. bac9-flcl

    bac9-flcl

    Joined:
    Dec 5, 2012
    Posts:
    780
    @jjanzer_morph

    Had a couple of questions about MCS as an old user who has recently updated to 1.6.4.

    1. Where can we find up to date documentation on setup and other general subjects? Old versions had documents like this one, but I'm unable to find anything beyond HTML API reference download and a basic YouTube playlist on the new website. Many of the questions below stem from lack of documentation (and lack of source code for all the numerous custom components with opaque functionality, I suppose).

    2. What is the purpose of the new files in the StreamingAssets folder? Seeing how body meshes dropped from 15mb to 3mb in size, I'm assuming the folders in there host the morph (blend shape) data (though I'm not familiar with .morphs.mr and JSON manifest format for storing them). This has a number of implications we are really curious about.

    2.1. Use of StreamingAssets folder implies that you are not serializing the blend shape state of SkinnedMeshRenderer components and are reapplying everything on every reload. What specific classes are responsible for doing that, and what exact logic is used to determine paths for dynamic loading of morphs from StreamingAssets? We'd like to know how to keep the system working even if a folder containing the .fbx mesh is renamed or relocated.

    3. We're noticing that .FBX files associated with base body models (like M3DMale.fbx) are automatically populated with components when placed into the scenes. That's very strange and goes against normal Unity conventions, where any assets requiring additional components and setup are simply shipped with prefabs where that setup is already performed. What was the reason for not using the standard prefab system in Unity (like old versions did), and what classes are responsible for performing setup of body models (detecting instantiation of these models, populating their hierarchy with preconfigured components, etc.)?

    3.1. This raises same question as dynamically loaded blend shapes - how brittle is this custom loading system? Is it reliant on any particular project paths staying the same? Is it reliant on body model names? Is it continuing to function for bodies instantiated in Play mode? What about standalone builds, which don't include any code in Editor namespace?

    3.2. Is there any drawback to dragging a body FBX into a scene, getting it auto-populated with components, then immediately generating a prefab from that scene instance and continuing work with that prefab?

    3.3. Inspecting scene data, I see MCS characters carrying enormous amount of per-instance data in the JCTTransition component - around 12 (!) megabytes containing descriptions of 1250+ morphs. I suppose that's the data being pulled from StreamingAssets folder mentioned above. This feels very problematic - none of it is pulled through references, everything lives on a component every single character would carry around. Blend data made old FBX file similarly large, but it was a single resource accessed through references, not a blob of data copied and separately carried by every single character. Is JCTTransition data based on the body only, or is it also affected by a given permutation of clothing/attachments used on a characters? I suppose if it's the former, we'll be able to replace the JCTTransition component with a lightweight replacement accessing a centralized library through references, solving the problem.

    4. What are .mon files situated next to every single MCS material (e.g. Body_LOD0.mon)?

    5. Do CIattachmentPoint, CIbody, CIclothing, CIhair and CIprop components have any purpose once a character is configured and would no longer ever need any changes? I'm assuming M3DCharacterManager crawls the character hierarchy in search of these components and interacts with them, but once there is no need to use any customization functions or add/remove any additional clothing/attachments/hair - is it safe to remove all these components? I suppose the same question applies more broadly to all non-standard components encountered in MCS character hierarchies (CoreMeshMetaData, CSBoneService and numerous others): which components are required for successful instantiation of prefabs and application of morphs (and should be kept) and which components only aid with character customization (and can be safely removed when it is never required again for a given prefab).

    To rephrase, what is the minimum set of custom components I'd have to keep on character prefabs when I have no intention to customize them further?
     
    Last edited: Feb 27, 2018
    nirvanajie and Jyrry like this.
  9. jjanzer_tafi

    jjanzer_tafi

    Joined:
    Mar 4, 2017
    Posts:
    472
    Just a few minor bug fixes, and a fix for artist tools content if importing on a mac. Nothing new on the hair shader, sorry I haven't had time to get that out.
     
  10. jjanzer_tafi

    jjanzer_tafi

    Joined:
    Mar 4, 2017
    Posts:
    472
    Thanks for reporting this, I can reproduce this, it looks like there are artifacts from the inside of the mouth ripping out.
     
  11. jjanzer_tafi

    jjanzer_tafi

    Joined:
    Mar 4, 2017
    Posts:
    472
    1. I'll see if I can dig these up, I thought they already uploaded the new autogenerated api but maybe it got removed. I agree that it would be nice to have a set of examples, it's on the list, but not currently a priority.

    2. Yes they are for the morphs, the MR is a proprietary format where I extracted our morphs and stuff them in there. This is to reduce the overall memory usage b/c the old version of mcs used to have all blendshapes loaded in at once.

    2.1 CoreMorphs handles most of that handling. We look for data in the streaming assets folder by relative path via Runtime Morph Path on the CoreMesh component. If you look at the .mon files you'll see references in there to those paths if you need to modify them.

    3. Agreed, we moved to fixing this via the non body assets (clothing, hair, etc), but not the base figure. That's what the .mon files are for now that generate a prefab. Our Importerer classes in our dll handle this part, that converts the fbx + mon file into a usable asset.

    3.1 The relative paths and supporting meta files for finding manifests need to be accurate (eg: .mon files). The reason the files are in streaming assets is so that they are copied to standalong builds and we can still dynamically find the morph files.

    3.2 Currently due to how the alpha injection system works the material assignment is a bit buggy. It's very possible if you have custom materials they will be reset. I recommend setting custom materials through code after the figure instantiates.

    3.3 It is per-figure, not per clothing. Since it's only used to manipulate bones, the clothing rebinds to the figures bones. Regarding the morph data, it's one of a few aspects we didn't have time to get to when optimizing from 1.0->1.6. If you want to cull this list look at the "JCTs.json" file.

    4 They handle meta information that tells us how to generate the prefabs (they'll contain info about ai masks, material assignments, etc).

    5. I haven't tried to remove these, I would guess things would start breaking down once you get to core stuff or update morph values. Generally you could try to remove these and find out but it's not something we would encourage or support currently.

     
  12. bac9-flcl

    bac9-flcl

    Joined:
    Dec 5, 2012
    Posts:
    780
    Thanks for the timely reply! There are few more things we were curious to know before committing to updated MCS system - for instance, where can we find template files mentioned in the Morph Artist Tools video? The download only includes the Unity application called "Artist Tools" and contains no template files.
     
  13. SonGoku10c

    SonGoku10c

    Joined:
    Dec 9, 2017
    Posts:
    75
    HI.
    Is there somewhere a tutorial, with how to create an ingame character creation menu with sliders for different morphs, adding clothes, hair and maybe change the skin colour (if possible). Then save this character to use it ingame. My game should be a MMORPG, but I don't know anything about coding. :( Even when I need other assets, a tutorial would be nice.

    Btw: A morph for tails would be nice, like for Catpeople or Lizardman. :D
     
  14. jjanzer_tafi

    jjanzer_tafi

    Joined:
    Mar 4, 2017
    Posts:
    472
  15. jjanzer_tafi

    jjanzer_tafi

    Joined:
    Mar 4, 2017
    Posts:
    472
    This is a little outdated, but probably will give you the right idea:


    FYI, the video only has stuff about morphing. If you search through this forum you'll see a few topics I have where I show you how to dynamically attach clothing as well.
     
  16. SonGoku10c

    SonGoku10c

    Joined:
    Dec 9, 2017
    Posts:
    75
    I saw this video, but it only shows how to create the slider. Nothing more and nothing less. Something like saving the created character on a server (or local), start the game with the created character,... would be nice, but thx for the answer. :)
     
  17. N0R7H

    N0R7H

    Joined:
    Jan 19, 2017
    Posts:
    42
    Since the documentation on https://www.morph3d.com/documentation vanished.
    Is there any replacement? A downloadable PDF or something?

    I already dug through at least a dozen of pages in this thread without finding any such thing.
    Therefore I would really appreciate it if someone could help me out here.
     
  18. HonorableDaniel

    HonorableDaniel

    Joined:
    Feb 28, 2007
    Posts:
    2,841
    Can you clarify this a little bit. How do I update the human descriptor? Can I do it programmatically? I'm having the issue of the child sinking into the ground.
     
  19. FiveFingerStudios

    FiveFingerStudios

    Joined:
    Apr 22, 2016
    Posts:
    360
    Is it possible to bake a character that has been created to use the normal skinnedMeshRender approach?

    I ask this because I want to create characters, then use the standard Unity approach when using them.

    if that can be done, then I could manually combine them to only use one skinnedMeshRenderer and one material per character (which is a requirement of mine).
     
  20. XCO

    XCO

    Joined:
    Nov 17, 2012
    Posts:
    351
    Hello I am having an issue where the masks seem to have stopped working for some reason.

    Both in deferred and forward rendering the masks seem to not work anymore, the clothing is poking through. I don't know why everything was fine and now its not.

    I deleted the male package and re downloaded it but the problem is still there ? Please help I am fairly far along on my project.
     
  21. jjanzer_tafi

    jjanzer_tafi

    Joined:
    Mar 4, 2017
    Posts:
    472
    Sorry we're in crunch mode for a few projects. I'm going to re-run doxygen and get a copy up asap. I'll post here when it's ready.
     
  22. jjanzer_tafi

    jjanzer_tafi

    Joined:
    Mar 4, 2017
    Posts:
    472
    You can, this is the jumping off point: https://docs.unity3d.com/ScriptReference/Avatar.html

    I would say the easiest way to go about this is to bake out an avatar definition using untiy with the figure "baked", and then loading that saved definition into the Animator component. This wouldn't involve the extra steps of dealing with the bones at runtime.
     
  23. jjanzer_tafi

    jjanzer_tafi

    Joined:
    Mar 4, 2017
    Posts:
    472
    Not currently through mcs core unfortunately.
     
  24. jjanzer_tafi

    jjanzer_tafi

    Joined:
    Mar 4, 2017
    Posts:
    472
    First thing to check is simply restart unity and see if it magically fixes it.
    Next thing to check is look at the CIClothing components and verify they have black/white textures in the masks slots (1 for head, usually empty, and 1 for body).
    Next thing to check is make sure you're using our skin shader and the right one based on forward vs deferred.
    Next thing to check is see if the Alpha slot in our shader is getting populated with a render texture (these are dynamically composited). If you see nothing in there, try hiding/showing a clothing using the m3dcharactermanager editor which will trip this.
    Another thing to also look for is any log messages that we might generate that may help you figure it out.

    If you did all that and it still doesn't work you may need to send me your project so I can take a look.
     
    XCO likes this.
  25. XCO

    XCO

    Joined:
    Nov 17, 2012
    Posts:
    351
    Sorry I fixed it, I guess you have to use the Materials that came with the pack, that have that LOD (I was using my own materials with the MORPH Shader) script with them. Anyways I'm good thank you so much.
     
  26. Xialya

    Xialya

    Joined:
    Oct 4, 2015
    Posts:
    48
    How do you guys make the clothing elements behave like cloth?
    Like a cloak floating on the wind, loose sleeves, etc..

    I was purchasing ObiCloth for that purpose, but I've not managed to make it work, and was told by their support that it is not compatible. :/

    So, is there another way?
     
  27. jjanzer_tafi

    jjanzer_tafi

    Joined:
    Mar 4, 2017
    Posts:
    472
    I've used the default unity cloth system (which utilizes physx). It works great, you will need to create your own colliders (sphere/capsules are the only ones supported). What I did was simply anchor a few areas, like for a top I anchored the shoulders, and then attached colliders that emulated the limbs/chest area.
     
    XCO likes this.
  28. HonorableDaniel

    HonorableDaniel

    Joined:
    Feb 28, 2007
    Posts:
    2,841
    Thanks for the info. I was not aware that Morph Characters can be baked. Can you elaborate a bit on this? How is this done?
     
  29. HonorableDaniel

    HonorableDaniel

    Joined:
    Feb 28, 2007
    Posts:
    2,841
  30. Harekelas

    Harekelas

    Joined:
    Feb 3, 2015
    Posts:
    743
    Hi there!
    I've met a serious problem using artist's tool provided by you.
    I just can't get the importing axis eight, I made a hat inside 3ds max and adjusted all the axis settings as your template model, and skinned the hat only to the head bone:
    upload_2018-3-12_21-35-46.png
    upload_2018-3-12_21-36-28.png

    The Y axis is up and the X axis rotation is 90 just like your template mode.
    Then imported into artist tool, the hat got a 90 degree or something and can never be bound correctly.
    And suggestions on importing models?
    And how do I skin my model correctly on the template skeleton?
    What should I export together with my model?
     
  31. HonorableDaniel

    HonorableDaniel

    Joined:
    Feb 28, 2007
    Posts:
    2,841
    Artist Tools does all of the rigging for you automatically. There’s a great Unite video covering this process on YouTube.
     
    Harekelas likes this.
  32. Harekelas

    Harekelas

    Joined:
    Feb 3, 2015
    Posts:
    743
    The auto rigging is not able to make the equipment move in the way I desire.
    The weights of vertex are distributed by their locations but in more cases with armor or helmets I'll need most vertex only follow a few bones, but this can not be achieved by auto rigging when the armor is a bit big or has large decorations on them.
    Manually rigging is still the best option, I just need to know how to import it into artist tool properly
     
  33. HonorableDaniel

    HonorableDaniel

    Joined:
    Feb 28, 2007
    Posts:
    2,841
    Got it. I didn’t know that Artist Tools could import pre rigged meshes.
     
  34. Harekelas

    Harekelas

    Joined:
    Feb 3, 2015
    Posts:
    743
    Just tested my way out.
    Turned up add my own mesh into the template character mesh as an element then split it out again will just fix the rotation issue.
    Then regarding rigging, just rig the clothes and export all the bones and LODs of the template character,then it seems the rigging is also imported correctly.
     
  35. kilik128

    kilik128

    Joined:
    Jul 15, 2013
    Posts:
    872
  36. Harekelas

    Harekelas

    Joined:
    Feb 3, 2015
    Posts:
    743
    I've met another problem with M3D:
    I exported my hat from artist tool and copied it into unity, then I found the blendshadpe does not work on my imported item:
    upload_2018-3-15_20-55-19.png
    In the artist tool, the model can morph with blendshapes.
    But in unity it does not:
    upload_2018-3-15_20-57-36.png
    Any ideas what I may got wrong?
     
  37. XCO

    XCO

    Joined:
    Nov 17, 2012
    Posts:
    351
    Hello Morph,

    Do you guys have any suggestions or recommended scripts, plug-ins for combining the Skinned meshes together at run-time ?

    Is there anything I should know about your product before buying one of these Plugins to try and combine the skinned meshes at runtime ?

    Thank you :)
     
  38. EDarkness

    EDarkness

    Joined:
    Feb 1, 2013
    Posts:
    373
    What are you guys doing about skin tones? Every time I try to change it, the system always reverts back to the original skin tone on one part of the body. It's an annoying problem and the Morph guys haven't really been able to help me get it fixed, so I'm wondering what you guys are doing to solve this.
     
  39. jjanzer_tafi

    jjanzer_tafi

    Joined:
    Mar 4, 2017
    Posts:
    472
    I just mean recording the bones after you're done applying morphs.
     
  40. jjanzer_tafi

    jjanzer_tafi

    Joined:
    Mar 4, 2017
    Posts:
    472
    Not currently as an easy to drive value. Previously we did it by modifying the texture, but you could do it based on UV coordinates if you want to modify the shader.
     
  41. jjanzer_tafi

    jjanzer_tafi

    Joined:
    Mar 4, 2017
    Posts:
    472
    Sorry I'm not sure I understand the problem you're having. Can you upload a picture with the issue present?
     
  42. jjanzer_tafi

    jjanzer_tafi

    Joined:
    Mar 4, 2017
    Posts:
    472
    Are you on a mac? If yes, you'll need the 1.6.5 fix, pm me if you are. If not, try reimporting the .mr file (do not copy any other files, just the .mr file) and let me know if you have any output logs.
     
  43. jjanzer_tafi

    jjanzer_tafi

    Joined:
    Mar 4, 2017
    Posts:
    472
    They should work ok as long as you no longer morph once you're done. Conceptually at least.
     
  44. jjanzer_tafi

    jjanzer_tafi

    Joined:
    Mar 4, 2017
    Posts:
    472
    It's all due to the desire by most people to want the alpha injection system to work in editor w/o hitting play. There are issues with how that data is serialized in Unity. My only recommendation for now, until we resolve it, is to apply the materials after you have loaded the characters through scripting. I'll try to come up with something clever and quick in the mean time though.
     
  45. Harekelas

    Harekelas

    Joined:
    Feb 3, 2015
    Posts:
    743
    Hi, I also still get the index out of range error log(48 of them in total ) if I have two MCS figures in one scene, it does not show up when there is only one of them.
    And maybe it caused me one of the figure unable to render LOD and overlay masks correctly.

    I also got an output log on build game when this issue occurs:
    Failed to get pixels of splat texture
    (Filename: Line: 241)

    This error does not show up when in editor.
     
  46. jjanzer_tafi

    jjanzer_tafi

    Joined:
    Mar 4, 2017
    Posts:
    472
    First backup your project/code.

    Try this unreleased build:
    https://drive.google.com/file/d/17P9Lomqh3mAsxejBtPfi0bBhZ6KY61G2/view?usp=sharing

    It just contains the .dll files for 1.6.5.1

    After installing it, find the CIBody component (it will be something like M3DMale/M3DMale), then drag the mats you want to use in Body Mat, Head Mat, Eye Mat. Then you should be able to create a prefab/etc with it and preserve it.

    Let me know if you have any problems with it.
     
    nirvanajie likes this.
  47. jjanzer_tafi

    jjanzer_tafi

    Joined:
    Mar 4, 2017
    Posts:
    472
    Are you using prefrabs? Can you send me the editor.log?
    Can you send me the output.log?
     
  48. HonorableDaniel

    HonorableDaniel

    Joined:
    Feb 28, 2007
    Posts:
    2,841
    Thanks for the info.

    I'm experiencing certain attached content packs disappearing at runtime despite having called ResyncBounds() after applying the packs. Any idea how this can be corrected. It only happens at certain camera angles leading me to believe that it's a culling issue.
     
  49. EDarkness

    EDarkness

    Joined:
    Feb 1, 2013
    Posts:
    373
    Will I have to redo all of my NPCs? I have them already made as prefabs.
     
  50. jjanzer_tafi

    jjanzer_tafi

    Joined:
    Mar 4, 2017
    Posts:
    472
    Only the material assignments. Install the new plugin, then click on your prefab and expand it, then find the CIBody then drag/drop the materials into those new slots. If you can't find the CIBody in the prefab in the project pane, just drag it into your scene, modify it as needed, then save the prefab and remvoe it from the scene.