Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. We have updated the language to the Editor Terms based on feedback from our employees and community. Learn more.
    Dismiss Notice
  3. Join us on November 16th, 2023, between 1 pm and 9 pm CET for Ask the Experts Online on Discord and on Unity Discussions.
    Dismiss Notice

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

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

  1. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,690
    You can set up and play clips using the Morph Animator component, or you can use the Morph Animate component to use Unitys animation system with the morphs. But Morph Animator is the best solution probably, and you can link it to the main animations if the clip names are the same. I do need to do a guide for that system. I am out away from my desk until Friday so I wont be able to do a guide until then, though I might get some time to do a page on it for the site. The page for it is http://www.west-racing.com/mf/?page_id=1108
     
  2. JiBi

    JiBi

    Joined:
    Aug 20, 2011
    Posts:
    17
    Thanks for the answer :)
     
  3. SwiftIllusion

    SwiftIllusion

    Joined:
    Jan 22, 2012
    Posts:
    66
    Oh that's absolutely amazing, darn your system is so epic XD.
    Linking that with the characters bone animation clips would be amazing and save an absolute ton of time and hassle attempting to do that.
    If your able to do a guide when you next have time to link the morphs to the bone animation that would be the greatest thing ever!
    How would I get the 3ds max exporter, it isn't mentioned in your main post?

    Looking forward to that tutorial, thank you so much for all of your help :)! I'll definitely be purchasing it after that tutorial comes out :D.
     
  4. patrickStU

    patrickStU

    Joined:
    Jul 22, 2012
    Posts:
    7
    Problem Fixed [my fault!]
     

    Attached Files:

    Last edited: Jul 30, 2012
  5. darrenackers

    darrenackers

    Joined:
    Nov 2, 2010
    Posts:
    4
    We purchased the megafiers plug-in a couple of days ago and desperately need the MorphOMatic exporter for it.

    Could you send us this as soon as possible?
     
  6. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,690
    @darrenackers - I have emailed the exporters to you, sorry for the delay but I was without a computer for a week.

    @SwiftIllusion - I will be working on the tutorial for linking morph and point cache animations to the main Unity animations this week, just need to get some artwork sorted out :) As for getting the morph exporter you just need to email me with the version you need and the invoice number for the purchase of the system when or if you decide to purchase it :)
     
    Last edited: Jul 31, 2012
  7. SwiftIllusion

    SwiftIllusion

    Joined:
    Jan 22, 2012
    Posts:
    66
    Sorry to hear about your being without a computer for a week :O, my sanity wouldn't last that long without mine xD.

    Awesome, I'm really looking forward to that tutorial :)! Will add so much to the characters animations, I can't wait :D.
    Goodluck with the artwork you need to do!
    Thanks for the information, I'll definitely be purchasing it as soon as the tutorial is out :),
    should I use the contact page on your website for that?

    Also it's not much of a thing but, your 'unity videos' link in your signature, the 'http://' at the beginning causes
    it to "http://www.http.com//www.youtube.com/user/Gawaine1066"
    If you remove that and just have 'www.' like your 'megafiers website' link it should work :).
     
  8. JilJill

    JilJill

    Joined:
    Nov 11, 2009
    Posts:
    128
    i am having a little problem getting access to the loop functionality of the megamoph animator script. i can get access to the name, start and end of my clips bu ti can't get access to the loop variable. the type it references is 'MegaRepeatMode' and i can't find that can any one let me know how i get access to this variable from outside the script?
     
    Last edited: Aug 3, 2012
  9. JilJill

    JilJill

    Joined:
    Nov 11, 2009
    Posts:
    128
    solved it now works
     
  10. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,690
    Sorry jimjim to not answer quick enough, glad you solved your own problem, can you share what the issue and solution was?
     
  11. Cosmodrome

    Cosmodrome

    Joined:
    Aug 3, 2012
    Posts:
    6
    Hi SpookyCat, my compliments for your plugins.
    Did you ever think to develop a Unity version of the Cinema 4D Mesh Deformer?



    It's an incredibly useful tool, especially when you are dealing with complex objects made by multiple meshes. In fact I'm currently working on a Unity project with a skinned character made by several meshes, and every mesh can be replaced on the fly by a different version of the same part. Right now I'm forced to skin/weight ALL the meshes - in ALL versions - and export them to Unity, whereas a mesh deformer could allow me to skin/weight a character cage once and for all.

    Riccardo
     
  12. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,690
    That kind of deformer is on the todo list, currently the closest I have is the Curve Sculpt and FFD modifiers, the Curve Sculpt allows you to add layers each can have its bounding volume and you can say what kind of deformation happens via the curve, not quite the same I know. More info on that modifier can be found at http://www.west-racing.com/mf/?page_id=2411

     
    Last edited: Mar 1, 2013
  13. kellsey

    kellsey

    Joined:
    Apr 5, 2012
    Posts:
    11
    Hello, i saw you added a morph link which may fill the needs i had for skin ajusts.

    Then i had a quick look on how it works on 3DS max and i have a kind of noob question :

    In the video tutorial you posted, we see the morpher modifier at the top of the list ( before the skin modifier ).
    In mytests, when i put the morpher at the top, it overrides the bones animations.

    Example : I duplicate my mesh in T pose. I move only the vertices which need to be ajusted, i add a morph
    modifier on the original mesh, and pick up the modified mesh as target.
    Everything works fine but seems while animating, the whole T pose override all my previews animated moves.
    This doesn't happend if i place the morph just below the skin modifier.
    ( I also tryed with adding an Edit poly on the original stack, better than duplicating the original mesh )

    If you can explain me the way to do it right ( like in the video ), then i will probably buy the Megafiers package,
    since i'm also very interested with the skin attach. ( good work with this ^^ ).

    PS : Sorry for my bad English.
     
  14. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,690
    Hi There
    Usually you set up your morphs first in max then apply the skin modifier, but basically all you need to do is get it working the way you want in Max then just export the fbx as normal and the morph data using the MegaFiers mor exporter and it will work fine.
    Chris
     
  15. kellsey

    kellsey

    Joined:
    Apr 5, 2012
    Posts:
    11
    Yes i suppose it works great for some parts like the head where you can easily set up lots of facials expressions while the head stay still.

    The way i want to use it is a little more confusing since i need to ajust the mesh while deforming ( to correct those deformations ).

    It means i need to see the skin deformation which is at top of the stack, and the edit poly which is below, at the same time.

    Trying to fix it in max at the moment, before the purchase step =)
     
  16. eskimojoe

    eskimojoe

    Joined:
    Jun 4, 2012
    Posts:
    1,440
    - Is there a free version for testing purposes?
     
  17. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,690
    I am looking at adding the Skin Morph to the exporter, and there is already a system included to allows you to link morphs to bone positions/angles. If you have an example max file you can send it over and I will check out if it all works ok.

    @eskimojoe - There is no free version I am afraid due to the fact the system is source code based and there is no way to limit the functionality or length of any trial version, hence all the videos on my youtube channel, plus if you have any questions please feel free to ask or email me through the website.
     
  18. JilJill

    JilJill

    Joined:
    Nov 11, 2009
    Posts:
    128
    i am using mega mortph animator to play certain arts of my morph. but i have 2 problems. teh 1st is i canot get animation clips that i create at run time to actually play. it says its looping them and clampint them but notthing happens. it works fine if i add the clips when the program is not running

    secondly when i add the mega morph animator to my morphing object it automatically plays at start even though i uncheck it
     
  19. Pyromuffin

    Pyromuffin

    Joined:
    Aug 5, 2012
    Posts:
    85
    I bought megafiers yesterday. After playing around with it for a while, i've found that the deformation does not always properly orient to the widget when using rotation, especially when using a combination of rotations on different axes. For instance, using the wave or ripple modifiers, if you rotate on the x axis and then on the y axis, the widget is rotated as you would expect, but the deformation no longer corresponds to the deformation in the widget, as in, it happens on different axes. My guess would be it's a local rotation or pivot problem, but I really have no idea.

    additionally, changing the scale of the wave modifier too low or too high causes it to explode and become extremely thin/weird/unexpected. (as I was trying to adjust the scale so I could essentially adjust the wavelength, see feature request below).

    and lastly a feature request for the wave and ripple modifiers, if we could have some parameter for wavelength, that would be awesome.

    Your package is super awesome, and is going to actually going to let me entirely avoid rigging my character.

    Thanks a bunch!
     
  20. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,690
    @jimjim - If you could post the code you use to make the clips then I will take a look to see what might be causing that. The play on start bug is actually been fixed in the next update, if the animation was played at all in the editor then the play on start would not be correct.

    @Pyromuffin - I will check the gizmo rotation out but I think it maybe that the code was ported from our own C++ game engine which did use a slightly different coordinate system so Y and Z are swapped over in the gizmo rotations so it could possibly be that is what you are seeing. There are values on most modifiers that setting the values too big or too small can cause odd results that is down to the algorithms used that the maths will sometimes have singularities etc but I felt it was better to not put restrictions on the values as sometimes you can get some very interesting results with out of range values. The ripple and wave modifiers do have a wavelength param already it is the 'wave' value.

    Edit: Looked at the gizmo rotate and it looks to be correct on the ripple modifer, could you submit a support ticket at the website with some values where the rotation is wrong so I can investigate further.
     
    Last edited: Aug 6, 2012
  21. Blakester

    Blakester

    Joined:
    Aug 7, 2012
    Posts:
    1
    Hello Everyone!

    I am really happy to see what a helpful community Unity and Mega-Fiers has!

    I have a question about the best way to approach a task:
    We have audio files recorded of people talking. We wish to sync these with morphing animations so that they are timed correctly, and if possible, the morph would match the spoken words.

    I know that we could manually sync each voiceover, but before going through this for an entire animated conversation, I wanted to see if it was possible to automate the process.

    I look forward to hearing your thoughts and suggestions! Thanks for your help!
     
  22. JilJill

    JilJill

    Joined:
    Nov 11, 2009
    Posts:
    128
    hi spookyCat,

    Thanks for your response do i need to pay extra for the new version or can i just go to the asset store and download the latest imports?

    What i have basically done to add each animation to the mega morph animator on start up is this

    Code (csharp):
    1.     for(i=0; i<headMorphAnimations.length; i++)
    2.         {
    3.             //print("morph name "+headMorphAnimations[i].name);
    4.             GameObject.Find("HeadMorpher").GetComponent("MegaMorphAnimator").AddClip(headMorphAnimations[i].name, headMorphAnimations[i].start, headMorphAnimations[i].end, headMorphAnimations[i].loop);
    5.         }
    I just store these in another component as a list of animations and when the program starts up i use the loop to add each of the animations.

    Another question. Is it possible to add the the components mega Modify object and mega morph and import the morph file at start up.

    I have also discovered that when i choose to play my second animation in my mega Morph Animator the patient does not animate. do you no why this is?
     
    Last edited: Aug 8, 2012
  23. JilJill

    JilJill

    Joined:
    Nov 11, 2009
    Posts:
    128
    @SpookyCat
    The solution to this problem was just using a normal number variable like 0 or 1 or 2. it was not a special variable type
     
  24. DaveTHX

    DaveTHX

    Joined:
    Aug 8, 2012
    Posts:
    3
    @SpookyCat

    I have created in 3DS max a spring dynamic object. This is attached to two separate points which are animated, which in turn cause the spring to compress. As it stands, if I export this spring as an FBX, the FBX exporter is unable to translate the spring and just converts it into a static mesh. Is your megafier Max plug-in able to, essentially, "bake" the animation/compression of a spring dynamic object that can then be imported and played within Unity?
     
    Last edited: Aug 8, 2012
  25. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,690
    @jimjim - Currently the morph data is loaded via editor scripts, there is no reason I can see why that code could not be moved or duplicated in the Morph class to allow runtime loading, can I ask why you need runtime loading? I will look into the morph animator issue.

    @DaveTHX - Yes if you add a point cache modifier in max to the object and bake out the compression then you could play back the spring in Unity with the Point Cache modifier, and you would be able to set the spring to any state just by changing the time value. When MegaMesh comes out it will have a full dynamic spring system included as well to make life even easier.
     
  26. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,690
    I have just submitted version 2.09 of MegaFiers to the Asset Store, this updates fixes some issues in the animation systems as well as adding very early WIP versions of the Collision Deform and Tree Bend modifiers I have been playing with, feel free to play with the code of these, while they are in Alpha there will be no docs or support for them as they are subject to change etc and have known limitations and issues but users have asked for the code so here it is.

    Changes in v2.09:

    • Added help page to the MegaAttach system.
    • Increased MegaMorph Animchannels from 20 to 50
    • Fixed issue that would cause MorphAnimator to play on start even when option not checked.
    • Fixed issue that would cause Point Cache Animator to play on start even when option not checked.
    • Point Cache time value works correctly without having animated box checked
    • Alpha version of Mega Collision Deform modifier added (very early WIP)
    • Alpha version of Mega tree Bend modifier added (very early WIP)
    • Added more angle options to the Morph Link system.
    Collision Deform WIP
     
    Last edited: Mar 1, 2013
  27. JilJill

    JilJill

    Joined:
    Nov 11, 2009
    Posts:
    128
    @spookyCat I need to add the animation on run time because are programs run such a way that all objects have scripts attached to them at runtime because if we idn't do this everytime the modeller gave us a new model we would have to attch our scipts to teh object each time
     
  28. DaveTHX

    DaveTHX

    Joined:
    Aug 8, 2012
    Posts:
    3
    @SpookyCat

    Cheers for the info. Do you have an ETA on MegaMesh?
     
  29. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,690
    It is hard to say I seem to be getting less and less time to code these days with the amount of time I am spending on providing support, most of the code is done it is just a case of tidying it all up and doing the docs.
     
  30. szyszkownik

    szyszkownik

    Joined:
    Aug 9, 2012
    Posts:
    8
    Hi

    Is it possible to do that in Unity3D and Mega-fiers.
    I have character model with some states one is slim-normal, slim-muscle, normal, normal muscle, fat and fat-muscle.
    Total polys: 28,880
    Total Vertex: 16,381
    I want to export those states to two different files from 3dmax and add sliders to percentage transform between those states for each body parts.
    Is it possible?
    Maybe some hint's how to do that?
     
  31. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,690
    Yes that is basically a morph, you would just export the main character as an FBX, then export it again as an OBJ file and the other versions as OBJ files and use the morph modifier. Ideally you would set it up as a morph/blendshape in your 3d package that would make life a little easier. A video showing how to use the OBJ approach is below.
     
  32. szyszkownik

    szyszkownik

    Joined:
    Aug 9, 2012
    Posts:
    8
    Thx.

    I'm noob with mega-fiers so plase answer:

    Do i need Unity PRO?
     
  33. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,690
    MegaFiers works with Unity Free.
     
  34. DaveTHX

    DaveTHX

    Joined:
    Aug 8, 2012
    Posts:
    3
    @SpookyCat

    We've purchased Mega-fiers, and it works great with getting spring dynamics into Unity. Another question, we've imported a model into unity containing several animations along with an animated spring dynamic. When we play the animation, the spring plays faster than all of the other animations around it. Is there a way to keep the spring in sync with everything else around it?
     
  35. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,690
    Mmm that's a little odd it should be in sync, could be Max is not set to the same playback rate as Unity or something, but anyway you can change the maxtime value on the point cache to change the length of the animation. Odd though that the playback doesnt sync it always has in my tests.
     
  36. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,690
    Actually there is one reason this can happen, the length of time for the animation is taken from 0 to the last key found in the animation of the object so if you dont have a key on the last frame then the animation will be shorter so check there is a key there and if not add one and all should be OK.
     
  37. MikeUpchat

    MikeUpchat

    Joined:
    Sep 24, 2010
    Posts:
    1,055
    Arr that fixes a little timing issue I had with an animation, thanks for that little tip.
     
  38. KeithT

    KeithT

    Joined:
    Nov 23, 2011
    Posts:
    83
    Noob to megafiers and trying to work out where everything is.

    Is there a max plug for it available somewhere ? It seems to be referred to in this thread, but does not seem to come with it ? Think it simplifies morph exporting......

    Is there documentation anywhere, beyond the YouTube vids and the stuff off the mega-fiers link on http://www.west-racing.com/mf/ ?

    Thanks in advance anyone.
     
  39. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,690
    Hi KeithT
    If you email the invoice number for the purchase and the version of max you use and whether it is the 64 or 32 bit version I will get the exporter to you, it does say on the morph page in the exporters section :) http://www.west-racing.com/mf/?page_id=257

    There is full documentation on the website at http://www.west-racing.com/mf or you can right click the inspector bar for any MegaFiers component and click 'Help' to be taken directly to the page for that component with a full breakdown on every param etc.
    Chris
     
  40. Venged

    Venged

    Joined:
    Oct 24, 2010
    Posts:
    500
    Do I have to have morphs already on my character to use this? I was hoping to use this to help me update a character/selection and customization intro to my game such that a player can change the appearance of a character and use it in the game going forward. I would use EasySave or some thing similar to save and load the resulting character.

    Is this possible with this product?

    Thanks
     
  41. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,690
    Not sure what you mean by 'have to have morphs already on my character to use this?' The process is you have your skinned or normal mesh in Unity and you then apply morphs to it either by loading a mor file from Max, Maya or Blender via the exporters or by loading OBJ files. So for a character customization you would have your base character and the various extreme states of morphing, say fat, thin, tall, short etc and you apply those to the system. You then just have to change the percent values for each morph channel to get your end result, you can then remove all the components and be left with the morphed mesh as a normal mesh in Unity which you can save out with EasySave etc.
     
  42. Venged

    Venged

    Joined:
    Oct 24, 2010
    Posts:
    500
    Thanks! What I was trying to explain is, I don't have morphs from 3ds Max or Blender. All I have is my rigged character. If i'm understanding you, I could accomplish my goal by loading a obj file of may character into unity and use it together with my rigged mesh to make permanent (Customized Player) morphs via Megd-fiers?

    Thanks
     
  43. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,690
    Yeah if you have an OBJ file of the character in another state then you can indeed load that into the morph system, you will also need the original mesh as an OBJ file to setup the mapping of OBJ vertices to Unity vertices, there is a video that shows it below.
     
  44. RandAlThor

    RandAlThor

    Joined:
    Dec 2, 2007
    Posts:
    1,291
    Hi SpookyCat,

    i am interested in this asset but use Lightwave as my modeling package (somewhere in the thread i saw one an Lightwave plugin or such thing, caan i still use this with mega fiers?).
    Can i use all the features of mega fiers with unity and lightwave?

    Also i am interested on using this for ios and if you see some problems here i.e. that some features are not working on ios or maybe they are to slow.
     
  45. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,690
    There is indeed a third party system for Lightwave which can be found at http://35.vincent.newtek.com/showthread.php?t=120941 Or you can export your object from Lightwave via a Collada dae file and import it into Max, Maya or Blender and then use one of the exporters to get the data into Unity more easily, you will also get the animation of the morphs/blendshapes that way as well. This also applies to Cinema4D or other packages, so if you dont have Max or Maya then the best thing is get a copy of Blender and the MegaFiers exporter for that (works on Mac and PC as it is Python based) then export the morphed object to Collada and use Blender and the exporter to get it into Unity.

    We have a lot of ios and android users of the system and all parts of the system work just fine on those devices, the normal caveats apply frame rate will depend on vertex counts, number of modifiers on an object and how many objects in the scene. Most mobile users adopt systems to update modified objects on alternate frames or based on distance from the camera etc. If you are just using morphs that part of the system is very fast as it will only morph vertices that actually change. The biggest overhead is the internal Unity updating of vertex buffers etc. At anytime you can turn of the system and be left with the deformed mesh with no overhead, and for the very latest mobile devices you can turn on multi core support.
     
  46. RandAlThor

    RandAlThor

    Joined:
    Dec 2, 2007
    Posts:
    1,291
    Ok,

    i have Blender installed too. Is the Belneder MegaFiers exporter included in the asset?
    If not it would be nice from you to give me the link. I download the Lightwave exporter too now and will buy MegaFiers :)
     
  47. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,690
    If you decide to purchase the system you just need to email me or submit a support ticket through the website with the invoice number and the version of the exporter required.
    Chris
     
  48. Venged

    Venged

    Joined:
    Oct 24, 2010
    Posts:
    500
    Thanks!! I am leaning towards getting this.
     
  49. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,690
    $msrope-1024x578.jpg
    I have just submitted v2.10 to the asset store, this sees some optimizations to the path deform modifiers as well as adding Tube and Box options to the spline meshing, this allows you to turn your splines in to mesh lines with options to cap the ends, change the radius of the rube or the dimensions of the box as well as allowing for multi-stranded meshes to be created with twisting options to form rope type meshes like in the picture above.

    Changes to v2.10:

    • Optimized the path deform modifiers.
    • Added Box type to meshing options for splines.
    • Added Tube type to meshing options for splines.
     
  50. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,690
    Another video guide to MegaFiers has been uploaded, this one shows the process for getting morphed characters from Daz3D into Unity via Max, Maya or Blender. This process will also work for other 3d packages that currently do not have a MegaFiers exporter available such as Cinema 4D, Lightwave, XSI etc