Search Unity

Mutable Character Customization System for Unity Pro

Discussion in 'Assets and Asset Store' started by jordirovira, Oct 14, 2013.

  1. jordirovira

    jordirovira

    Joined:
    May 16, 2013
    Posts:
    23
    EDIT: We are slashing down the price of the asset, and discontinuing commercial support. Mutable for Unity has not been a sustainable business for us, unfortunately. We will be going on development of Mutable internally, and maybe reconsider reopening support for this asset in the future. Don't hesitate to contact us if you want more information. Thanks!

    --------------------------

    Dear Unity community,

    We would like to announce the release of the first version of Mutable for Unity. Mutable is a Unity plugin for the creation of character customization systems.

    $MutableUnity.png

    You can see a brief presentation here:



    and a complete walkthrough of the setup of a customizable helmet here:



    Mutable currently works for Unity Pro (it has native plugin) for Windows (32 and 64 bit). The next release will add Mac support, and Linux comes after that. You can get more information at http://anticto.com/mutable-for-unity

    The current Unity integration supports all image layer combination effects, texture packing, mesh morphing and mesh fragment removal and merge.

    Future releases will add support for texture projection (user-placed decals), and more features like streaming, lod support and multithreading.

    With the package you get:
    - the Unity plugin and scripts to use Mutable for Windows
    - the Mutable standalone tool for Windows (to create your customization diagrams)
    - a sample character model with some customizable parts: pants, shirt, scars, beard, hair, cyborg arm, two head shapes ans skin colours, including source assets.
    - a sample helmet with many options like shown in the video, also with source assets.
    - 3 example scenes to customize the character, the helmet and to generate random customized objects.
    - One month of full support, including our work to assembly of the initial customization diagrams for your objects from your assets and advice on how to create and optimize your system.
    EDIT: The premium support month is no longer included in the asset, in order to be able to lower its price. We still offer it separately from our website.

    Mutable is not limited to characters, actually. It works with any kind of object, like cars, spaceships, or butterflies.

    Let us know what you think about it! We will be releasing new versions often to improve the tools from your feedback.

    We hope you like it!

    Jordi
    anticto.com
     
    Last edited: Mar 14, 2014
  2. Patico

    Patico

    Joined:
    May 21, 2013
    Posts:
    886
    Wow! Great, rich and powerful!
     
  3. Venged

    Venged

    Joined:
    Oct 24, 2010
    Posts:
    500
    I have been looking for a reliable Character Customization solution. I have spent money on some assets on the Unity store that to date tend to over promise and under deliver. Will Mutable be supported for all of Unity 4.x or will a big update to Mutable be required everytime there is update to Unity?

    Will you providing more how to videos that show how to set up a human body in Mutable and customize and morph it?

    I'm very interested but need to know these things before I jump in.

    Nice looking system!

    Thanks
     
  4. nuverian

    nuverian

    Joined:
    Oct 3, 2011
    Posts:
    2,087
    I wish we had this 1 year ago for out game PlayTown
    Looks great
     
  5. jordirovira

    jordirovira

    Joined:
    May 16, 2013
    Posts:
    23
    Hi Venged,

    We plan to continuously update Mutable for the new versions of Unity 4.x. We think it is not going to require a big amount of work from version to version, since most of the processing happens in a native plugin. However this is always subject to the changes in the engine from the Unity side!

    We have plans to provide more and more videos. Probably in a shorter format, and more feature-specific. Would that be ok? However this will be in the mid-term, since now we are focusing on improving and optimizing the current version of the integration.

    You can try the standalone Mutable Tool used to create the content for Mutable for Unity. It is included in the Unity package with the plugin and the examples, but it can also be downloaded from our support site, in the "Files" section of the "Mutable Tool" project.

    It may have a little steep learning curve, but we offer support and help setup the first characters from your assets for a month after getting the plugin from the Asset Store. Don't hesitate to ask us directly here or in the support site!

    EDIT: We no longer include the month of premium support, but we offer it separately, in order to be able to lower the asset price (from version 0.6)

    Hope this helps!

    Jordi
    anticto.com
     
    Last edited: Nov 30, 2013
  6. jordirovira

    jordirovira

    Joined:
    May 16, 2013
    Posts:
    23
    Thanks! Indeed PlayTown looks like an ideal game to benefit from the features in Mutable.

    j.
     
  7. Venged

    Venged

    Joined:
    Oct 24, 2010
    Posts:
    500
    @jordirovira Thanks for the quick response. I have started playing with the Mutable tool. I'm also staring to put some money away because I don;t resist this tool for long(-:

    It helps that you will offer one month support/help with getting our own character in the system for 1 month. That is good support.

    Please submitt this for the Daily Deals(-:

    Thanks
     
  8. Venged

    Venged

    Joined:
    Oct 24, 2010
    Posts:
    500
    @jordirovira

    Is saving and loading Characters working yet on this asset? That feature would be important to me should I buy this for my character customization system.

    If it is not done yet, is there a ETA for it?

    Thanks
     
  9. im

    im

    Joined:
    Jan 17, 2013
    Posts:
    1,408
    nice but bit expensive for me :(
     
  10. jordirovira

    jordirovira

    Joined:
    May 16, 2013
    Posts:
    23
    @venged

    If you mean saving the customized objects, it can be done in several ways, always using C# scripts a little work from the user side. For every customized object (sometimes called "instance of a customizable model"), there is a small class (MutableParameters) that acts as container for its parameter values. It simply contains a list of parameter names and values for every type of parameter (booleans, floats, ints, colours, ...). With this information only, you can build the customized object.

    We are planning to add two custom save methods for different use cases to MutableParameters:
    - the first one will save the parameter names and data, it will be safe to changes in the model parameters when you update or extend it. It is useful to save player or level data to disk.
    - the second one will be much more compact: no parameter names, and only parameters that differ from the default values. This version of serialization is useful for network transfer, when you know the two ends use the same character model version, and it uses less bandwidth, which is very important for mmos.

    We have already submitted an update to the asset store (0.5.1), adding Mac support, but at the time of this post it hasn't been approved yet. It doesn't have this functionality, but we will try to include it in the next one (0.6). However, we are providing the source code of the C# script side of the system so if it is critical to your project, you can already see the "MutableParameters" class in the MutableInstance.cs file and use it.

    I hope this answers your questions!

    j.
     
  11. Venged

    Venged

    Joined:
    Oct 24, 2010
    Posts:
    500
    Thanks.
     
  12. bufothejig

    bufothejig

    Joined:
    Nov 24, 2013
    Posts:
    13
    Looks like a promising plugin!

    Question : Do the characters created play nice with Mecanim? Does the demo include a Mecanim example?

    Thanks
     
  13. jordirovira

    jordirovira

    Joined:
    May 16, 2013
    Posts:
    23
    Thanks!

    The plugin generates meshes with skinning information that is compatible with Mecanim. Since the animations are setup separately in Unity (the plugin just replaces the mesh and textures on-the-fly) it should work with Mecanim seamlessly. The included character is rigged as a humanoid and it includes an idle animation.
     
  14. ppatel_disney

    ppatel_disney

    Joined:
    Dec 17, 2013
    Posts:
    1
    Do you plan to add iOS/Android support in the near future?
     
  15. jordirovira

    jordirovira

    Joined:
    May 16, 2013
    Posts:
    23
    Hi ppatel_disney,

    We are working on it right now. Hopefully we will have the first iOS version released at some point during this month. Android should come afterwards around end of February.

    j.
     
  16. jordirovira

    jordirovira

    Joined:
    May 16, 2013
    Posts:
    23
    Just a small update on the mobile version: The version 0.7 of the plugin has just been submitted to the store (if approved, it will be available sometime during the following couple of weeks). This version contains the first release of the iOS native plugin ans some iOS example data (downsized versions of the character and the helmet). We have detected that we need to do some memory optimization for this devices, since complex models tend to fill it up very quickly. Finally, the mobile versions don't support texture compression due to a limitation of Unity's native plugin interface, which doesn't provide access to the renderer in mobile platforms (for now).

    Regards!

    j.
     
  17. BuildABurgerBurg

    BuildABurgerBurg

    Joined:
    Nov 5, 2012
    Posts:
    566
    Hello I loaded your helmet demo and it worked fine until I set the option in Unity to use DirectX11

    Pops up with microsoft Visual C++ runtime error and crashes unity.

    I tested this in a new project.

    I created a ticket on your site but you haven't replied.

    Does this work with DX11?

    Ps I paid for this so I expect a reply
     
    Last edited: Jan 12, 2014
  18. jordirovira

    jordirovira

    Joined:
    May 16, 2013
    Posts:
    23
    Hi MoHoe,

    The plugin should support both DirectX 9 and 11. This crash is a bug that we need to solve. We will look at it with high priority. Please note that the issue is related to the integration of Mutable in Unity, so we will move it from project in our support site.

    We can go on the discussion of this bug in our support site.

    j.
     
  19. BuildABurgerBurg

    BuildABurgerBurg

    Joined:
    Nov 5, 2012
    Posts:
    566
    Thanks jordirovira, good to know it's intended to work with DX11.

    Well done with the video tutorial, I wouldn't of purchased this if it didn't have one :)

    I use Alloy Physically Based Shaders, are you going to support PBR? It would be great if you added metalness and smoothness as a material option. I see you have shininess which I assume functions the same as metalness? and specular could be the same as smoothness? anyhow it would be handy to have the same naming conventions.

    Although it's not a big deal to have the previewer display using PBR, is this something you're considering to add?

    Regards
    Mohoe
     
  20. jordirovira

    jordirovira

    Joined:
    May 16, 2013
    Posts:
    23
    One of the things we considered from the beginning of the design of Mutable was to support any kind of shaders. We use the common diffuse+specular+shininess properties in our examples, but the system is agnostic to that. At the end of the process, for our Unity examples, you get a _MainTexture and a _BumpMap textures that come from recombining (probably at model compilation time) the generic channels defined in the model diagram.

    This happens in the "Object Transform" node of the diagram. We include some Model transformation as example, that do this recombination of texture channels and even shrink the textures.

    By using these transforms you can generate the data your shaders need, or even different compiled models for different platforms that can use different shaders.

    The unsolved problem is in the previews of the Mutable Tool. Since we cannot support all shaders from all engines that we don't know beforehand, the preview tries to use a generic lighting model, and will stop being useful when you use your own.

    Hope it helps!

    j.
     
  21. silentneedle

    silentneedle

    Joined:
    Mar 14, 2013
    Posts:
    280
    Exactly what I'm looking for. Does it support unity's webplayer?
     
  22. jordirovira

    jordirovira

    Joined:
    May 16, 2013
    Posts:
    23
    Hi silentneedle,

    Unfortunately Mutable doesn't work in the Unity webplayer. The Unity webplayer doesn't support native plugins (for security and portability issues) so there is no way for us to support the webplayer unless we port all of our runtime to script, which would probably slow it down. In the long term we may consider it, but this would mean maintaining 2 separate source trees.

    j.
     
  23. BuildABurgerBurg

    BuildABurgerBurg

    Joined:
    Nov 5, 2012
    Posts:
    566
    Unity 4.3.3f1 test

    Rendering path : Deferred lighting OR Forward
    Color Space : Linear
    Use DirectX11 : yes

    Crash!!

    $crashReport1.png

    The crash happens when color space = linear (in forward OR deferred mode when using directx11)

    Just thought I would be more specific :)
     
  24. jordirovira

    jordirovira

    Joined:
    May 16, 2013
    Posts:
    23
    Hi Mohoe,

    The linear color space is a great hint on where to look for the crash (we couldn't reproduce it so far). Thanks! It is probably something related to DirectX internal texture formats being different for that case. We'll look into it soon.

    j.
     
  25. BuildABurgerBurg

    BuildABurgerBurg

    Joined:
    Nov 5, 2012
    Posts:
    566
    Sorry for not being more specific last time :(

    oh by the way I just tested this with Amplify Texture and it doesn't work properly. is there any way you could download Amplify Textures free version and do a few test's to see if this can be easily fixed?

    I know it's a lot to ask to make this compatible with other assets but Amplify Texture is a real big deal for serious game developers using Unity.
    It might be something simple that needs changing.

    Regards
    Mohoe
     
  26. jordirovira

    jordirovira

    Joined:
    May 16, 2013
    Posts:
    23
    This has been found and fixed in version 0.7.1. At the time of writing it is pending of evaluation by Unity before being accepted.

    For the technical: the texture formats used by Unity when enabling linear lighting in DirectX 11 are different, and we didn't support this case in the native texture conversion from Mutable. The crash is now gone and samples work fine, but there is some extra work on handling linear space textures that will be done in the future. Basically a new flag will be added to tell Mutable what textures have been authored in linear space.

    Thanks for the report, MoHoe!

    j.
     
  27. jordirovira

    jordirovira

    Joined:
    May 16, 2013
    Posts:
    23
    I have looked at Amplify Texture but it is not going to be possible to integrate Mutable in its virtual texture handling. Amplify Texture handles the streaming and atlassing of textures in real-time, and Mutable also creates native textures in real-time. The two could be used in the same project, but not working together.

    In the future we are planning to add a UV atlassing mode to mutable models in order to be able to share texture fragments across model instances(which right now are unique) This would allow to use Mutable for many scenary objects while benefitting from the extra information Mutable has to do the memory optimization.

    j.
     
  28. BuildABurgerBurg

    BuildABurgerBurg

    Joined:
    Nov 5, 2012
    Posts:
    566
    Thanks jordirovira for trying.

    How about using substances? I was thinking of using substances at runtime to create dirt effects, will this work with Mutable?
     
  29. jordirovira

    jordirovira

    Joined:
    May 16, 2013
    Posts:
    23
    Sorry for the late reply. No, Mutable cannot work with substances. Mutable relies heavily in preprocessing the customizable models to optimize them for realtime construction. At that stage there is no information about external systems like substances.

    What can be done is :
    - pre-bake textures and export them to be used in the mutable tool preprocess
    - use additional textures not coming from mutable in your shaders for GPU-based effects. These texture cannot rely on the texture coordinates used by Mutable, since they will have been changed by the realtime texture packing.

    j.
     
  30. BuildABurgerBurg

    BuildABurgerBurg

    Joined:
    Nov 5, 2012
    Posts:
    566
    that's really disappointing ... by having "Mutable preprocessing the customizable models for performance reasons", you've made this practically incompatible with everything else. The "preprocessing the customizable" isn't going to make that much of a performance increase to justify losing flexibility.

    The asset store has many tool to combine uv and textures already and that should be the last thing to be applied.

    This is now useless to me. what about new assets like Candela SSRR? this probably wont work either.

    Are you going to keep it like this?
     
  31. jordirovira

    jordirovira

    Joined:
    May 16, 2013
    Posts:
    23
    Hi MoHoe,

    Integration with other third-party plugins is desirable, but not a priority for us. We may try to support the most popular ones in the future, but for the rest we believe it is the author's responsibility as much as ours. Please note that any plugin that works at a shader level without preprocessing the data should work correctly with Mutable-generated assets. This includes Candela SSRR as far as i know, but we have not tested it.

    Preprocessing data is very useful and effective for real-time efficiency (as we have proved with our past experience in APB, KUF2, etc). If you don't like the approach this plugin has taken, let us know you Asset Store invoice number and we will refund you (without Unity's comission). We will be sorry to see you go.

    j.
     
  32. BuildABurgerBurg

    BuildABurgerBurg

    Joined:
    Nov 5, 2012
    Posts:
    566
    "without Unity's comission" why without?

    Do you think it's possible at some point in the future you could add the option to output without changing the UV's?

    Edit.

    I'll hold off on the refund, I would like to test Candela SSRR when it comes out, also there might be an alternative solution for creating realtime dirt and scratches effects with your asset.

    I see your point by the way, I just think it's a real shame it's locked out other assets when it comes to realtime stuff, I think the future is heading fast in that direction (realtime texture manipulation)
     
    Last edited: Feb 12, 2014