Wednesday, December 8, 2010

Monday, December 6, 2010

Particle texture coordinates

For a long time now Blender 2.5 particles have been crippled in the way that you couldn't animate particle material properties like color with particle age. In Blender 2.4x this was accomplished by creating an ipo-curve to a material property and then by some magic the frame range 0-100 was mapped to the particle life time. For me this always felt very unintuitive and hacky, so when the feature got naturally broken with the animation system update for 2.5 I didn't really feel like reimplementing the feature until a proper way of doing this was found.

To make a short story even shorter yesterday I found the way :) For quite some time textures that were applied to hair strands have had the "strand" coordinate option, which uses the point along a hair strand as the x-coordinate of the texture lookup. I simply upgraded this option to "Strand/Particle", so for normal particles this coordinate option now uses the particle age as the x-coordinate. Simple and extremely powerful! As an additional feature the y-coordinate is mapped to the location of a trail particle, so particle trails can be faded and colored nicely too!

I'll try to make a short introduction video to this functionality in the near future, but for now I hope you have fun playing with this! Some more technical information in the commit message.

Friday, November 19, 2010

SPH fluid particles, oh my!

It seems that the SPH fluids had a quite big problem in the way the algorithm was implemented. The problem in the implementation led to things like this:

Oh my indeed! Not very physically correct looking! The fluid particles drop straight down to a horizontal collision surface, so how can there be big sideways motion in just one direction? Oh well.. after a day of furious coding the algorithm is now much better implemented and here is the result with the exact same settings:

The fluid doesn't really look the same because the calculations are done differently, but at least it seems much more physically correct as the fluid spreads evenly in all directions and not just one. After some parameter tweaking here's the final result:

Ahh, much better! For technical information see the commit message.

But there's more! As a result of this new correct implementation I hear Stephen's viscoelastic springs addition to SPH paticles is more stable than ever. He was also kind enough to upload some quick teasers of what's to come:

Monday, October 11, 2010

Oh how time flies

My sincere apologies for keeping silent for so long, but it seems that there has just been too much happening in my life to have time to post updates. Not much happening on particles currently, but here's a quick recap of what has happened since my last post.

As some of you may already know I got a 7 month job from the Blender Foundation as a part of the 2.5 support team! The current main goal is getting Blender 2.5 out of beta, so bug fixing is what I mostly do these days. Currently I'm keeping busy with non-particle bugs, but that's only because the 2.5 bug tracker is already pretty much free of particle bugs. I dare you to find me some more though as the goal is to have 2.5 ready for serious work!

As part of the bug fixing I refactored the particle collision response code to be much more stable and robust. So no more leaky/freaky collisions for particles! Real new features are a no-go before 2.5 is out of beta, but that hasn't stopped others from tinkering with cool stuff for the future.

Raul's fluid particles were committed before the feature freeze and I currently have a patch to review from Raul and Stephen that implements plastic spring behavior to the fluid (sticky goo here we come!). This feature will hopefully be ready when the feature freeze ends! You can read more about fluid particle development in Raul's blog.

Lukas Tönne has also been busy with node particles and more. I haven't yet had much time to check out his work but I've been hearing many good things and have high hopes for this project! More info about this in Lukas's blog.

I still think it would be a good idea for me to start making video tutorials on various sides of the particle system, but I just never seem to have the time to sit down and start recording. I also have a huge todo/ideas list for particles and proper development will surely continue once the feature freeze ends.

To finish here are a few teaser pics of a what could be possible in the future with just one particle and some code I have laying around :)

Friday, February 26, 2010

No more bugs please!

Sorry again for the lack of updates recently, I have a boid basics tutorial waiting to be recorded, but unluckily I'm still too busy to really get into it.

But that's not the reason for this post, because now I've totally had it! Yesterday I finally had a tiny bit of time to check on the state of particle bugs in the tracker and what do you know I start fixing them one by one and notice that it's really nice to do some proper particles coding again. Then along comes today and I get this terrible urge to actually code some features! "It's been too long since I've been out having fun!" cries my particle brain. So here we are with some small updates to hair dynamics and I didn't get a single thing done from the actual work I was supposed to do today!

So I'm asking you guys, no more particle bug reports unless you really want me to code some more features! The withdrawal symptoms are getting stronger and every day it gets harder being away from particles ;)

Sunday, January 10, 2010

Vote for first tutorial topic

Thank you very much for all the suggestions both here and in the blenderartists thread!

First some notes about what can't yet be done in 2.5, but will be possible once I have time to re-implement these things better. Tutorials for things that need these features are currently out of the picture, but I'll be sure to make tutorials of these features once they're done:
  • reactor particles
  • texture controlled emission (disintegrate effect)
  • individually animated particle color (yellow fire turning into black smoke etc)
  • dupliobjects animated properly with particle life

Also like I said in the previous post my artistic abilities are not too great so if you want tutorials on artistic subjects such as for example a waterfall, camp fire, trail of meteorites, you have to give me some reference like a tutorial from some other software so that I can cheat a bit on the artistic side and think about the technical side of things. And who knows, if the thing described in the other tutorial is not yet possible in Blender I might get some inspiration to work on features that enable that kind of functionality :)

So finally for the actual reason for this post: in the side panel you can now vote for the first tutorial topic, so pick your favorite! You can of course also post new ideas for future topics in the comments of this or the previous post.