Search Unity

Mesh Particle Renderer now available

Discussion in 'Assets and Asset Store' started by MattCarr, Jun 7, 2011.

  1. MattCarr

    MattCarr

    Joined:
    Jul 5, 2009
    Posts:
    339
    The Mesh Particle Renderer we've developed is now available on the Asset Store. The system allows the standard Unity ParticleRenderer component to be swapped out for either of our highly optimized single-threaded or multi-threaded MeshParticleRenderer components.

    The Mesh Particle Renderer works with Unity's Particle Emitters and Particle Animators exactly the same as the billboard sprites of the built-in Particle Renderer, except you can use any mesh in your project as the particles instead of billboarded sprites. All velocity, size, growth, forces, rotation, etc settings will function as expected.

    Overview Video:

    Watch in 720P HD on YouTube

    Integration into Bootcamp demo:

    Watch in 720P HD on YouTube

    We've endeavored to make the system feel and function as if it was developed as a built-in part of Unity. The speed of the system allows for the particle meshes to be swapped for other meshes on the fly.

    We're looking forward to all feedback and will be updating the system frequently with any important new features.

    Asset Store Link
     
  2. 2dfxman

    2dfxman

    Joined:
    Oct 1, 2010
    Posts:
    178
    50$ for a feature that should've been in unity already? Hot damn.
     
  3. 3dDude

    3dDude

    Joined:
    Jul 4, 2010
    Posts:
    1,067
    @2dfxman: Trollin' much?

    It looks great! Nice job!

    Cheers!
     
  4. 3Duaun

    3Duaun

    Joined:
    Dec 29, 2009
    Posts:
    600
    just purchased, nice work on a great tool that REALLY should be in unity already, but, to be realistic, ISN'T.

    This tool provides functionality that is needed by many developers, I can only hope that there is more work done to optimize draw calls and other aspects wherever possible, in this script.

    are you planning on adding the ability to allow meshes with rigs(armatures) to deform the individual mesh-particle objects? Or are they to permanently remain static?
     
  5. MattCarr

    MattCarr

    Joined:
    Jul 5, 2009
    Posts:
    339
    Thanks for you support. We'll be updating frequently with any optimisations and new features. Our mesh particle systems are combined into a single mesh currently, so draw calls are already as optimised as possible, it is only be 1 draw call for a particle system (with additional draw calls depending on the material used and lighting, of course). Future optimisations could come from improved caching, threading, transformation math, etc.

    There are a number of planned features to be added in the coming days/weeks including alternatives for other Unity particle components (emitter, particle collider, etc) that will offer new functionality similar to these mesh particles. We will not add anything to the package that is not highly optimised and fast enough to sit alongside the built-in Unity systems.

    As for animated meshes, I have put some thought into possible solutions, but again, if it's not something that can be implemented in a usable, fast way, it won't be. Particles with morphing meshes are very likely to be implemented in an upcoming release as this feature can be more easily achieved without major performance implications. Please post any other feedback and ideas of possible additions. I'll get back to you on the viability of animated skinned mesh particles after I have prototyped the concept.
     
  6. outtoplay

    outtoplay

    Joined:
    Apr 29, 2009
    Posts:
    741
    Sure this is a terrific extension, and looks Awesome. I think 3dDude (Like myself), is just ripe to take a swing at UT... for their lackluster update efforts. The coolest stuff being worked into Unity is done by 3rd party concerns, perhaps the UT lawyers who draft the middleware licensing deals should get the innovation awards.

    Of course Mesh Particles should be in Unity... like the long promised 2d animation system. But fear not, I hear from a super secret source that the next Unity release will feature the highly anticipated rerelease of the circa 1995, web browser Asset Store, but, with My Little Pony theme music playing while you shop. Cuttin' Edge baby.
     
  7. 3Duaun

    3Duaun

    Joined:
    Dec 29, 2009
    Posts:
    600
    Does this script support random cycling through an array/list of meshes or gameobjects?
     
  8. MattCarr

    MattCarr

    Joined:
    Jul 5, 2009
    Posts:
    339
    It doesn't in v1.0, but it is something I will be looking at adding in the next version. Unity's particle structs don't contain any unique identifiers making it difficult to maintain a certain random mesh associated with a particle from frame to frame, but there are techniques i can employ to do so. I'll let you know when the feature is implemented.
     
  9. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    uh guys why should it be in unity already? is it in mw2 then on xbox? because if it is, I never noticed it.

    The voting system for new features doesn't seem to have this there voted up.

    Nice work on the system guys. $50. Isn't much if you want this in your game.
     
  10. giyomu

    giyomu

    Joined:
    Oct 6, 2008
    Posts:
    1,094
    very cool, need to play with that :)
     
  11. outtoplay

    outtoplay

    Joined:
    Apr 29, 2009
    Posts:
    741
    The comment is not about the value of this extension, which is fair, and seems well executed. Since Unity doesn't offer it, If I needed it I'd purchase with a smile and a big thumbs up.

    The comment is about all the basic functionality that is missing from U. Feature voting for special stuff, or 'cutting edge' stuff makes total sense. But basic tools such as 'snapping' was lauded in a recent release. Snapping? Having it isn't the news, not having it was. You still can't select a group of maps and change their import settings at the same time. That's nutz... So when a 3rd party guy writes an ext. and charges for it, God bless him for the effort, but that basic functionality should exist. Pretty much any ''pro' 3d package with a particle system allows for mesh particles. It's not 'cutting edge' or ' New at E3 this year', this is pretty meat and potatoes stuff. Luckily, the OP has created the tool that UT should have... Oh, and UT, gets 30% of it... Ironic, huh?

    It's the same with so many simple workflow tools, UT would rather think wiz bang, that go deep and plus the core product with boring yet critical tools. Take Brady's SM2 EZGUI, I own and use both and thank God for them. But Brady is hampered by Unity's architecture, specifically, Sprite Atlas creation. Unity doesn't support rotated textures or modern texture packing features similar to TexturePacker. You telling me that should be voted for too? You really wanna vote to change settings on multiple selected items? Really?

    Unity works, and has integrated some very nice 3rd party middleware. But this is what Autodesk does with Maya and Max, take aging frameworks, and force new tech into it and call it fresh.
     
  12. 3Duaun

    3Duaun

    Joined:
    Dec 29, 2009
    Posts:
    600
    Thank you for your attention to detail and updates with this VERY useful script. Cant wait to see this addition make it into a future update.
     
  13. 3Duaun

    3Duaun

    Joined:
    Dec 29, 2009
    Posts:
    600
    Do you plan on including the ability to pre-spawn/instantiate a specific number of "mesh particles" to cycle through(using linq, or whatever), so that a mobile device wont have to be bogged down with extra instantiation destruction + the extra garbage collection? This is a feature, that had I not purchased it already, I'd purchase it just to have such functionality(even with billboards alone, much less the ability to use meshes as particles).
     
    Last edited: Jun 10, 2011
  14. MattCarr

    MattCarr

    Joined:
    Jul 5, 2009
    Posts:
    339
    The Mesh Particle Renderer performs essentially no instantiation/destruction at runtime, constant sized buffers are maintained throughout. I would assume Unity's Emitter component would do something similar with their particle array, but I'll look into it. The size of the arrays is determined by the max number of particles (Max Emission * Max Energy), which I cap based on the number of vertices in the given mesh to work within Unity's 65000 vert limit.

    Let me know if I've misinterpreted what you're asking or if there's any specific examples you can point to if you've seen this problem with Unity's particle systems.
     
  15. 3Duaun

    3Duaun

    Joined:
    Dec 29, 2009
    Posts:
    600
    the detailed answer was much appreciated, thank you
     
  16. 3Duaun

    3Duaun

    Joined:
    Dec 29, 2009
    Posts:
    600
    looks like another prefab just hit the asset store with just the functionality I wish was in the "mesh particle renderer"(that we've already purchased) its called "GO particle system"

    we do like the features you have in mesh particle system, but hope you include the random cycling, and "timing de-attaching" that they have in their system soon(before we're too tempted to just buy their system and move our game over to it).
     
  17. FiveFingers

    FiveFingers

    Joined:
    Oct 15, 2009
    Posts:
    541
    wrong thread
     
    Last edited: Jan 10, 2012
  18. FiveFingers

    FiveFingers

    Joined:
    Oct 15, 2009
    Posts:
    541
    We might be interested in this.

    Questions:

    - It is possible to billboard versus the camera textured quad meshes instead of using complex meshes / cubes ?

    - is this a 1 draw call system ?

    - is multi threading working also on Unity Basic, and will work on iOS ?

    Thank you
     
  19. Play_Edu

    Play_Edu

    Joined:
    Jun 10, 2012
    Posts:
    722
    Hi,


    Can this mesh particle work with world particle collider?, Can you have any demo scene(Tutorials) or demo scripts.


    play_edu