Search Unity

[Best Development Tool Finalist] MegaFiers - 2 40x Performance & Loads of New Features

Discussion in 'Assets and Asset Store' started by SpookyCat, Feb 23, 2021.

  1. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,762



    Today saw the release of our All New MegaFiers - 2 Mesh Deformation System. After more than 10 years and over 300 Updates to our original MegaFiers we have finally completed a full rewrite of the asset and made some massive improvements making the system much easier and more fun to use and bringing amazing performance improvements as well.


    Firstly we rewrote all the Modifiers and some other core systems to make use of Unity Jobs and the Burst Compiler, this allows MegaFiers - 2 to run at 40x the Speed, this not only means you can have more deforming objects in your games than ever before but also makes the Editor a lot faster. The all new Rocket Demo scene included in MegaFiers - 2 has 17 Rockets deforming in different ways and when run using the Original MegaFiers it used 96ms per frame, the same scene in MegaFiers - 2 uses only 2.4ms. As well as that Speed Increase we have added systems that Auto Disable any mesh updates or other heavy CPU actions if they are not required again adding even more performance.


    The Workflow with MegaFiers - 2 has also seen a major overhaul, it is now much easier to Add and Remove deformations to your Objects, the Undo system is now fully functional, and deformed objects can be copied just like any other GameObject. And now Deformed Objects just work with the Prefab system so no more messing with Menu options to copy or make prefabs, just drag an drop. MegaFiers - 2 also works properly now with the Unity Animation window making it very easy to create fun deformations for any of the Modifiers.

    The full rewrite has also allowed us to strip out years of custom code and work arounds required each time Unity changed the way things worked or depreciated features, so the code is no longer bogged down by all that baggage.


    Another major new feature is MegaFiers - 2 can now deform Sprites as well as 3D Meshes, so you can bring all sorts of fun animations and effects to your 2D Game projects as well, and along side that we now have Complete Support for Text Mesh pro objects both Meshes and UI versions so you can Twist, Stretch, Bend any of your Game text be it in your Game World or on your UI.


    A feature that has long been needed as also been added with MegaFiers - 2 now able to deform Groups of objects as if they are a single object, this gives you a lot more options in how you can apply MegaFiers - 2 to your game. Along with Groups we also made it simple to have a Collider Mesh deform along with your objects so you can now have a simple Mesh Collider object deform and be updated with much less over head than having to use complex meshes for colliders.

    Also added its ability to drive the deformation of a Complex mesh from a simple version which is great if you have a complex stack of deformations and want to deform an object with a lot of small detail, the simple mesh is deformed and the Complex mesh is only updated via one simple deformer greatly reducing the CPU usage and along with our all new Jobs and Burst Normal calculator bringsd even more performance gains to MegaFiers - 2.

    So that is some of the new features we have added to MegaFiers - 2, please check out our videos for more info, and check back as we continue to improve and add to this new version.

    New Features
    • Full rewrite of all core systems
    • Rewrite for Unity 2019.1 and newer
    • All modifiers converted to use Unity Burst and jobs.
    • New normal calculation system using Burst that is as fast as the Unity calc normals but preserves groups etc
    • Rewritten to use Burst and Jobs for between 5 to 50 times performance improvement
    • New auto disable system which will detect when a mesh does not need updating
    • Virtually no slow down when editing scenes with lots of modifiers
    • Seemless integration into Unity prefab system
    • Copying of objects now just works
    • Undo system fully functional
    • Animation window properly detects changes for easier animation of deformations
    • All workarounds for previous versions of Unity removed, streamlining the systems and improving performance
    • Wrap system updated and working with Burst for 5 times performance improvement
    • Path deform modifiers now uses Burst for spline interpolations gaining 20 times performance boost
    • Attractor modifier also makes use of Burst for finding nearest point on splines for 10 times boost in perfomance
    • Sprite deformation system, now you can stretch, squash, bend your Unity sprites.
    • 2D FFD/Lattice modifiers specially for working with sprite
    • Full Text Mesh Pro support, both mesh and UI versions, updates with changes etc. Deform your UI text or 3d text.
    • Group deform support, deform multiple objects as one.
    • Support for deforming ProBuilder objects.
    • Improved Scroll making system, automatic setup.
    • Add your own modifiers.
    • Use low poly meshes to drive deformation of high poly ones
    • Works on all Graphic Pipelines
    • Works on Unity Platforms including VR and AR
    • Reorder modifier stack by dragging components in inspector
    • Proxy Mesh Collider option for faster collider updates
    • Improved worflow with simple dropdown box for adding modifiers
    • Quick edit area showing main params for all attached modifiers and quick disable/enable
    • Limit Deformations to parts of Meshes using Vertex Color weighting

    Other Features
    • Conform meshes to terrains or ground objects
    • Procedural box mesh
    • MegaShapes Lite Bezier spline system
    • Import animated splines directly from 3ds max
    • Make animated Splines inside Unity with our Spline Keyframe system
    • Turn splines into line meshes with spline to line/tubes or fill to mesh options
    • Spline exporters available for 3ds Max, Maya and Blender.
    • Kml, SVG, OSM spline import support
    • Wrap Mesh, wrap a mesh to a deforming mesh, great for clothing or facial hair etc
    • Animated Book
    • Attach objects to deforming mesh surfaces
    • Paper Scroll System
    • Bezier Patch image deform
    • Spline Path Follow System, objects, Rigid Bodies, Character Controller
    • Draw Spline at runtime system
    • Animated Hoses, connect two objects with deforming animating hose
    • Tracked Vehicle system
    • Train Follow system
    • Train Tracks system
    • Camera Orbit script

    Included 50+ Modifiers
    • Bezier Attractor
    • Bend
    • Bubble
    • Bulge
    • Collision Deform
    • Conform
    • Conform Multi
    • Crumple
    • Curve Deform
    • Curve Sculpt
    • Curve Scult Layered
    • Cylindrify
    • Deformable
    • Displace
    • Displace Limits
    • Displace Web Cam
    • Displace Render target
    • Dynamic Ripple
    • FFD 2x2x2
    • FFD 3x3x3
    • FFD 4x4x4
    • 2D versions of FFD for Sprites
    • Globe
    • Hit Deform
    • Hump
    • Melt
    • Noise
    • Page Flip
    • Paint
    • Path Deform
    • Pivot Adjust
    • Point Cache
    • Push
    • Radial Skew
    • Ripple
    • Rolled
    • Rope Deform
    • Rubber
    • Scale
    • Simple Mod
    • Sinus Curve
    • Skew
    • Spherify
    • Squeeze
    • Stretch
    • Taper
    • Tree Bend
    • Twist
    • Vertex Anim
    • Vert Noise
    • Wave
    • Waving
    • World Path Deform

    Space Warps
    • Bend
    • Bubble
    • Cylindrify
    • FFD 2x2x2
    • FFD 3x3x3
    • FFD 4x4x4
    • Globe
    • Hump
    • Melt
    • Noise
    • Ripple
    • Sinus Curve
    • Skew
    • Spherify
    • Squeeze
    • Stretch
    • Taper
    • Twist
    • Wave
    • Waving
    • ZStretch Noise
     
    Last edited: Jun 29, 2021
  2. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,762
    As the Submission process took a week longer than expected due to Unity losing the asset I have already submitted an update to the store with some improvements, a few fixes and some new features. And a couple more videos of some features.










    Changes in v1.01
    • Fixed Issue in Group system for some modifiers if objects were different sizes
    • Fixed Exception if Attach systems Modify object is deleted.
    • Fixed Group system adding Particle system objects as meshes when using Add All Child Meshes button
    • Added Gantry Object to Asset
    • Added Can now Disable an Object in the group from being deformed.
    • Added Can now Toggle Group deformation
    • Fixed Issue with Gizmo size being wrong in a group.
    • Fixed Issue stopping Undos updating meshes on prefab objects
    • Fixed Modifiers not working on Text Mesh Pro UI objects until Text Changed
    • Fixed Wrong calculation in the Burst/Job AnimationCurve evaluator
    • Improved Auto Disable system
    • Fixed Out of range evaluations on Burst Animation curve
    • Added Option to use vertex Colors to control deformation amount
    • Added a Weight value so you blend between no deformation and full deformation
    • Added option to disable Jobs
    • Wrap system now has option to get bounds info from target mesh resulting in a nice speed up
    • Wrap system now has local space option which allows wrapped object to be moved relative to the target
    • Change Wrap so it you can now update a complex mesh with a complex stack of modifiers applied to a simpler version of the mesh
    • Wrap system can now auto disable if target mesh is not changing
    • Big speed up in the Wrapping setup code
    • Added Attach System for Wrap objects
    • Attach system streamlined making it easier to use
    • Option added to Modify Object to Automatically attach any children to the deforming mesh
    • Option added to the Wrap system to Automatically attach any children to the wrapped mesh
     
    Last edited: Apr 16, 2022
    led_bet, Recon03 and Lars-Steenhoff like this.
  3. firstuser

    firstuser

    Joined:
    May 5, 2016
    Posts:
    147
    This looks amazing!!! Wow.

    I had so much trouble with undo in V1 I had to go with another solution (sad because megafiers still had richer features, on paper) but it seems like that's solved here + seriously huge improvements so I'm beyond excited to be able to use megafiers again. Thank you for this update!
     
  4. firstuser

    firstuser

    Joined:
    May 5, 2016
    Posts:
    147
    Also, do this mean anything for MegaShapes? If i recall correctly there were somewhat closely tied before?
     
  5. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,762
    We will be doing new versions of most of our Assets to make use of Jobs and Burst where we can. I have done a lot changes to MegaShapes over the years which have not appeared in the Store version as I use it in dozens of systems in our game project and that has meant a lot of things have changed and I will bring those changes to a new version of MegaShapes as soon as I can, I have things like Spline Interpolation done with Jobs and Burst which makes the Path Deform modifier up to 50 times faster than it was.
     
    Klausology and firstuser like this.
  6. MikeUpchat

    MikeUpchat

    Joined:
    Sep 24, 2010
    Posts:
    1,056
    Oh brilliant, been waiting for this day for ages, so many new things to look at and I can't wait to try it. Has the Bezier Attractor Modifier also benefitted from the speedup, hoping so as that is a major part of one of my projects and it was pretty heavy on CPU? Going to work through the videos to see what's new.
     
  7. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,762
    Yesh the Bezier Attractor modifier gets a very large boost in performance as the Spline functions have been moved over to Burst and Jobs as well so getting up to 50 times less CPU in that modiifer.
     
  8. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,762
    The Wrap system has been updated and improved so can now also be used to drive complex deformations on high detailed models faster by using a low poly model and transferring the changes to the high res model.
     
  9. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,762
    Another quick update to further improve the Wrap system and fix a couple of small issues.

    Changes in v1.02
    • Noise modifier optimized so only evaluates an axis if Strength value is non zero
    • Fixed Shrink and Gap values changing not triggering an update to Wrapped mesh
    • Wrap now works correctly with Skinned Meshes and Blendshapes
    • Fixed an issue with Wrap not working with Skinned meshes that had just blendshapes and no bones
    • Added system to Wrap to keep track of Blendshape weight changes so Wrap will only update when it needs to
     
  10. netpost

    netpost

    Joined:
    May 6, 2018
    Posts:
    388
    @SpookyCat

    Congratulations! Nice improvements.
    I bought version Mega-Fiers 3 months ago. Is this a free update? Thanks.
     
  11. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,762
    Afriad not, this has taken many months of time to get working, and after 10 years of 300+ free updates and new features I can't afford to keep going without charging for the new version, there is an upgrade path though so its not full price.
     
  12. netpost

    netpost

    Joined:
    May 6, 2018
    Posts:
    388
    @SpookyCat

    I definitely understand your point of view. Some people bought Mega-Fiers a long time ago and you can't work for free but $100 to upgrade something I bought 3 months ago is kind of expensive.

    I also bought Megawire, Mega Scatter and Mega-Grab two months ago. Does that means I will have to pay again for all of them too? :confused:
     
    Alic likes this.
  13. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,762
    I am sorry about that :( You would think Unity would add a sliding scale of prices for updates so newer customers would pay less and after x years then its full price or something but they don't offer that at this time.

    The next assets that will be getting new versions are likely to be MegaFlow as that can really benefit from Burst, MegaBook again a good candicate, and then MegaShapes as that one is being used an awful lot in our own game project so has seen a few years of improvements that have not made it to the store version yet.
     
    Last edited: Feb 24, 2021
  14. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,762
    Had a feature request that didn't make it into the initial release but as the sumission took so long I had a chance to finish it off so we can now use MegaFiers to build Blendshapes from the deforming meshes. MegaFiers already works perfectly together with Unity Blendshapes but with the Blendshape Workshop you can build up really complex Modifiers stacks on high res models then convert them to either single frame or multi frame Blendshapes you can then use those Blendshapes directly. Great for any predefined or baked effects you might want to do but at the expense of runtime flexibility.

    If anyone has any features they would like to see added then just let me know, will do my best to add whatever I can.



    Changes in v1.03
    • You can now add the deformations you create as BlendShapes to the object so allowing you to make complex deformations and save those out for much faster animation. You can add frames, remove them, add multiple BlendShapes etc
     
    firstuser and MikeUpchat like this.
  15. MikeUpchat

    MikeUpchat

    Joined:
    Sep 24, 2010
    Posts:
    1,056
    Great news on the Bezier Attractor speed up :) You have made so many improvements I cant wait to try it out and already new features being added. I am sure I can come up with some more stuff once I get my hands on it.
     
  16. Pode

    Pode

    Joined:
    Nov 13, 2013
    Posts:
    145
    @SpookyCat do you have a video example of the FFD 3x3 or 4x4 with the new asset ?
     
  17. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,762
    I can do that, it does look exactly like the old one but guess can do a performance test.
     
  18. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,762
    @Pode - Did a quick Benchmark with FFD3x3x3 on the Rocket mesh, in old MegaFiers it was 4ms in the new its 0.25ms so 16x faster, but also dragging of the handles in Edit mode is massively faster. Video later tonight.
     
    firstuser likes this.
  19. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,762
    Wasn't quite right in my earlier test, I was comparing 1 FFD in old MegaFiers to 3 running in new version the correct figures are 0.34ms running 2x2x2, 3x3x3 and 4x4x4 on the Rocket and the same scene in the old version ran at 12.34ms so this version is 36x faster for FFD's. Note also with the Auto Disable feature in the new version if you are not actually changing any knot positions then it will use no CPU time unlike the old version which updated everyframe regardless.

    I made a video showing that and also the improved editing workflow, I simplified the Gizmos so there is less clutter and you can now select and move multiple knots on the lattice making it much easier to work with.
     
    firstuser likes this.
  20. firstuser

    firstuser

    Joined:
    May 5, 2016
    Posts:
    147
    What do you think about adding a "prepass" option which allows you to subdivide the mesh (1.5x, 2x, 3.24x, and so on) and is applied before ANY modifiers apply and/or per modifier (before that modifier applies)

    Might also be useful in the opposite direction where the mesh is simplified.

    I can imagine it getting kinda complex (how to handle normals? how to handle holes or meshes with errors? use a library or your own solution?) but putting it out there in case it's easier than I imagine :)
     
  21. Pode

    Pode

    Joined:
    Nov 13, 2013
    Posts:
    145
  22. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,762
    That's an interesting idea, I did add a subdivide mesh system for the Sprite system have to see how well that holds up on real world 3d model. But that is a good idea.

    Edit: Just tested and the Subdivide does seem to work on all meshes, though need to extend it to handle Skinned meshes, and possibly Blendshapes which should be doable.
     
    Last edited: Feb 26, 2021
    firstuser likes this.
  23. firstuser

    firstuser

    Joined:
    May 5, 2016
    Posts:
    147
    Ahhh you're the best, I'll try to buy a couple extra copies when I can as a thank you.
     
  24. firstuser

    firstuser

    Joined:
    May 5, 2016
    Posts:
    147
    Amazing timing on the 1.07 update I literally just sat down to write you an email :) Thank you!!!
     
  25. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,762
    Yeah sorry about that, should be ok now :)
     
    firstuser likes this.
  26. MikeUpchat

    MikeUpchat

    Joined:
    Sep 24, 2010
    Posts:
    1,056
    Just upgraded to MegaFiers 2 and just had to say thank you so much for the time and effort you have put into this, my project using the Bezier Attractor modifier has been transformed, I am free now to add so much more to it with the FPS boost updating gave me, I am so excited to crack on now.
     
  27. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,762
    @MikeUpchat - Good the hear :) Looking forward to seeing what you make with it, if you have any ideas or suggestions for new features or improvements just shout.
     
  28. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,762
    Small update that gets the Point Cache working again, I am curently redoing the Point Cache to get a faster playback so hopefully next update will see that feature added but in the meantime if you had issues with Point Cache this update will address until the new system is ready.
     
  29. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,762
    The improvements have been made to the Point Cache modifier. Firstly when a cache file is imported instead of the data being stored on the GameObject it is now stored as an asset in the project, the main reason for this is to really speed up the inspector for the Point Cache, as for some reason Unity wants to check every value of a component when you change one value so as you can imagine with large point cache data that really slows things down, so with the data as an asset the Inspector for Point Cache modifiers is back to full speed making it much easier to work with.

    I also optimized the playback Jobs some more to get some more speed out of it, and if you are having trouble getting Cache Data to Map to your mesh you can now manually set up Mapping Rotation, Scale and Offset in the Advanced section. So if you import a cache file and you get mapping failed open the Advanced Section and check the Show Mapping option, this will show green squares for each vertex in the mesh, then set the end vertex slider and it will show you white squares for the imported vertex positions. Due to 3d packages working in different coordinate systems or meshes having local transforms that are removed by Unity during the import procedure it can be that the cache vertex data is flipped, scaled, offset or rotated. The mapping system will try and figure it out but sometimes it is not possible. Previously this meant having to go back to the 3d package and trying to remove such transforms. Now you can change the mapping transform values to get to the white and green squares to line up, you don't have to totally precise if you turn on Mapping adjust as well, Once they are lined up Load your cache file again and mapping should work fine.

    Changes in v1.11
    • Improvements to the Point Cache system
    • Point Cache performance as been increased due to new data layout and optimizing playback functions
    • Reduced memory used by Point Cache modifier with new data layout
    • Improved the Show Mapping options for Point Cache with addition of show every nth vertex for when dealing with high res meshes
    • Added option to Point Cache to manually set Offset, Rotation and Scaling or imported cache data making it easier to get Cache data with odd transformations mapping correctly
    • Point Cache will now only update if param such as time is changed
    • Point Cache data now stored in a Scriptable object
    • Point Cache Inspector much faster now data has been moved to a Scriptable Object
    • Point Cache will now auto disable if no changes are happening
    • Updated World Path Deform and Path Deform to be a bit faster as well as to stop the error if JobsDebugger was enabled
    • Fixed a problem that stopped builds from compiling.

     
    Last edited: Mar 5, 2021
  30. firstuser

    firstuser

    Joined:
    May 5, 2016
    Posts:
    147
    Quick thought expanding on this, subdivide/simplify ability might also be useful in the new low/high poly proxy context you added.
     
  31. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,762
    Subdividing a mesh is pretty simple, simplifying one is much more complex to do well, there are a few systems on the Asset Store that can offer that functionality, but probably best to still author the meshes in a 3d package.
     
    firstuser likes this.
  32. Monil

    Monil

    Joined:
    Apr 24, 2012
    Posts:
    102
    @SpookyCat
    Hi,
    I just upgraded to Megafiers2, but I have some problem integrating it into my project, if I create a new project and import it works, but in mine (unity 2020.1.17 built-in RP) when I open the demo scene it gives me errors as attached image, how can I fix before re-importing asset after asset in working project

    Megafiers2.jpg

    Thanks for the support
     
    Last edited: Mar 9, 2021
  33. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,762
    @Monil - If you could submit a support ticket at the website we can take a look for you.
     
  34. Fenrisul

    Fenrisul

    Joined:
    Jan 2, 2010
    Posts:
    618
    @SpookyCat

    First off - congrats on the Megafiers-2 release; looks fantastic and working well! :)

    I'm trying to use MegaFFD3x3x3 's SetPoint and SetPointLocal methods but I can't for the life of me figure out what units or values its expecting or converting to.

    Goal being: Set the world position of say.... a MegaFFD's Point [1,2,1] to the position of some unrelated transform.

    Code (CSharp):
    1. //nib is an unparented transform elsewhere in space
    2.         ffd.SetPoint(1, 2, 1, nib.position);
    I've dabbled with SetPointLocal as well but didn't seem to net what I wanted. Is this working as intended, am I missing something? etc heh.

    Cheers!
     
  35. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,762
    For the SetPoint method it is a world space location passed in. The point will be transformed to the local space of the Object being modified and then the FFD grid point will be set to that. If you could submit a support ticket showing your code and maybe a video showing what happens I can take a look for you.
    There are also MovePoint and GetPoint values, so that might be another way to do things.
     
    Last edited: Mar 12, 2021
  36. Fenrisul

    Fenrisul

    Joined:
    Jan 2, 2010
    Posts:
    618
    Will do - I'll create a simpler repro for it tomorrow.

    In the nearer term...
    Code (csharp):
    1. ffd.SetPoint(x,y,z, worldPosition + ffd.Offset);
    Got me much closer to what I wanted :)

    Similarly, GetPoint needs to subtract ffd.Offset to return a world position.

    (Let's pretend my object is at origin, unrotated, and of scale Vector3.one for now :p )

    *edit*

    submitted
     
    Last edited: Mar 12, 2021
  37. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,762
    New version submitted with new methods SetPointWorld and GetPointWorld added to the FFD modifiers making it easy to control the Lattice points from an external script as requested by @Fenrisul who has a nice example video he might post here showing it in use. As ever if there is something not working the way you would like or you think of a feature or system that could be useful to you and others please do shout out and I will do my best to add it in, and if you make use of the Asset in a project or demo please do share, love to see what use it is being put to.

    Changes in v1.13
    • Added GetPointWorld and SetPointWorld methods to the FFD modifiers so you can easily control the Lattice points from external scripts.
    • Added option to FFD modifiers to show either Index or XYZ values
    • Fixed an issue with FFD lattice handles sometimes causing an error
     
    Last edited: Mar 13, 2021
    firstuser likes this.
  38. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,762
    Another quick update, seems there are a few assets out there that have their own attribute classes called ReadOnly which clashes with the Unity Collections ReadOnly attribute which causes errors, so while those assets wait for updates for their users I updated ours to to use the full namespace path for the ReadOnly attribute used by Burst to avoid any problems.

    Changes in v1.14
    • Changed Unity Collections ReadOnly attribute to use full namespace to avoid conflicts with assets that have their own ReadOnly attribute.
     
    firstuser likes this.
  39. Fenrisul

    Fenrisul

    Joined:
    Jan 2, 2010
    Posts:
    618
    As promised :)

     
    petey, PolyCrusher, firstuser and 2 others like this.
  40. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,762
    @Fenrisul That is brilliant, it's so nice to see the system being used in such creative and fun ways, really looking forward to seeing more from your project and any other projects.
     
  41. MikeUpchat

    MikeUpchat

    Joined:
    Sep 24, 2010
    Posts:
    1,056
    @Fenrisul - That is brilliant, just want to play with it, whatever game you are working on that effect alone will add a ton of fun to the gameplay. Been inspired to try and recreate the effect here, trying to do it with 3 masses and 2 springs. So I make a mass for the base, top and mid point and connect them with two springs. Then in a simple physics loop I apply spring forces based on the distance of the masses from one another and then also apply a force to try and bring the masses back to their start positions, that seems to work but having trouble getting it looking like yours, is that roughly how you did it, and is it a case of just tweaking spring and damper values. I do have an issue on compression where the springs make it look a bit ugly, any advice?
     
  42. Fenrisul

    Fenrisul

    Joined:
    Jan 2, 2010
    Posts:
    618
    You're on the right track with having base, mid, and top points! :) My rig is a single virtual spring (not PhysX based) that returns the top most point to its original position when not being dragged. The mid point is just interpolated/rotated toward the top point and squash/stretched based on an animation curve.

    @SpookyCat
    Thanks for the kind words! :D I was dreading having to do this effect with traditional rigging and was so excited when I saw burst *and* auto-disable implemented in megafiers2 - makes it viable with such little effort from me. No weights or skins were used in the making of this demo heh.
     
  43. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,762
    Well after @Fenrisul posted his really cool use of FFD to get the animated turrets I had a few requests as to how it was done and would I be adding something like it to MegaFiers, well I had a quick play and added two new components to the asset which are found in the Test Scene scripts folder. First one is FFDController which will do the turrets, and the second is FFDControllerAxis which is the same but there is an option to say along which axis the effect will happen. I did a video showing the system controlling a Cannon and I will do a tutorial video on how to use it tomorrow hopefully. Anyway the should be a new version in the Asset Store now. Note the Cannon scene is not part of the Asset as it contains non free assets, but the Cannon and the Castle are available for free on the Asset Store, the grass was done using The Vegetation Engine and I also used particle effects from the Standard Unity particles and RiverMill Cannon Particle system



    Changes in v1.15
    • Added FFDController example script to get softbody type effects using a FFD3x3x3 modifier.
    • Added FFDControlAxis example script to get softbody type effects using a FFD3x3x3 modifier, as an axis value to say which axis of the lattice the deformation happens on.
     
    MikeUpchat and firstuser like this.
  44. MikeUpchat

    MikeUpchat

    Joined:
    Sep 24, 2010
    Posts:
    1,056
    That looks like fun, thanks for the new addition and thanks to @Fenrisul for coming up with the concept, think it shows just how useful such effects are to really bring satisfaction to game object animations instead of rigid dull animations with no character and the fact it can all be done inside Unity with just a few clicks instead of hours of rigging in a 3d package and creating animations which cant be adjusted easily at runtime unlike these kind of systems which are all fully controllable and adjustable.
     
  45. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,762
    Annoyingly somehow the sound was not recorded on the above video, shorter version with sound.
     
    MikeUpchat likes this.
  46. Fenrisul

    Fenrisul

    Joined:
    Jan 2, 2010
    Posts:
    618
    Thanks! That cartoony-game-feel is difficult to achieve and MegaFiers just made it a lot easier for everyone! :)
     
  47. MikeUpchat

    MikeUpchat

    Joined:
    Sep 24, 2010
    Posts:
    1,056
    How did you do the Cannon movement, did you use the Unity Animation system, if so how did you have different clips for different amounts of movement and blended between them or something?
     
  48. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,762
    Another quick update. Improved the Inpsector for the MegaWarpBind modifier so the quick edit area now shows the Warp target and the decay value. Also improved the Autodisable feature on the Warp Bind object to take into account if the warp object has moved, rotated or scaled. And finally added a FFD Map component so you can now freely map any transform to any of the lattice points on an FFD controller so you can easily do effects like the soft body ones above only limited by your imagination.

    Changes in v1.17
    • Updated the MegaWarpBind inspector so it will only show Warp objects when you change the warp value
    • Changed the AutoDisable system for Warps to take into account the moving, rotation and scaling of warp objects.
    • Added Warp Object to the Quick Edit section of the Warp Bind Modifier
    • Added Decay value to the Warp Bind quick edit section
    • Added a MegaFFDMap utility component to allow you to easily made any GameObject to a FFD lattice point so you can create your own FFD Controller systems easily.
     
  49. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,762
    I did a custom script for the Cannon movement, so it has things like radius of the wheels and curves to describe the movement and they are scaled by how fast the cannon is firing the ball and then calculate the wheel rotation based on the movement. I much prefer doing things through scripts procedurally than being locked into animations.
     
    firstuser likes this.
  50. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,762
    Small update. MegaFiers 2 now supports meshes with more than 65535 vertices so if you really want to deform very high res meshes you can.

    Changes in v1.18

    • MegaFiers now works correctly with meshes that require 32bit triangle indices ie have over 65535 vertices.
     
    firstuser likes this.