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

    tonycoculuzzi

    Joined:
    Jun 2, 2011
    Posts:
    301
    Ah, I see. Just to clarify, what I need is a lattice type effect where the deformer stays in one position, and things move through it being deformed.

    Also, is there any sort of evaluation version of MegaFiers? my team and I would like to try it before we buy it, as for now it'd only be for this one thing. :)
     
  2. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,748
    @Tonzie - Well the Bend space warp will do that no problem, of on an object by object basis you can move the deformation space, so if you had a FFD modifier on a mesh then you can simulate the lattice staying still in space and the object moving through it by changing the Gizmo Pos for the FFD, but that is on an object by object basis until I can get back to the Modify Group code.

    There is no evaluation version due to the system being source code based there is no way I can limit the evaluation. Probably worth waiting for the Modify Group to be added then the system will certainly do what you want.

    @p6r - Arr that tyre deformation is different from the other video, the one above is a full gas pressure system soft body, the other system is a shader based system which is a lot faster and more controllable. It may well appear one day in the MegaCar system.
     
    Last edited: Jun 8, 2012
  3. dogzerx2

    dogzerx2

    Joined:
    Dec 27, 2009
    Posts:
    3,964
    Man these tools rock!

    Why doesn't unity hire you already?? :D
     
  4. tonycoculuzzi

    tonycoculuzzi

    Joined:
    Jun 2, 2011
    Posts:
    301
    I see, darn. Well that's okay. How well do you think the individual Bend space warp would work on mobile? Is it almost as fast as normal without the warp? If you think I can get that working nicely and smoothly on iOS and Android, then I'll definitely look into purchasing. :)
     
  5. BryceK

    BryceK

    Joined:
    Jun 15, 2012
    Posts:
    24
    maybe it has been asked before, but its hard to keep track of it with 53 pages haha.

    Is it possible to animate characters with your product? so yes, how much draw calls does it produce? because a normale skinned/boned character produces 3 draw calls, and im aiming for 1 that also could batch ( because its under 300 triangles/vertices ).

    Hope to hear it soon :)
     
  6. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,748
    @Tonzie - The Bend Space warp should be no slower than having bends on each object, as for speed on mobile devices it is hard to say as it will depend on how many vertices you have and how many objects. Most mobile users adopt a staggered approach with multiple objects and update one or two each frame instead of everything, also if you have a more modern device with multiple cpus you can turn on multicore support.

    @jumpstyl0 - Animating objects and characters is the reason MegaFiers exists :) The system doesnt add to the number of draw calls an object takes to render, though a dynamically changed mesh will not batch, but that is the same I believe for skinned characters as well so no extra draw calls are added. You say your character uses 3 draw calls, is that because it has more than one material? Can you say what kind of character and or animation you are trying to do and are you looking at morphing or point cache or one of the modifiers as your source of animation from the system?
     
  7. BryceK

    BryceK

    Joined:
    Jun 15, 2012
    Posts:
    24
    In our previous version of the character it had 1 draw call and 5 batched and did matter how many times we added the character to the scene it stayed 1 draw call and everything batched up... but it wasnt skinned/boned and animated at that point.

    We do use 1 material with 1 big texture atlas so thats not the problem.

    but at this point our character is skinned and boned and animated, and when imported into unity and optimized trough the FBXimporter it has 3 draw calls and 4 batches. the 4 batches are the characters equipement ( weapons etc etc ) then 3 draw calls are 1 for the skinned mesh renderer and 1 for the body ( did batch in our previous version ) and 1 basic draw call to render it all hehe, and thats also the only one we want, the render one.

    So now we are looking for a way to get the body still batched and to still animate it without a skinned mesh renderer on it.

    The character is just a cartoony human viking and has a idle, walk and charge animation and like i wrote above its a bone animation at this point but we want a more opimized one so that why we would like to try vertex animations, atleast if it doesnt use a skinned mesh render and doesnt make the draw calls and batches.

    I dont know if morphing or point cache is going to work but its your product so what do you advice :)?
     
    Last edited: Jun 15, 2012
  8. tonycoculuzzi

    tonycoculuzzi

    Joined:
    Jun 2, 2011
    Posts:
    301
    Alright, so I caved and bought it. Seems to be very powerful. :)

    How would I go about deforming something to look as if it's a sphere, or on a sphere. I want to deform a flat plane and make it look like it has the curvature of the earth. Any thoughts?
     
  9. tonycoculuzzi

    tonycoculuzzi

    Joined:
    Jun 2, 2011
    Posts:
    301
    Sorry, I got that part working with a WorldPath deformer. I'm using one MegaShape for all the deformers so the deformation stays the same, is there a way to move the MegaShape without moving the rest of the objects, and have the object sorta serve as a deformer or lattice like thing that only deforms the object when it comes in contact with the shape? Right now, using the Gizmo Offsets and positions all move the level, but the level is supposed to be static, in place.
     
  10. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,748
    I did a little video showing a plane turning into a sphere.

    As for the second question that sounds like it would need a new modifier to do that. I think someone actually posted their own code to do such a thing earlier in this thread, Wire Deformer I think they called it. If you could give a fuller explanation of what kind of effect you are looking to do I will see if there is a modifier that will do it or what will be required to add such a modifier to the system.
    Chris
     
    Last edited: Mar 1, 2013
  11. ippdev

    ippdev

    Joined:
    Feb 7, 2010
    Posts:
    3,850
    I am trying to wall in a 1kmx1km terrain. I have your MegaFiers plugin. Is there one that will assist me to do that in it's current release? I note the Path Deformer but that would require a ton of setup as it does singles only from the video. Maybe a clone along path checkbox for that one would do it?

    Thx
     
  12. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,748
    Actually the clone along path is part of the new MegaShapes system but that doesn't help you. Other users have done similiar things for building race tracks, they first build a new mesh by combining multiple road or in your case road sections together to form a long section of the required length then they use the path deform on that new object. Combining meshes in that way is relatively simple.
     
  13. BryceK

    BryceK

    Joined:
    Jun 15, 2012
    Posts:
    24
    I got one more small question about the .pc2 system in mega-fiers before I make up my mind to buy it :)

    I Finally figured out all my former questions. only thing I encounter in all the other .pc2 importers for unity is that if you have for example a vertice count of 150 in 3d max and that vertice count becomes then 210 in unity because of the hard edges... does Mega-fiers recalculate this?
     
  14. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,748
    Yes MegaFiers has a system where it maps the Unity vertices to the point cache vertices so differences in vertex counts do not matter as long as the system can find a match for each vertex in the point cache file. Also MegaFiers will correctly recalculate normals based on smoothing groups, which is something that no other point cache system currently does as they just use the mesh.RecalulateNormals() method which will destroy any special smoothing on a mesh. The only things to be a where of with point cache files and MegaFiers are that you use local space coords and not world space and that the first frame of the point cache file matches the base fbx version ie if you have a character and exported him with an arm bent into Unity then the first frame of the point cache file should also have the arm bent as the first frame is what the remapping system uses.
     
  15. BryceK

    BryceK

    Joined:
    Jun 15, 2012
    Posts:
    24
    Will it still work then after reajusting the FBXimport settings? like mesh compression, optimize mesh, calculate normals instead of import normals, Tangents off and smoothing Angle on 180 (normaly will just mean you get the same settings on your model as in your 3D app).
     
  16. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,748
    It should all work after those options as long as Unity doesnt move vertices about, the optimizing option just reorders the vertices to be more cache friendly so that is fine. If you use calculate normals on import then you should use the Unity normal calculation method instead of the Mega one to get the same results. If you require tangents there is an option to recalculate those in the Modify Object component as well as optimizing the mesh again.
     
  17. Numonic

    Numonic

    Joined:
    Mar 22, 2009
    Posts:
    241
    Just out of curiosity if I were to use meg-fiers for book creation will the textures show up clear for the readers to see? What would be the best soloution for this?
     
  18. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,748
    They will do if they are high enough res and you have the import settings correct.
     
  19. Numonic

    Numonic

    Joined:
    Mar 22, 2009
    Posts:
    241
    What are the requirements for outputting them for high enough detail for someone to read the images? I would like to purchase this to make a 3d book ap.
     
  20. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,748
    Well that depends on the res at which your app will run, if its only going to run at 1024x1024 then you need to make sure your textures are that size, and make sure compression is turned off. It really is a case of try the Unity import settings and see. You may be limited by the device on max texture size but that size should always be high enough to get a 1 to 1 pixel display of the page.
     
  21. Numonic

    Numonic

    Joined:
    Mar 22, 2009
    Posts:
    241
    Thanks that's exactly what I needed to know whether they should stay compressed or not, also should I convert the images to gui instead of texture as well I've noticed that seams to clean things up as well. Or should it just have compression off?
     
  22. BryceK

    BryceK

    Joined:
    Jun 15, 2012
    Posts:
    24
    Oke, So i did it, I bought mega-fiers and it works awesome. my character is 1 draw call 5 batched and it animates with point cache. only problem I have at this moment is that I got 1 point cach file with 3 animations in it. when I add the Point cache animator from mega-fiers and I fill in all the 3 animations as clips it doesnt do anything. it still plays all the animation at ones instead of only 1 of the clips. Also it doesn't produce any animation files within unity that you normaly add to the animator so it playes those animations.

    any solutions?
     
  23. MikeUpchat

    MikeUpchat

    Joined:
    Sep 24, 2010
    Posts:
    1,056
  24. BryceK

    BryceK

    Joined:
    Jun 15, 2012
    Posts:
    24
    I saw and read it, but im not a programmer hehe so It hard for me to get it working then based on script
     
  25. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,748
    @jumpstyl0 - As Mike says you can use the Point Cache Animator component to set up animation clips and you can now link these so that if you play a normal Unity animation clip with the same name the point cache will also play making it easy to link the point cache anims to the main object animations. I notice to my shame I have not updated the docs on that one so will get on that.

    You can also just use the unity animation system to make a clip and control the time value yourself if you are happier using the Unity system.
     
  26. BryceK

    BryceK

    Joined:
    Jun 15, 2012
    Posts:
    24
    I don't really follow, sorry. But when I add a point cache modifier and load in my .pc2 file. then add a point cache animator modifier and make multiple clips based on that one .pc2 file and then then select like play clip "idle" in the point cache animator it plays the whole point cache file (all animations at ones) instead of the "idle" clip. Now normaly unity itself produces animation files (.anim) when you make a clip. i noticed this doesn't happen with the point cache animator, also by that I would not know how to link it to the normal unity system, since the normal unity system doesn't play point cache files. Also I did try when I made a clip in the point cache animator to also make this clip in the unity import file of the character (the split animation thingy) but that doesn't work ether.

    Could you els make a tutorial for me on how to do it? if possible ofcourse because point cache can really be the future for mobile gaming when it comes to low draw calls as we are aiming for but there is to little information to get it right..

    Also got a question for you from a fellow student he is trying out the dynamic ripple effect from mega fiers just like in your vid: http://www.youtube.com/watch?v=XG2zv0-tOM0 and the problem he gets is like: when you add the dynamic ripple modifier on a plane and you set a camera in the scene to look at the plane. nothing happens, well it gives all kind of arrey errors and camera errors when you click the plane for the the it quites play mode and gives another error. could you maybe make a tutorial on this aswell? because simply just adding a modifier object and a dynamic ripple doesn't do the tric.
     
  27. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,748
    You need to add the Mega Modify Object component before adding any modifiers to the object. Adding a modifier by itself should not give any errors, can you email the errors produced so I can see what is going on?

    The whole MegaFiers system is separate from the Unity system so does not produce Unity Animation clips on import of date hence the Animator scripts in the system to link the systems to the Unity systems.
     
  28. BryceK

    BryceK

    Joined:
    Jun 15, 2012
    Posts:
    24
    We always add a Mega Modify object first, but we also noticed that if you just add another modifier the Mega Modify Object comes with it automatically.

    I send you a mail with the errors A-sap.

    About the animation clips, it is clear that the Point Cache Animator doesn't make Animation clips from the frames that you fill in, in combination with the Point Cache modifier to load in the .pc2 file.

    But it also doesn't play the selected clip in the Point Cache Animator when you tab on the "play at start", like I said earlier it plays the whole .pc2 file with all the animations in it, but that is probably because in the Point Cache Modifier Animated is standing tabbed on. but when you untab it, it wouldn't animate at all.

    Also when trying to go to game mode with clips made in the Point Cache Animator it says the following error:

    MissingComponentException: There is no 'Animation' attached to the "RoadKillOut" game object, but a script is trying to access it.
    You probably need to add a Animation to the game object "RoadKillOut". Or your script needs to check if the component is attached before using it.
    UnityEngine.Animation+Enumerator.MoveNext () (at C:/BuildAgent/work/300357e52574df36/Runtime/ExportGenerated/Editor/Animations.cs:520)
    MegaPointCacheAnimator.DoLinkedUpdate () (at Assets/Mega-Fiers/Scripts/MegaFiers/Modifiers/MegaPointCacheAnimator.cs:149)
    MegaPointCacheAnimator.Update () (at Assets/Mega-Fiers/Scripts/MegaFiers/Modifiers/MegaPointCacheAnimator.cs:119)

    While there is cleary 3 clips added to the character from out the Point Cache Animator modifier and the .pc2 file from the Point Cache modifier.

    So can some write down stap by stap how to get those clips from the Point Cache Animator working? thx in advance.
     
  29. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,748
    If you use the MegaFiers window to add a modifier to an object it will create a Modify Object component first if there isn't one already on the object, it should not keep adding them, is that what you are seeing as I cant recreate that here.

    I will update the web page for the Point Cache Animator to do a step by step guide on its use. The error you are getting is because you are trying to do a linked update to the animation attached by Unity to the object but there is none on the object, I have added an error check for that now but in order to link to an animation there needs to be an animation to link to. You perhaps have the animation import set to be on the root node in the fbx import settings?
     
  30. BryceK

    BryceK

    Joined:
    Jun 15, 2012
    Posts:
    24
    The modifier is not adding it self many more times, what I ment was if you add 1 modifier ( something els then the Modify Object ) it automaticly adds a Modify Object on the mesh aswell. this ofcourse happends 1 time if you add another Modifier is doesn't add a Modify Object anymore. was just pointing out in my previous post that I automaticly adds a Modifiy Object when you forget it :)

    in the FBXimporter the animation is set to: store in root, but I dont load a animaton in trough the FBXimporter when im loading it in through the Point Cache modifier from Mega-Fiers, right?
     
  31. agesis

    agesis

    Joined:
    Feb 9, 2012
    Posts:
    3
    Hi there,

    Mega-Fiers looks awesome and I am considering to purchase it! I have a few questions before purchasing... Hope you can show me some hints. :)

    1. I read some earlier posts mentioned Mega-Fiers includes Mega-Shapes Basic. What's the difference between Basic and Pro?
    2. For Mega-Shapes, I found Shiraz asked a question which I also want to ask on your site. Therefore, I quote it here.

    "I'm using MegaShapes (pro version that was just released) - and am creating a dynamic path using the arc shape and would like to join multiple arc paths together to create a road network.

    Also, I have a camera and objects moving along the lofted shape (the arc shape essentially) -- from distance 0 to 1.

    Is there any built in mechanism to join multiple shapes/paths - so that one may iterate smoothly between the end of one and the start of another?

    If not, what is the best way to do this if you had to do it yourself?"

    Thank you!
     
  32. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,748
    Basic version included with MegaFiers is just the core spline system (with the ability to fill in the spline to form a mesh) which was included to give the Path Deform modifiers something to work with, so you get a fully functional spline system and helper classes for moving things along them as well as if you use Max you can ask for the exporter so that you can bring in your splines and animated splines as seen in the video below.

    And here is a video of the basic mesh creation from a spline system

    The new MegaShapes Pro system just released takes that core spline system and will be using it to make more complex mesh systems, such as the lofter included in the initial release, with other systems to be added such as the scatter system and rope and chain systems as seen in the other videos below.



    Thank you for pointing out that forum post I had missed that, I will look at adding methods for joining splines together, should be quite simple just need to align the end knots and tangents and find the rotation of the new section so the path is continuous.
     
    Last edited: Mar 1, 2013
  33. Hamesh81

    Hamesh81

    Joined:
    Mar 9, 2012
    Posts:
    405
    Hi, I am interested in purchasing Megafiers for character morphing. I have a few questions, I apologize if these have been answered already but I couldn't find it:

    1) Does using the Megafiers Morph component increase drawcalls? For example will having a large number of morphs (as in this video: www.youtube.com/watch?v=q9MONtB3w4k)
    increase draw calls? I'm assuming that it won't since each morph only adjusts the vertex positions but just wanted to be sure before making a purchase :)

    2) Is there support for the 3ds Max Skin Morph Modifier or Skin Angular Deformers?

    That's all for now. Looking forward to a reply, keep up the brilliant work!!
     
  34. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,748
    MegaFiers will not add any extra drawcalls, it purely changes the vertex positions and sends those back to Unity.

    As for the Skin Morph modifier, I did add for another customer a script that will drive a morph from a bone rotation or translation, he was supposed to give me some feedback if it wasn't what he needed but I never heard anything so I assume it did the job. So if you want to drive say a bicep bulge morph from an elbow bone angle there is a helper script to do that in the system, as yet undocumented though.
     
  35. Hamesh81

    Hamesh81

    Joined:
    Mar 9, 2012
    Posts:
    405
    Thanks for your response, ok that sounds like exactly what I would need. I'd tried previously exporting a fbx with a Skin Morph modifier but anything above the Skin modifier in the stack is automatically disabled during export. So I tried and was able to achieve the same result with the Skin modifiers Morph Angular Deformer, problem is Unity of coarse doesn't read any of these deformations. Basically what I need it for is to modify some verts of skinned clothing, as it is intersecting itself during certain leg rotations only and deforming a bit incorrectly.

    So, what exactly is the setup for this custom script you mentioned above? Would I be able to create the bulge deformations and then export them out, or would they have to be created inside Unity only? Thanks for your time SpookyCat :)
     
  36. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,748
    Well I was going to do a video showing the system but the chap who asked for was going to provide a test object but it never appeared. I will see if I can produce something with my limited 3d skills to show how it works so you can judge if it suits your needs, busy doing some MegaShape tutorial videos at the moment so not sure when I can do it wont be too long though.
     
  37. Hamesh81

    Hamesh81

    Joined:
    Mar 9, 2012
    Posts:
    405
    Wow that would be excellent. As I said I already need Megafiers for getting classic Morph modifier stuff into Unity, so I will need to purchase it for that reason alone. I'm at a point with my final rig where I need to finalize the last of the skinning, but it's not proving very efficient using Skin Envelopes alone. Using the Angular Deformers especially is proving to be the best method right now, but again if it can't be transferred into Unity then I will have to look at work around. If you like I can provide you a complete skinned rig as a test object, if that would make it easier for you? Please keep me posted on the video/tutorial for this, looking forward to it!
     
  38. agesis

    agesis

    Joined:
    Feb 9, 2012
    Posts:
    3
    Hi Chris! Thanks for your prompt respond and looking forward to the new method of MegaShapes!
    Great support!!

     
  39. kellsey

    kellsey

    Joined:
    Apr 5, 2012
    Posts:
    11
    Hello,

    Same here. I'm looking for a way to make the Morph angle deformer from 3DS Max to work with Unity.

    I just hope we don't need to make those ajustments directly from unity, the best would be a solution that makes unity recognize the feature from 3DS.

    Anyway, i'm willing to purchase any solution that suits those needs.
     
  40. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,748
    @Hamesh81 - If you could provide a simple test object, an arm with a bulging muscle or something so I can have a play then that would be handy.

    @kellsey - Yeah I agree exporting of the data directly from Max is ideal and it is something I can look at adding to the exporter once I have a test object, I am no artist and certainly no animator or rigger and it is the lack of test objects that has held back the full development of the 'muscle bulge' or skin morph system.
     
  41. gonzorob

    gonzorob

    Joined:
    Dec 1, 2011
    Posts:
    96
    Hello,

    I'm trying to generate a spline/shape via script at runtime.

    I'd like to extend a shape line to a specific Vector3 via a function. It's for a constantly extending curvy path...

    Can this be done with Megafiers spline/shape system?

    Cheers
     
  42. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,748
    @gonzorob - Yes that can easily be done you just need to add new MegaKnots to the knots List on the shape. You just need to call CalcLength(steps) (where steps is the number of subdivides calculated between knots, so the higher the number the more accurate the calculation. You can also remove knots from the list using the standard List methods and if you want an example of how to create the knots then the code in say MegaShapeCircle.cs is quite handy to look at.
     
  43. Hamesh81

    Hamesh81

    Joined:
    Mar 9, 2012
    Posts:
    405
    Sure I have one ready now. It is a skinned rig with two types of deformers used. I can send you the file if you like. Where would you like it sent to?
     
    Last edited: Jun 28, 2012
  44. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,748
    Oh cool, you can email it to me at chris@west-racing.com It will be interesting to see what is involved in getting it working correctly. Thank you.
     
  45. Hamesh81

    Hamesh81

    Joined:
    Mar 9, 2012
    Posts:
    405
    Sent.

    As kellsey pointed out it would defs be a plus if the deformer setup could be done outside of Unity similar to the way the morphs are and then exported out. Please keep me posted with how you go. Thanks again!
     
  46. Agemoi

    Agemoi

    Joined:
    Dec 22, 2011
    Posts:
    10
    Hi,

    I recently purchased this product and even I am still trying to get the hand of some things I must say I find it astoundingly useful.

    I can't seem to find the Blender shapekey (morph) exporter, though. Could you please point out where the plugin is?

    Thanks
     
  47. MikeUpchat

    MikeUpchat

    Joined:
    Sep 24, 2010
    Posts:
    1,056
  48. Agemoi

    Agemoi

    Joined:
    Dec 22, 2011
    Posts:
    10
  49. JiBi

    JiBi

    Joined:
    Aug 20, 2011
    Posts:
    17
    Hello,

    Sorry if the question has already been asked, but I am trying to use the FFD modifier to let a user change a mesh in real-time.
    The thing is I have trouble to change the value for the points by script.

    Could someone give me an example?

    Thanks a lot!
     
  50. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,748
    Hi There
    I good place to look at how to go about changing FFD points is the MegaFFDEditor.cs file but basically you use the GetPoint and SetPointLocal and SetPoint methods such as in the example below.
    Chris

    Code (csharp):
    1. void MovePoint(int x, int y, int z, Vector3 localmove)
    2.     {
    3.            Vector3 p = GetPoint(x, y, z);
    4.            p += localmove;
    5.            SetPointLocal(x, y, z, p);
    6.     }