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. MikeUpchat

    MikeUpchat

    Joined:
    Sep 24, 2010
    Posts:
    1,056
    Arr that's handy I was about to use the FFD system for some crash damage on some vehicles and was wondering the best way to go about changing the lattice points.
     
  2. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,748
    I hope to do some more coding tutorials soon, anything you would like to see?
     
  3. elbows

    elbows

    Joined:
    Nov 28, 2009
    Posts:
    2,502
    Any tips on how the following might be achieved?

    Im using the displace modifier on a plane. But I really need to pin down the outer edges of the plane so that they are not displaced at all.
     
    Last edited: Jul 3, 2012
  4. ErikNech

    ErikNech

    Joined:
    Jul 2, 2012
    Posts:
    1
    Could you explain in more details how to mix morph animations?

    I have created 2 face morph animations, and I can play each one of them separately, but when I play one animation the other animation stops :(

    I am using "morph animate", as in your tutorial, and I play it using

    animation.CrossFade("blink");
    and
    animation.CrossFade("frown");

    Is it even possible to play "blink" animation every 5 seconds and at the same time "frown" animation every 10 seconds?

    Thank you!
     
  5. ecurtz

    ecurtz

    Joined:
    May 13, 2009
    Posts:
    640
    Fewer tutorials, more MegaMesh! ;)

    (Weird, the preview smilies no longer match the menu, I better go submit a high priority bug report.)
     
  6. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,748
    If though you are using the Unity Animation system and the Morph Animate component to control channels then you should be able to mix animations and cross fade them, maybe it is a limitation of Unity when animating params, I didn't actually do that tutorial but I will investigate. But there should be no reason why it shouldn't work. As for doing blinks etc that would be just more Unity Animations looping to control the eye morphs.

    On another note with this thread getting very long and hard to track things down in if anyone has support questions or bug reports, or feature reports it would help me keep track of it all if they could be submitted through the support ticket system on the web site at http://www.west-racing.com/mf/?page_id=385

    Chris
     
    Last edited: Jul 3, 2012
  7. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,748
    Sorry Elbows didnt see your post. You can always use the Col Vertex selection modifier to define which vertices to use, so if you paint the vertices you want to displace say red in your 3d package then adding Vert Col Select modifier and selecting red channel will limit the effect, otherwise I could look at adding a bounding box system to the displace modifier to control the area of effect.
     
  8. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,748
    I have added a new modifier 'Displace Limits' which allows you to define a bounding box to limit the area of effect. If you would like the new modifier before the next update you can submit a support ticket at http://www.west-racing.com/mf/?page_id=385 to request it.
     
  9. elbows

    elbows

    Joined:
    Nov 28, 2009
    Posts:
    2,502
    You superstar, many thanks!
     
  10. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,748
    @Elbows - Is this the kind of thing you are needing?
     
    Last edited: Mar 1, 2013
  11. elbows

    elbows

    Joined:
    Nov 28, 2009
    Posts:
    2,502
    Already been talking to you about this via your site but for the benefit of those here, yes thats it, and it has met my needs perfectly :)
     
  12. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,748
    Finally got around to updating the Dynamic Ripple modifier and doing a little tutorial video on its use. The new version will be in the asset store later today hopefully.
     
    Last edited: Mar 1, 2013
  13. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,748
  14. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,748
    Version 2.04 submitted to the asset store, changes in this update are:

    • Added new modifier, Displace Limits, works the same as displace but has a bounding box to limit the area of effect.
    • Updated Dynamic Ripple Modifier to stop errors
    • Dynamic ripple automatically updates its physics system on changing params
    • Added support for box collider instead of just mesh collider for ripple interaction.
    • Added option for different handle types on Shapes as some people reported big slowdowns in 3.5.3
    • Fixed error when trying to do link animation on morph and point cache animators when no animation is present on the object.
     
  15. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,748
    Another tutorial video added, this time it shows the Morph Link system which allows you to automatically drive a morph from a game objects transform, so you can link up a bicep bulge to the arms forearm bone rotation and other such effects. Also the Curve Sculpt Layered help page has been added to the web site at http://www.west-racing.com/mf/?page_id=2411
     
    Last edited: Mar 1, 2013
  16. paraself

    paraself

    Joined:
    Jun 30, 2012
    Posts:
    139
    Hiiii. First thanks for making this awesome tool! My question is, is it possible to modify the spline for the world path deformer at runtime. I tried to find some api or script reference for Mega-Shape, but couldn't find it. If there is some api or script ref, could you kindly paste a link;) Thank you very much.
     
  17. JiBi

    JiBi

    Joined:
    Aug 20, 2011
    Posts:
    17
    Hello,

    First of all thanks for your last reply SpookyCat!

    I have another question about the example video about the colliders.

    When I activate recalcCollider on my mesh it completely freeze my game (I tried to update the meshcollider not every frame but the frame during which I recalculate the collider lasts 2 seconds!).

    On the other side in your example video you have a mesh that seems to have quite a lo of faces also and you are able to update the collider in real-time. What's the trick here? Do you have a super powerful computer or is there a setting I missed?


    Thanks a lot.
     
  18. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,748
    Hi JiBi
    The collider side of the system is purely down to Unity all the system does is tell Unity about the new mesh. Unity must be doing some kind of partitioning of the mesh data to form its collision data so it is not a trivial task for it when it gets a new mesh. It would be nice if the process could be split over a number of frames but thats not possible. Do you have the Convex option turned on for your mesh collider as that will really slow it down as it has to recompute the convex hull as well.
    My computer is nothing special and is over 5 years old so not sure why it is taking two seconds for Unity to update the collider, have you tried it something like a sphere with a lot of polys to see if the timing is the same, it could be the Unity code has an issue with your mesh maybe a degenerate triangle or unused vertices or something.
    Chris
     
  19. paraself

    paraself

    Joined:
    Jun 30, 2012
    Posts:
    139
    Hiii SpookyCat

    Could you reply my question. It's just above. Thanks in advance.
     
  20. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,748
    @paraself - I will be doing some more docs on the shape system and its methods, but if you want to play around with the shapes then you just need to change the Vector3 p, invec, outvec in the MegaKnots List in the MegaSpline List that is in the MegaShapes class. So
    Code (csharp):
    1. shape.splines[0].knots[0].p.y += 1.0f;
    2. shape.splines[0].knots[0].invec.y += 1.0f;
    3. shape.splines[0].knots[0].outvec.y += 1.0f;
    will move the first knot of the first spline up one unit. There are methods such as Vector3 GetKnotPos(int curve, int knot) and SetKnotPos(int curve, int knot, Vector3 p) etc to help you and I will be adding docs for these as soon as I get a clear window. Otherwise a good place to look for example code is in the editor scripts such as MegaShapesEditor.cs for how to move points about or add or delete points. And for creating a shape from scratch look in MegaShapeCircle.cs at the MakeShape method.

    Also for quicker support there is a support ticket system on the web site which is the best way to get in touch for issues, I am trying to avoid doing support through the forums here as the thread is so long it is hard for people to follow and using the support ticket I have a handy record of who I haven't dealt with and which issues are still open.
    Chris
     
  21. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,748
    Version 2.05 should be submitted to the asset store tonight. The major change to this is the MegaAttach system now works with skinned meshes making it very useful for avatar systems and character customizing where items such as weapons, clothing, backpacks will all reposition themselves automatically if the attach system is used. A video is below.

    Changes for v2.05:

    • Mega Attach now works with skinned meshes
    • Added a gizmo to Dynamic Ripple to show the physics grid
    • Changed Path to System.IO.Path to stop a clash with TDK that has an internal class called 'Path' The author is fixing his code.
     
  22. Toad

    Toad

    Joined:
    Aug 14, 2010
    Posts:
    298
    Is it possible to "morph" from one mesh to another, in real time, to perform a "transformation"? (e.g. a Jekyll to Hyde sort of thing)
     
  23. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,748
    Yes the morph system in MegaFiers is virtually the same as the one in Max and Maya, so you can make use of the power of multiple progressive targets etc, the only extra you would have to consider is the swapping of materials at some point during the morph, or use a material that cross fades between materials then you can easily use the morph amount to drive the material cross fade as well. But the morph system will allow you to do that yes. If I had the artwork I would do an example to show that kind of system and would code up the material fade as well but I have no access to such artwork currently :)
     
  24. Toad

    Toad

    Joined:
    Aug 14, 2010
    Posts:
    298
    Ah yes, Morph. Thanks. I'll have a go with that over the weekend. And the Morph Animate/Animator Utils too.
     
  25. BryceK

    BryceK

    Joined:
    Jun 15, 2012
    Posts:
    24
    Hi Chris,

    I downloaded the new version on Mega-Fiers and tried the dynamic ripple effect. It works fine now, at least with the mouse over the water. When I try to use a floating object and do it step by step as in your Tutorial with the same parameters as in the tutorial and also tried it with my own adjustments to the parameters but the sphere is floating but the water doesn't react to it. So I don't get ripples. and yes I use the right bouyancyNEW script hehe. Could you tell me how many verts you plane has? and what maybe could be the problem according to you? Because I saw at comments on the tutorial on youtube that more people have this problem.
     
  26. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,748
    @BryceK - The mesh in the ripple example I believe is something like 132 by 160. If you aren't getting ripples then you may need to adjust the Ripple Velocity in the Bouyancy script.

    Alo I have added first draft of the MegaShapes API documentation, I will be adding some code examples soon to it as well.
    http://www.west-racing.com/mf/?page_id=2463
     
  27. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,748
    I have just submitted version 2.06 of the system to the Asset Store. This sees some additions to the spline system to allow for easier creation of splines from scripts and an Auto Smooth feature for splines so you can easily now just provide an array of positions and tell the system to create a spline from it. More information can be found on the MegaShapes API page Also all the helper shapes have their own help pages on the site now.

    Also the Warps in MegaFiers all now have custom inspectors and all the help pages are now done explaining all the params for each warp.
    Changes for version 2.06:

    • Added custom inspector for Bend Warp
    • Added custom inspector for Noise Warp
    • Added custom inspector for Ripple Warp
    • Added custom inspector for Skew Warp
    • Added custom inspector for Stretch Warp
    • Added custom inspector for Taper Warp
    • Added custom inspector for Twist Warp
    • Added custom inspector for Wave Warp
    • Adding warps from the MegaFiers window now works
    • Added missing docs for Warps to website
    • All Warp Help now go to their help pages
    • Ripple Warp gizmo not matching warp fixed.
    • Added autosmooth option to shapes.
    • Added BuildSpline method.
    • Added various methods to aid in spline building via script.
     
    Last edited: Jul 17, 2012
  28. CaptainExtra300

    CaptainExtra300

    Joined:
    Jul 14, 2012
    Posts:
    130
    this looks like a nice addon for unity.
    people usually look for documentation before spending any money on a product, so i did my research and found lots of video tutorials on youtube,

    but let me tell ya, mute video tutorials really suck, sorry but i must say it, at least is a turn off for me, everytime i see a mute video i just move on, not worth my time.

    also looked at your site and see not much documentation, at least from a glance, unless i am missing that part on your site.



    other than that your product seems to be a nice addon.

    reason why i will not buy your product:
    as stated above, no real documentation and or tutorials, at least for my taste.or maybe i am missing the real tutorials and or documentation links.
    sorry.


    BTW:
    i see in the first pages of this thread that you need a 3ds max exporter?? is that a must so your product can work??
    in other words, it has to be exported from 3ds max with your own exporter so the mesh can be modified with your addon in unity??


    how about non 3ds max users???
    am confused.

    thank again.

    please dont take it the wrong way but that is just my personal feedback, hopefully ill change my mind later down the road and maybe ill buy it if tutorials and or documentation get better
    .

    but keep up the good work, lots of unity users seem to like your product.

    cheers
     
    Last edited: Jul 17, 2012
  29. BryceK

    BryceK

    Joined:
    Jun 15, 2012
    Posts:
    24
    Hey chris,

    the only Velocity i could find in the bouyancyNEW is this line: Vector3 velocity = rigidbody.GetPointVelocity(wp);

    now im not a programmer so what should i make of it to increase it?

    hope to hear it soon!
     
  30. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,748
    @CaptainExtra300 - There are over 120 pages of docs on the website for every part of the system and 100 videos showing features, guides and tutorials. The videos have no sound as that makes it easier for non english speakers to translate and see what is going on and most of the systems are so simple to use it really doesn't need a load of voice over to show what is going on. And as I said every component of the system has a page on the site which are linked to directly from inside Unity when you are using the system for quick and easy checking of every param. So just to check is that what you class as poor documentation or did you just not see it?

    No exporter is needed for the system but we have built exporters for Max, Maya, Blender and Lightwave to allow users of those packages to get their morph/blendshape data into Unity in a quick and easy way, if you dont want to use the exporters all the same functionality is available it is just a slightly longer process to get the data in. The exporters are purely to aid the morph data transfer every other part of the system is totally self contained inside Unity and needs no other programs.
     
  31. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,748
    @BryceK - try reducing the Ripple Vel value, it takes some messing with the values to get the correct look and feel as it depends on te size and mass of the objects and how many voxel slices etc you set things to.
     
  32. CaptainExtra300

    CaptainExtra300

    Joined:
    Jul 14, 2012
    Posts:
    130
    thanks for clarification,

    no voice on video = turnoff for me, but that is just my case, so dont mind me.

    the reason i mentioned that is because in your site i did not see any 120 pages docs , i just saw this:
    http://www.west-racing.com/mf/?page_id=2

    i can live with just docs, but since i dont have the application installed in unity i did not know about the 120 pages linked inside unity.

    so is there a trial then?? that i can install and test and see the documentation?

    thanks again for the prompt response
    cheers
     
  33. ippdev

    ippdev

    Joined:
    Feb 7, 2010
    Posts:
    3,850
    Is it possible to get a zipped download of the docs for local use and reading when offline or using Unity when offline?
     
  34. zipper

    zipper

    Joined:
    Jun 12, 2011
    Posts:
    89
    @CaptainExtra300

    Having used Mega-Fiers since it first came out - i can tell you without reservation it is the best plugin ever.

    Chris is super awesome, he includes all the source code in his plugins, he is very responsive, and he continues to update his plugins for YEARS!

    You really can't go wrong. I honestly don't know why Unity hasn't acquired him yet.

    That said, i wouldn't mind sound in those videos either :)
     
  35. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,748
    @CaptainExtra300 - If you put the mouse over the side bar menus you will see a bunch of other menus open and as you move the mouse over each item in the menu you will either see other sub menus open or you can click the item to view it, so there is no need to own the system to read through all the docs. There is unfortunately no trial for the system due to it being source code based there is no way to limit such a trial, hence the plethora of videos showing the features in action.

    @ippdev - I will look into a downloadable version of the docs, not sure how easy that will be but it is a good idea.

    @zipper - Thank you :)
     
  36. ippdev

    ippdev

    Joined:
    Feb 7, 2010
    Posts:
    3,850
    Just round them all up and zip them with an index page. I bought the MegaShapes plugin last night. I was having so much fun I didn't get to sleep till 5am. It will definitely cut dev time for making tracks and causeways to almost nil.
     
  37. ippdev

    ippdev

    Joined:
    Feb 7, 2010
    Posts:
    3,850
    What he said above.
     
  38. psdev

    psdev

    Joined:
    Feb 11, 2011
    Posts:
    53
    Anyone: Dumb question and I've quickly searched and found nothing. I haven't used (my bought copy of) the awesome MegaFiers in about 6 months and I've just imported it from the Asset Store into a new project - version 2.06 which the Asset Store says is the latest, and I am getting this error:

    Assets/Mega-Fiers/Editor/MegaFiers/MegaModifyObjectEditor.cs(74,42): error CS0103: The name `MegaCopyObject' does not exist in the current context


    without any code at all, just the import itself causes this. I am running Unity 3.5.3f3

    Any ideas? Also, none of the Megafiers menus or editors that I recall are showing up in Unity??

    thanks for any help :)
     
  39. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,748
    @psdev - Sounds like Unity didn't install all the files, the MegaCopyObject,cs file is in the Mega-Fiers\Scripts\MegaFiers\Utils folder, it is certainly in the package looking at the Asset Store file list. Try installing it again.
     
  40. JiBi

    JiBi

    Joined:
    Aug 20, 2011
    Posts:
    17
    Hello,

    In some previous posts I have seen there is a trouble with prefab creation and Mega-Fiers.
    On my side when I try to create a prefab with some modifiers already attached the Mesh becomes "None".

    Is there a workaround for this issue?

    It is especially a prefab since I want to use MegaAttach on this object.

    Thanks.
     
    Last edited: Jul 19, 2012
  41. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,748
    @JiBi - Funny you should ask that, I have just been adding the first test of a work around Create Prefab system. I will add it to the update I am submitting today, you will find the option in the Game Object menu, 'Create Mega Prefab' which will attempt to create a new prefab of the selected object. You will need a folder called 'temporary' in your Project root where the prefabs will be created. I will add a path option eventually. This feature is in beta so needs further testing but on my test objects it was working fine. Update will be going up soon.

    Tested some more and it might not be ready for Beta yet :( For some reason Unity slows to a crawl after the prefab is added to a scene so trying to figure out why.

    Are you looking to just use the prefabs as just meshes or do you need the modifiers working, as you can use the Deep Copy Mesh to create a new version of the object as a mesh. But for some reason Unity is not liking me deforming a mesh from a prefab.
     
    Last edited: Jul 19, 2012
  42. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,748
    Version 2.07 submitted, fixes issues with FFD and curve deform not working in multithreaded mode and a texture issue in the Mega Book system.

    Changes in v2.07:

    • FFD modifiers work correctly with multi threading again.
    • Multithreaded Curve Deform support added.
    • MegaBook script updated to fix texture flips due to float precision on larger books.
     
  43. JiBi

    JiBi

    Joined:
    Aug 20, 2011
    Posts:
    17
    Hi,

    Thanks for the quick reply again.

    The Prefab would be a mesh + some MegaAttach scripts.

    The thing is I cannot attach anything to the mesh if it does not have some modifiers already, which is a small problem for what I want to do since I intend to create all the modifiers at runtime.

    Another way to bypass my problem would be to instantiate the MegaAttach Objects at runtime too. Would that be possible?

    Thanks.
     
  44. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,748
    I will change the MegaAttach so it can work of any mesh object, then you will be able to just use the Mesh Copy etc.
     
  45. JiBi

    JiBi

    Joined:
    Aug 20, 2011
    Posts:
    17
    Ok, great!

    I met another issue: I have some heavy bugs - vertices go all over the place - when enabling Threading with a CurveDeform. It works fine with a Bend though.

    Thanks.

    P.S.: Is there another way to do bug reports besides this forum post?
     
  46. SwiftIllusion

    SwiftIllusion

    Joined:
    Jan 22, 2012
    Posts:
    66
    I'm extremely interested in this however I'd like to know if possible,
    do you at all know whether it would cost more resources to have additional bones, or to have morph points on a character if I were
    looking at the game being on a mobile device.
    Also you mentioned the 3ds max exporter, is it still compatible, and would it export any animations on the morphs, or would they
    need to be animated inside Unity?
    I'd greatly appreciate some answers for these, thank you very much for your time.
     
  47. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,748
    @JiBi - The latest update has added support for multithreaded Curve Deform so try an update. And yes the preferred way to submit an issue or bug is through the support ticket system on the web site at http://www.west-racing.com/mf/?page_id=385

    @SwiftIllusion - If you are on mobile you may have to use morphing if you want to do anything above normal character animation as you are limited by how many bones can influence a vertex, but also there is an overhead on updating a mesh and it seems Unity has a little issue on some devices in the mesh update taking longer than it should so it is hard to say if morphs will be any faster than extra bones but as I said you will always have more control over the end result with morphs. There is an exporter for morph data for Max, Maya and blender and they all export the morph channel animations.
     
  48. JiBi

    JiBi

    Joined:
    Aug 20, 2011
    Posts:
    17
    Hi,

    To activate the MultiThreading in game I just have to add
    Code (csharp):
    1. MegaModifiers.ThreadingOn = true;  
    right?

    Because when I do this my framerate actually drops a bit.

    Thanks.
     
  49. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,748
    The performance gain you get from turning on threading will depend on your scene and especially on your vertex counts on the objects you are modifying. If you only have a couple of objects with low vertex counts then the overhead in processing threads etc will offset the performance gain, you need to have big enough jobs that can be split over the cores. And it will also depend on how many cores you have in your system. If you try the demo scene in the package you will see a large drop, on my system the frame time goes from 33ms to 15ms with threading turned on for example.
     
  50. SwiftIllusion

    SwiftIllusion

    Joined:
    Jan 22, 2012
    Posts:
    66
    Thank you very much for such an informative response :).
    Well it'll remove a lot of bones so hopefully it should improve performance, and yeah morphing definitely allows more control in it's shape.

    Just found the morph tutorial in your youtube channel (thanks so much for all those videos, fantastic stuff), however it looks like the animation
    is linked to the morph script itself. To manually trigger the animation, would I change that animation tick to on/off during gameplay, and when
    I trigger it to turn on, would it start the animation from the first frame at that time? (so it wouldn't start halfway through it)?