Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

[Released] Mega-Fiers. A mesh deformation system - RELEASE

Discussion in 'Assets and Asset Store' started by SpookyCat, May 18, 2011.

  1. chiapet1021

    chiapet1021

    Joined:
    Jun 5, 2013
    Posts:
    605
    Thanks! I'll play around with it. I obviously missed that option when I was looking through the menus. :) I'll see how it works out for what I'm trying to accomplish and be in touch via a ticket, if I need more help or enhancements to the feature.
     
  2. Grespon

    Grespon

    Joined:
    Apr 13, 2012
    Posts:
    388
    I'm having troubles with waving and wave modifiers. I'm trying to apply on a plane. It seems to produce waves with higher amplitude when it's far from the center. How could I fix it?

    $MFWaving.jpg
     
  3. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,748
    @Grespon - If you could submit a support ticket at the website then we can take a look at that for you.
     
  4. chiapet1021

    chiapet1021

    Joined:
    Jun 5, 2013
    Posts:
    605
    Hi SpookyCat,

    I submitted a ticket/question via your website a couple weeks ago. It was concerning the create prefab functionality. I still haven't received a response, from what I can tell. Should I resubmit?

    Thanks!
     
  5. Moska4111

    Moska4111

    Joined:
    May 25, 2013
    Posts:
    1
    Hello,

    It's really incredible the amount of things your solutions can do!!

    I looked many of the tutorials but could not realize exactly how to achieve something i would like to create.

    Can i create custom control points in some locations of a mesh, and allow the user to grab those points at runtime (like the FFD modifiers but with controllable number of points and their positions)?? The idea is create a CAD like application for newbies with specific models.

    And is it possible to export the modified model in some format??

    Thanks and congratulations!
     
  6. Hrothvitnir

    Hrothvitnir

    Joined:
    Apr 26, 2013
    Posts:
    109
    This is such a huge project, with so much to read, I skimmed through the thread and the website but I'm still not sure if this can do what I need.
    I need an effect that has jiggle like your rubber modifier, but with some kind of "squash and stretch" so that volume is more or less preserved (if X dimension gets smaller, Y and Z should get bigger), and most importantly it can be deformed by colliders. For example if you poked it with something it should deform to envelop the impacting collider, or if pressed against a wall/floor it would flatten out rather than penetrate the wall (and expand in the other directions for "squash and stretch").

    Does that sound like something I could do by some combination of Megafiers modifiers I haven't noticed, or are any of these potential future features?
     
  7. Venged

    Venged

    Joined:
    Oct 24, 2010
    Posts:
    500
    I had the same concern and ask about it on the MegaDaz forum. Turns out it was added in 2.68 but there were no notes about it on the website so I had missed it. This weekend I will try it out and verify it works for my project. Also it turns out that there is a brief announcement of v2.68 on page 86 of this forum thread.
     
  8. Licarell

    Licarell

    Joined:
    Sep 5, 2012
    Posts:
    434
    Chris, have you thought about adding the relax modifier to the megafiers list?

    I use it all the time in max...
     
  9. bchevalier

    bchevalier

    Joined:
    Feb 13, 2013
    Posts:
    42
    Hi Spooky Cat,

    This tool looks crazy good !

    I got a question regarding Point Cache animation support. Please excuse if i'm asking technical things that might be obvious to others, i'm an artist :)

    - do you compress the point cache data once imported in the project or is it read in its native format at runtime ?
    - what if I'd like to have no interpolation between my vertex positions ? No linear, no Beziers, just pose to pose. Would that help with performances ?
    - would you plan on supporting Alembic format maybe ?
    - do you provide with a way to adapt the tool to our need ?

    Now here's a very vague question : do you think 2 characters using simple shaders and animated using stepped point cache animation would be playing smoothly on a mobile device ? 2000vert each, 5 to 6 looping animations animated at "12 fps".

    thanks !
    ben
     
  10. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,748
    @Licarell - I did start a Relax modifier a long time back, I will dig it out and see if I can get it finished off.

    @bchevalier - The cache data is not compressed as that would slow down the playback. If only a portion of your mesh is changing then the usual approach would be to split your object in two in your 3d package so only the vertices that change are on one of the meshes so greatly reducing the amount of cache data required.

    There is no real difference in speed from doing a linear interpolation as opposed to just setting the data, just a subtraction and a multiply per vertex.

    We have looked at Alembic and other formats but so far no one has required that support and any package that outputs Alembic likely also supports one of the other standard formats.

    The source code is included in the asset so you can adapt it as you need, we do take requests if they are for something that others would benefit from.

    I would say two characters with 2000 vertices each would have no problem at all at well above 30fps. We do have a testapp on the google play store that has a scene of well over 100000 vertices all being deformed and that runs fine on current gen hardware, even on my old Galaxy Tab 10.1 it runs nicely. Point Cache is a very fast modifier a lot faster than say skinning would be and devices have no problem with 2000 skinned vertices.
     
  11. bchevalier

    bchevalier

    Joined:
    Feb 13, 2013
    Posts:
    42
    wow thanks for the lightning fast answer !

    we'd be looking at exporting the characters animation using Point Cache only first in order to give our animators total freedom so that they can squash, stretch, deform, morph the characters however they'd like.
    what we'll be playing are sort of real time "cinematics", i'll test the android app then.

    cheers !
    ben
     
  12. Licarell

    Licarell

    Joined:
    Sep 5, 2012
    Posts:
    434
    Has anyone tried to bring in point cache animations into mecanim?

    I was thinking on bringing in procedural point cache animations into mecanim and using it to blend between animations... is it possible?

    Would my FPS take a nose dive?
     
  13. AR_Rizvi

    AR_Rizvi

    Joined:
    Aug 12, 2013
    Posts:
    40
    hi
    I have a noobieest question that how can i load a shape in your mega shape by script i want to add customized spline shapes to work with
    help plz...
     
  14. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,748
    @Licarell - That should work fine, not tried it myself but the FPS hit would depend on how many vertices are in your mesh. If you did use it you can off course turn the system off when a blend is not taking place so you not lose any FPS in normal use only while a cache file is playing back.

    @AR_Rizvi - The loading methods are currently in the editor scripts, it would not take a lot of effort to copy the function from there to you own script. You can also just build splines from an array of Vector3[] values using the BuildSpline and AutoCurve methods in the MegaShapes API http://www.west-racing.com/mf/?page_id=2463
     
  15. Licarell

    Licarell

    Joined:
    Sep 5, 2012
    Posts:
    434
    Well the Idea was to set it up as sort of a mini-game bridged by a cutscene...

    Is there any limit to how many point-cache animations I can load on a figure?

    The idea is to have several procedural animations that just change slightly and have them loop randomly within mecanim and then use the blend node to change to different random loop groups.
     
    Last edited: May 28, 2014
  16. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,748
    You can have any number of point caches loaded you are just limited by memory.
     
  17. AR_Rizvi

    AR_Rizvi

    Joined:
    Aug 12, 2013
    Posts:
    40
    Thanks For Answer
    But i want to load splines which i have Exported from 3Ds max that is what i asked at first and i m trying to write a script for my needs but Object reference is missing from instance when i am calling (MegaShapeEditor's)
    Load Shape Code block
    i don't know what i m missing
     
  18. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,748
    If you could submit a support ticket at the website with the code you are using I can take a look for you.
     
  19. Play_Edu

    Play_Edu

    Joined:
    Jun 10, 2012
    Posts:
    722
    Flex modifier would be the great in next update places.:rolleyes:
     
  20. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,748
    I did look at Flex a while back for another customer but in the end they got the effect they were looking for using the Rubber modifier. What in particular about the Flex system in Max is it you are interested in?
     
  21. bchevalier

    bchevalier

    Joined:
    Feb 13, 2013
    Posts:
    42
    Hi SpookyCat,

    I would like to ask you a few more questions baed on my speculations. I have a bit of "experimental" usage in mind for point cache data.
    here are a few scenarios :

    1 > I'm an animator and I want to animate in Maya using a crazy complex rig, billions of bones and FFD, etc...(not necessarily lots of vertices, though), maybe even bake some low res cloth simulation on that character. My guess is that all vertices positions will be exported properly, but will the objects, materials/UV's still be there when importing the point cache data using MegaFiers ? Will vertex colour be preserved ?

    2 > I'm trying to replicate some traditional animation feel and animate my character at 12fps in Maya using only stepped keys. If I export my animation point cache using 2.5frames evaluation steps, can i play them back at something that looks like 12fps(even if my game is running at 30fps) ?
    I will not want any interpolation between the vertices transformation keys, making sure i maintain that 12fps look + avoid loosing volume on the mesh + reducing the amount of memory used by the point cache data(or am I totally wrong?).

    3 > performance wise on Megafiers side, should I rather import my whole scene as 1 or should i break down my elements ? would it make a difference ?

    My goal here is using point cache data to reproduce some sort of hand animated feel.
    Using meshes as much as possible for explosions, vfx, ect...

    Does all of this make any sense to you and do you feel like rendring such a thing would be achievable using MegaFiers ?

    Thanks a bunch !
    ben
     
  22. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,748
    Interesting questions :) Cache files only support vertex positions so if you are doing animation of color or uvs then I do not actually know of any cache file format that supports that. But if it is just vertex positions that change then there should be no problems as the color and uvs will be in the fbx file you import into Unity.

    You have the option with the point cache modifier to choose how the vertex data is interpolated, either Linear or NoInterp and for your needs NoInterp would give you the stepped look you are needing.

    You would need to export a cache file for each object you wish to animate, as each object in Unity would need its own Point Cache modifier added and its own data loaded.

    Hope that helps.
     
  23. bchevalier

    bchevalier

    Joined:
    Feb 13, 2013
    Posts:
    42
    Thanks for your answers :)
    I actually just realised that UV's, Vertex colours are stored within the mesh file(fbx in my case).
     
  24. ZJP

    ZJP

    Joined:
    Jan 22, 2010
    Posts:
    2,649
    Hi,

    It is possible to do that with the actual version of your tool. No need a 'Super Uber' deformation. A simple one would be nice.
     
  25. Play_Edu

    Play_Edu

    Joined:
    Jun 10, 2012
    Posts:
    722
    Hi,

    Thanks man. my problem is solved with rubber modifier.


    Best wishes,
    play_edu
     
  26. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,748
    The Tyre deformation will be released eventually, we just want to make use of it ourselves before we make it available. You could though probably do something similar with FFD.
     
  27. ZJP

    ZJP

    Joined:
    Jan 22, 2010
    Posts:
    2,649
    Thanks for the reply. Maybe you could do a tutorial with the 'FFD' IF you have some time for that. It's would be nice.
    I do not have Megafiers now. and i thinking about buy it for this sort of thing.
     
  28. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,748
    I will look at doing that, I am slowly adding some new FFD modifiers, namely cylinder and nxnxn to make it more useful so when I get those completed I will see if I can do a little test with a tyre object.
     
  29. lukos

    lukos

    Joined:
    Nov 11, 2012
    Posts:
    22
    Hi SpookyCat. Is your support still working? Ive submitted support ticket sent all files and never get anything back from you. Please help, bug with point cache is holding our entire project now. Thanks
     
  30. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,748
    @lukos - Support is working from what I can see been doing support over the weekend for example. There is a problem with the emails though if you attached a large file as our mail server will reject any emails with more than a few MBs of attachments. There is a note on the support page that says if large files are sent the ticket will not get through and instead links to say a dropbox should be sent instead. Did your ticket have a large attachment?
     
  31. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,748
    If you are having a problem with Point Cache mapping then it is almost always because the first frame of the animation does not match the FBX mesh that you import into Unity. There is an option to use the last frame of the cache file as the mapping data and recently we did add an option to load the mapping from another cache file and then load the actual cache file but keeping the mapping from the first, so you just make a simple cache of a couple of frames of the mesh doing nothing and then in Unity load that to the point cache, then load the full cache file, you will be asked if you want to replace the mapping, say No and it will just use the data without doing the mapping stage.
     
  32. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,748
    Checked the Cache file and it is indeed due to the first frame of the cache file not matching the FBX mesh, if you do as I suggest above and have a simple mapping cache file and your proper one you should be fine. Also the mc files should not really be included in your project as the data is already stored in the Point Cache modifier once the data has been loaded so you will just be increasing your project file size for no reason.
     
  33. lukos

    lukos

    Joined:
    Nov 11, 2012
    Posts:
    22
    Still no luck, tried saving point cache with 1 and 2 frames only. Always getting same error. Also tried all combinations of "mapping adjust" and "Use last frame"

    btw. max file and mc files are in the project with good reason, to give it to you in one place
     
  34. lukos

    lukos

    Joined:
    Nov 11, 2012
    Posts:
    22
    I left original max file in the assets project too, Please try export it yourself, you will see what I mean
     
  35. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,748
    It would seem that somewhere along the line the orginal mesh you started with has had a flip on the X Axis applied. Max keeps a load of transformations to itself which are very difficult to extract. If before you apply the FFD and Bend modifier in Max you so a Reset XForm on the mesh and then convert it to an edit poly that will remove all the various internal transforms applied to the object so you start with a nice clean mesh, then if you re apply the FFD and Bend and create a PC2 cache then all should work fine. Attached is an image that shows the problem in the mapping data, you can see the data as been flipped.
    balloon1.jpg
     
    Last edited: Jun 23, 2014
  36. lukos

    lukos

    Joined:
    Nov 11, 2012
    Posts:
    22
    Thanks reseting xform did the trick,

    Are you mapping vertices base on their local position? not on vertex number?
     
  37. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,748
    They are remapped on their position, it is not possible to map on the vertex number as Unity changes the number of vertices depending on smoothing groups, UV seams etc so it has to be via position. The system does try multiple flips, axis changes, and coordinate systems when importing the mapping data but there are just times when it can't find the right combination. But starting with a fresh mesh via the Reset XForm means the mapping is simple.
     
  38. ZJP

    ZJP

    Joined:
    Jan 22, 2010
    Posts:
    2,649
    Thanks for the reply. Waiting for a demontration.
     
  39. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,748
    Submitted a new version to the Asset Store and on our web site. This fixes the warnings that show up when importing MegaFiers into a 4.5 project, also fixes a rare exception when loading mor files on 4.5. Also fixed is the Clamp Loop mode on the Animator components if a clip is playing in reverse and finally added option to import KML files as MegaShape splines.

    Changes in v2.75
    • Fixed warnings in the Undo system for Unity 4.5 and 4.6
    • Fixed rare exception when loading mor files on 4.5 and 4.6
    • Point Cache animator Clamp loop mode now works correctly with reverse clips
    • Morph Cache animator Clamp loop mode now works correctly with reverse clips
    • Added KML import of splines
    • Fixed warnings that show up in Unity 4.x

     
  40. integence

    integence

    Joined:
    Feb 17, 2012
    Posts:
    19
  41. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,748
    There should be no reason for a decal not to work since the decal system would just be using the mesh data to calculate the decal vertices. I have not tried it yet but should be no reason why it would not work. I will get the free version of that decal system and give it a go later.
     
  42. integence

    integence

    Joined:
    Feb 17, 2012
    Posts:
    19
    Thanks for your answear.

    Situation 1: make a small ball (source object) and projecting some decals on it in real time. Then, using morphing, change a small ball into a big one. What happens with the decals? Will they "follow" the morphing, change their size (accordingly to the morphing) and will be visible on a big ball?
    Situation 2: small ball (source object) morphs into a big one and then projecting some decals. Will the decals hit the morphed object (big ball) or go through it to the source object (small ball)?

    Unfortunately the Unity build in morphing system doesn't return any morphing values so following the morphing by decals is impossible.
     
  43. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,748
    Not tried it yet but for your situations I would guess the decal system would keep the decals the same size regardless of how the mesh is deforming as the decal systems use a projection and knows nothing of what the meshes are doing. To get a decal to deform along with the mesh I would suspect you would need to get the decal and then use the wrap system to make the decal deform along with the base mesh. So sounds like perhaps a little extension to the system would be wrap system would be needed, anyway will have a look later.
     
  44. integence

    integence

    Joined:
    Feb 17, 2012
    Posts:
    19
    The Decal System creates meshes for projected images cloning the parts of the geometry from the source object. The meshes can be deformed by bones of the source object so everything works well. The problem is that I need to use morphs instead of bones. And in this case the Unity build in morphing doesn't output any information for decals.
     
  45. Krileon

    Krileon

    Joined:
    Oct 30, 2012
    Posts:
    642
    Getting fatal error on latest release (2.75).

    Assets/Mega-Fiers/Editor/MegaFiers/Warps/ZStretchWarpEditor.cs(5,22): error CS0246: The type or namespace name `ZStretchWarp' could not be found. Are you missing a using directive or an assembly reference?

    Assets/Mega-Fiers/Editor/MegaFiers/Warps/ZStretchWarpEditor.cs(5,2): error CS1502: The best overloaded method match for `UnityEditor.CustomEditor.CustomEditor(System.Type)' has some invalid arguments

    Assets/Mega-Fiers/Editor/MegaFiers/Warps/ZStretchWarpEditor.cs(5,2): error CS1503: Argument `#1' cannot convert `object' expression to type `System.Type'

    Seams to be due to a warp being dependant on a script in the test scene, which I do not want the contents of the test scene. Will import test scene scripts for now I guess.
     
  46. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,748
    That would be the problem, I will sort that out for the next update, but for now dont import the demo scenes just delete the ZStretchWarpEditor script file.
     
  47. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,748
    Submitted a new version to the Asset Store, this fixes the error with the ZStretchWarp if the demo scene is not imported and actually properly adds the ZStretch Warp modifier to the system, and we have added support for the export of MegaShape splines to SVG files. So you could create your splines in MegaShapes, export them to SVG for editing in your favourite SVG editor then import them back into MegaShapes using the SVG import option.

    Changes in v2.76
    • Added ZStretch Warp.
    • Fixed error when demo scene scripts not imported.
    • Added option to export MegaShapes to SVG files.
     
  48. chiapet1021

    chiapet1021

    Joined:
    Jun 5, 2013
    Posts:
    605
    I've done a bit of back-and-forth with SpookyCat on this via a support ticket, but I wanted to see if anyone else has had similar issues as me on getting a couple features to work. I'm running Unity Free 4.5.2 on Windows 8.1, in case that's helpful. Here are my two issues:

    1. Morph dials update very slowly in the editor. I created a brand new project in 4.5.2, imported the latest version of MegaFiers and MegaDaz, and used them to create morph dials for a mesh. All the mapping and morph imports seem to have been successful, but when I try to update a dial, the editor freezes up for anywhere from a couple to several seconds. I've tried saving the project and restarting Unity, and the dials are still delayed in updating.

    2. I can't seem to get the "Create Mega Prefab" function to work to create prefabs such that instances can be modified/morphed independently. I setup my Game Object with the morphs, select it in the editor, and use the "Create Mega Prefab" option in the menu. Creating multiple instances of the resulting prefab still does not allow me to modify those instances without them affecting each other.

    I'm wondering if I'm doing something wrong? I haven't been able to find much documentation or a video on the Mega Prefab functionality. Hopefully, Chris can help me out in the support ticket, but I figure I'd ask the community as well.
     
  49. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,748
    The slowdown on the morph sliders seems to be down the Unity undo system deciding it needs to save the state of the whole mesh object for every editor change. I have for the next update reinstated the option to turn off the Undo system per object to stop that problem. As for the prefab system, all works fine here in 4.5.2.
     
  50. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,748
    Update in the asset store with the Morph slider slowdown fixed.