Search Unity

TC Partiticles - Millions of GPU particles

Discussion in 'Made With Unity' started by pvloon, Sep 15, 2012.

  1. pvloon

    pvloon

    Joined:
    Oct 5, 2011
    Posts:
    591
    Sorry for deserting this thread a bit. I have been working very hard on this though! I want to share some news with you.

    1. I've released a new demo I threw together quickly, now that I've got unity pro it looks really neat! Still, not as neat as when artists would do it, so....
    2. TC Particles is now supported by 2 professional artists! They contacted me, and offered to help. I'm very grateful (I know you're reading this, thanks!). It means the final product will have some sweet demo's!
    3. Another perk of having actual artists working on this, is the feedback on the workflow. Already some great ideas, which I'm busy implementing, that really spice up things.
    4. I'm on schedule for release of a public betá early December. Not all core features are in, but basic functionality is.
    5. OP is updated to be more readable, informative, and includes a new webplayer!

    Arthur
     
  2. Selmar

    Selmar

    Joined:
    Sep 13, 2011
    Posts:
    59
    Dude. Cool. I've made something like this in XNA a few years back, which works on DX9 cards, but I had to render a complete texture to store and edit the particle data. So the particle system had to be initiated to a maximum number of particles and I'd choose a texture size based on that. This obviously introduces a huge overhead. I suppose dynamic texture size selection could've been an option for me. But even still, it's as you said: "The main problem would be to update an arbitrary amount of particles." I had to update them all (using an if statement to check if they were active). Maybe there does exist a solution for this, but I haven't found it yet.

    I don't know how you store your particles though? Damn, maybe I'll even buy it just to see your source! :D
     
  3. imaginaryhuman

    imaginaryhuman

    Joined:
    Mar 21, 2010
    Posts:
    5,834
    It's early december, where's that beta? ;)
     
  4. xenius

    xenius

    Joined:
    Sep 30, 2010
    Posts:
    523
    Xen here. I'm one of the two aforementioned artists Arthur mentioned helping with the design of the system/brutal bug hunting. As he's getting busy with family stuff for the holidays I figured I'd jump in with a cool update.

    @imaginaryhuman:

    The beta isn't ready yet for two major reasons. Firstly, the core physics force system, and built in emitter options have been expanded significantly since the original inception. It now encompasses a functionality set closer to what you would find in off-line fx/composting systems (I took some inspiration from NaturalMotion RealFlow when laying out some designs).

    Secondly, there's still a _major_ bug relating to card compatibility, that we've yet to fully track down. At the moment, all Nvidia cards have trouble addressing the full number of particles the system tries to address. You'll notice this if you run the demo on the first page with an nvidia card, after between 8 and 15 seconds, the emitters will just stop emitting particles. In certain instances, it requires a scene restart to fix things. This behavior doesn't happen on ATI cards. It makes no sense for us to do a public beta until that bug is quashed, so we can get real cross-gpu performance metrics, and have people be able to actually push the system.

    Thanks for your patience folks! TC Particles is going to be tremendous fun to play with when its released!

    -Xen
     
  5. pvloon

    pvloon

    Joined:
    Oct 5, 2011
    Posts:
    591
    Hehe, thanks Xenius for taking that one :) Sorry, didn't realise there had been responded here again!

    @Selmar: Yup, supporting a dynamic amount of particles is hard. I did a complete re-write though, a while back of the emitter code, and it's now pretty much solved. You still have to update some particles that aren't actually active, but not nearly as many

    @Imaginaryhuman: Yeah, sorry, I know! As Xenius explained though, the scope has been broadened a lot. Now that the DX11 comp is here.... well, let's say release will be after 16th of January ;)

    The bug xenius talked about has been solved now. Additionally, some of the new features:

    -Very extensive force system
    -Includes 'turbulence forces', to generate flowy motion. or motion of snow fall, or....
    -Much improved colliders
    -More emit properties, more rendering options (including some that surpass shuriken. For example 'tail stretch'. This makes particles stretch, but keeping proper UV at the front, preventing that ugly stretched look)
    -Much improved speed
    -Static collisions, for very fast collisions and mesh colliders!
    -Baked forces for very fast forces

    So, sorry people, blame unity for the DX11 comp, hehe. Betá coming mid-January!

    Thanks for all the interest in this!

    (also: I finally realized there's a subscribe option for threads. So, should reply a bit earlier now, hehe)
     
    Last edited: Dec 31, 2012
  6. QuantumTheory

    QuantumTheory

    Joined:
    Jan 19, 2012
    Posts:
    1,081
    Looks great. Well done!
     
  7. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    So you HAVE entered the dx11 competition right?
     
  8. pvloon

    pvloon

    Joined:
    Oct 5, 2011
    Posts:
    591
    yup! I'm working on it together with xenius. We might share some screenies soon(-ish). It's a massive sci-fi scene, with lot's of tesselation and of course... lot's of particles :) Thanks for inspiring UT to do such a competion hippo ;)

    @QuantumTheory: Thanks!
     
  9. pvloon

    pvloon

    Joined:
    Oct 5, 2011
    Posts:
    591
    Screenie to keep you intrested, up to you to figure it all out ;)



    (note: that's not for the DX11 comp, just a random doodle)
     
    Last edited: Jan 2, 2013
  10. HarvesteR

    HarvesteR

    Joined:
    May 22, 2009
    Posts:
    531
    This looks incredible! Although my DX10 GPU is really showing its age now...

    One question though, or rather, more of a wishful request for something I've always wanted on a particle system: How possible would it be to implement a way to parent the particle system to another object, and have it simulate in that parent-space?

    The reason I ask is that my own project (KSP) uses many sorts of moving reference frames, and for us to be able to use particles, we need to be able to have them simulate as if they were in worldspace, but also be able to move them relative to something (a parent object). Currently we do that by grabbing all particles with GetParticles() and moving them along the offset. It's an ugly solution, made necessary because Unity particles will either simulate in worldspace (which is meaningless with moving reference frames), or relative to their own emitters (which is quite unsuitable for things like rocket trails and such), and there's no way to make them simulate in parent-space.

    You mentioned that arbitrarily moving particles wasn't possible with your GPU particles, but that solution wouldn't be necessary if it were possible to have particles simulate relative to a parent transform instead.

    I'm sorry if this is an out-of-scope request... I have to ask because that's a requirement for our project.

    In any case, this system looks brilliant. Awesome job! :)

    Cheers
     
  11. pvloon

    pvloon

    Joined:
    Oct 5, 2011
    Posts:
    591
    Hi HarverteR!

    Thanks! :)
    Pssh, not to upset the DX11 comp, but I *might* be able to get this running on DX11 downlevel hardware! (aka: DX10 with updated drivers)

    After doing some test I understand your issue! Hmm, same issue goes for TC Particles: You can currently not have a particle system follow parent space, without also being local to it's own movement, if that makes sense. It sounds like a very specific use case.

    That said though, it's never a good sign when something can't be done (without hacks)! I will add a 'parent space' to simulation space. It's easy to add, and should allow for any kind of space setup you can imagine.

    The 'arbitrarily move particles' was just an example. With source code it's easy to add, it's just the GetParticles() you are missing (Also, unity 4 release has updated compute buffers a bit, and I realize it actually IS possible to make a GetParticles() function now. It would be unusable though, with a delay of >100MS)
     
  12. ZJP

    ZJP

    Joined:
    Jan 22, 2010
    Posts:
    2,649
    Hi,

    Your system may have to use a dedicated GPU?. I mean one for normal display and one for the calculation of particles?
     
  13. pvloon

    pvloon

    Joined:
    Oct 5, 2011
    Posts:
    591
    Well, that sure would make it faster, but it's a bit of a unpractical requirement right? Also, rendering is by far the most intensive apart. Even then, my 5750, which by todays standers is at best mid-range, can simulate and render ~2 million particles in real time, with some room for optimization :)

    Also, going to upgrade my PC soon, let's see what a GTX660 can handle, hehe
     
  14. xalener

    xalener

    Joined:
    Nov 28, 2011
    Posts:
    20
    I've got a radeon 7870 and none of these demos work for me :s
    The web player is just four spinning blue auras, and no particles show up at all in the downloadable demo. Not even in the second scene.
     
    Last edited: Jan 5, 2013
  15. HarvesteR

    HarvesteR

    Joined:
    May 22, 2009
    Posts:
    531
    Wow, thanks a million! If you are able to add the parent-space simulation option, integrating TC Particles into KSP should be as simple as plugging it in. :)

    Parent-space simulation isn't so rare a use case actually, it's rarely seen though, because most particle system have no support for it. But any time you need to do something like cigarette smoke in a jar or bubbles in a moving fishbowl (or rocket trails in a moving reference frame ;) ), the limitations of not having that feature become apparent.

    Again thanks!! :)

    Cheers
     
  16. Metron

    Metron

    Joined:
    Aug 24, 2009
    Posts:
    1,137
    Same here: ATI 7950 and particles do not show. I can see the second scene though. :(
     
  17. pvloon

    pvloon

    Joined:
    Oct 5, 2011
    Posts:
    591
    @HarvesteR: Thanks, no problem. Those examples make sense, so thank you for the great idea ;)

    @xalener, @metron: Aah, really bad to hear. I'm *pretty* sure what's happening, and it has been long fixed. Really, I've fixed so many bugs, situation will be completely different when I upload a new demo. I could re-create this demo, but as I'm working on a completely epic scene with xenius for the DX11 comp, that seems a bit redundant. In exchange, screenshots of that scene coming sometime soon :)

    (demo has been removed for now)
     
  18. pvloon

    pvloon

    Joined:
    Oct 5, 2011
    Posts:
    591
    Hellooo everyone!

    Xenius and I have been working hard on the DX11 competition for the last month, and it's time to show some first little teaser images!

    We present you: Museum of the Microstar



     
    Last edited: Jan 16, 2013
  19. Toasttify

    Toasttify

    Joined:
    Mar 27, 2012
    Posts:
    143
    Wow, that looks stunning the dx 11 comp is going to have some serious competition going on.
     
  20. pvloon

    pvloon

    Joined:
    Oct 5, 2011
    Posts:
    591
  21. ronan-thibaudau

    ronan-thibaudau

    Joined:
    Jun 29, 2012
    Posts:
    1,722
    Please contact me if you have a beta version coming or similar, i'm very very interested in this, also do you have any pricing range in mind already? Can't wait for this to hit the asset store, this is awesome.
     
  22. pvloon

    pvloon

    Joined:
    Oct 5, 2011
    Posts:
    591
    Hello ronan!

    Thanks for the intrest! I'm currently planning it all out, and very shortly I should have a first release candidate! The system has already been used quite a bit though, so I don't think we'll be having a betá test. Also as to price point, you'll have to wait a bit longer I'm afraid. Sorry I can't share all of that with you, but stay tuned a little longer, and it will all show up! :)
     
  23. ronan-thibaudau

    ronan-thibaudau

    Joined:
    Jun 29, 2012
    Posts:
    1,722
    Not even a price guesstimate? like 50$ 250$ 500$ or more?
    If it's solid enough to go without beta even better then, just want to get my hands on this asap! :)
     
  24. pvloon

    pvloon

    Joined:
    Oct 5, 2011
    Posts:
    591
    Ok, I suppose it doesn't have to be that secretive!
    Just keep in mind these dates and prices prices aren't final at all, we're still figuring these things out, I don't want to make promises, but so far we are thinking about:
    -A 75$ indie version, closed source
    -A 300$ pro verion, source code (including GIT repository), e-mail / phone support, etc.
    -Release date: 15th of February.
     
  25. ronan-thibaudau

    ronan-thibaudau

    Joined:
    Jun 29, 2012
    Posts:
    1,722
    As long as it's through the asset store, consider 1 pro licence sold (note that if that wasn't the plan and you wanted to skip the margin the asset store takes, count 1 licence sold EVEN if you must increase the price correspondingly).
    15 feb is soon, can't wait! :)
     
  26. pvloon

    pvloon

    Joined:
    Oct 5, 2011
    Posts:
    591
    Great to hear! I'm very eager to release this, it's just so exciting! Thanks :)

    (The plan is to sell in the asset store only, so those prices include their cut, but again, no promises!)
     
  27. gizm0san

    gizm0san

    Joined:
    Jul 6, 2012
    Posts:
    14
    I can't wait to play with your particle system plugin!! :D
     
  28. ZJP

    ZJP

    Joined:
    Jan 22, 2010
    Posts:
    2,649
    Back to bizness. I HAVE now a DX11 cg
    Are you ready to...collect my money? ;)
     
  29. SevenBits

    SevenBits

    Joined:
    Dec 26, 2011
    Posts:
    1,953
    This will be an interesting release. I'll be sure to check it out.
     
  30. TechnicalArtist

    TechnicalArtist

    Joined:
    Jul 9, 2012
    Posts:
    736
    we are waiting to good particle system like udk.
     
  31. Airborn-Studios

    Airborn-Studios

    Joined:
    Oct 31, 2012
    Posts:
    30
    hey one questions, from what i see you greatly improved performance for vast amounts of small particles - how is the performance with not so manny but bigger soft alphad particles, for the creation of things like volumetric appearing clouds?
     
  32. pvloon

    pvloon

    Joined:
    Oct 5, 2011
    Posts:
    591
    Still working hard on getting it all done! Thanks for all the kind words, really motivating! And the though of ZJP's money helps ;)

    @Airborn: Technically performance will be better, but marketing crap aside I'm going to be honest and say V1.0 will be inferior to shuriken for sure for large clouds. This has several reasons:
    ->The system doesn't sort the particles. You can imagine sorting a million particles or even more is hard, very hard. Therefore alpha blending gives incorrect results
    ->Shuriken runs on much older systems. TC Particles runs on DX11 only (soon DX10, still have to research that)
    ->Large clouds don't benefit from force's, colliders, etc.

    Overall it's not worth it to use the system for large clouds.... yet! I'm totally aware of it and it's the first thing I want to do after the launch of the system. I want to create true volume rendering for the particles, with volumetric lighting. How will that look? Well, quite epic ;)
     
  33. ronan-thibaudau

    ronan-thibaudau

    Joined:
    Jun 29, 2012
    Posts:
    1,722
    You're so mean with us, making us wait for V1 and already showing us what to expect in V2 :)
    Go get back to work! :)
     
  34. Airborn-Studios

    Airborn-Studios

    Joined:
    Oct 31, 2012
    Posts:
    30
    looking forward to this and sent you a private message :)
     
  35. ZJP

    ZJP

    Joined:
    Jan 22, 2010
    Posts:
    2,649
    Believe it or not, I bought a DX11 cg for your particle system. I kept some money for... So.... ;)
     
    Last edited: Jan 31, 2013
  36. TechnicalArtist

    TechnicalArtist

    Joined:
    Jul 9, 2012
    Posts:
    736
    Congratulations!!!!
     
  37. ZJP

    ZJP

    Joined:
    Jan 22, 2010
    Posts:
    2,649
  38. pvloon

    pvloon

    Joined:
    Oct 5, 2011
    Posts:
    591
    Thanks! I'm thrilled we won the DX11 comp, though that's of course because of our amazing team, not so much about the particles ;)

    I'm still working hard on release. Amazing how many little problems show up ;) Anton Hand in the meantime, is working on a kick - ass manual!
     
  39. ronan-thibaudau

    ronan-thibaudau

    Joined:
    Jun 29, 2012
    Posts:
    1,722
    Well deserved. The runner ups had great tech too but your demo was damn well polished !

    Please make sure to incluse a small demo scene with your tool (or better yet include the museum even if that means bumping the price!)
     
  40. panta

    panta

    Joined:
    Aug 10, 2012
    Posts:
    71
    Welp, looks like it doesn't work on my Geforce gtx 570 HD with driver 310.90 :( Do I need to get new hardware? I bought my card thinking that it supportted DX11 :p
     
  41. ronan-thibaudau

    ronan-thibaudau

    Joined:
    Jun 29, 2012
    Posts:
    1,722
    It's not just the card, it's the card OS combination, DX11 = Windows 7 at least, are you on win 7? (i have a 540 and it's working fine, but i'm on win 8)
     
  42. xenius

    xenius

    Joined:
    Sep 30, 2010
    Posts:
    523
  43. panta

    panta

    Joined:
    Aug 10, 2012
    Posts:
    71
    Yep, my desktop runs 7 :( I assume the demo he posted was an old version with bugs, so I'm downloading the Museum of the Microstar (DX11 comp, more up to date I assume) to see if that works.
     
  44. Wolfos

    Wolfos

    Joined:
    Mar 17, 2011
    Posts:
    951
    Actually, DX11 requires Vista and up.
     
  45. ronan-thibaudau

    ronan-thibaudau

    Joined:
    Jun 29, 2012
    Posts:
    1,722
    15 February is soon :) Are you still on schedule?
    hint: you're not allowed to say no! :)
     
  46. pvloon

    pvloon

    Joined:
    Oct 5, 2011
    Posts:
    591
    Hi Ronan :)

    We are.. more or less! 15th, tomorrow, is a bit too tight, we are aiming to submit to the asset store Sunday evening, the 17th. Currently there's still one or two features to do, lot's of bug fixing, documentation, etc. etc. :)
     
  47. ronan-thibaudau

    ronan-thibaudau

    Joined:
    Jun 29, 2012
    Posts:
    1,722
    In the world of software, if you ship 2 days less, it's a victory really :)

    Good news can't wait to grab this!
     
  48. ZJP

    ZJP

    Joined:
    Jan 22, 2010
    Posts:
    2,649
    Niiiiice. ;)

    or
    Can you please confirm the price?
     
    Last edited: Feb 24, 2013
  49. pvloon

    pvloon

    Joined:
    Oct 5, 2011
    Posts:
    591
    Thanks man :) What an awesome community! More info, lot's of info coming soon! I will post a small teaser shortly ;)

    Price has gone up a little, I'm afraid, after some consideration. Prices are now set to a:
    -80$ indie version
    -350$ pro version
     
  50. ronan-thibaudau

    ronan-thibaudau

    Joined:
    Jun 29, 2012
    Posts:
    1,722
    Can you remind me of the diference between each version?