for those who are new to this blog and are impressed by the work of Stephen and Farsthary, be aware that all these additions would not have been possible quickly without the impressive particle system from and continuously improved by Janne Karhu, and by him kindly advising them. So if you want to support these developments, you can also give a part of your donation to him (he is also the code reviewer and the final integrator (this takes some time) so he REALLY deserves this).
The good news continue arriving 🙂 I added yesterday a stickiness factor to the particle collider objects that will allow more interesting effects as I will post soon in my site, like wet surfaces, etc.
Coding it as a property of the collider object instead of one of the particles will allow to set up scenes with different colliders that respond differently to the same particle system.
Is very easy to commit as it will require few lines of code but the benefits are enormous, it works with all particle physics types and especially well with the upcomming Fluid particles. I will send it to Jahka for his expert review and commit
Hope you like 🙂 Farsthary
A normal fluid without stickiness
the same fluid this time with stickiness in the collider
The already commited new harmonic force with stickiness could made some cool fluid like behaviors too 🙂 !
A simple newtonian particle system with a sticky surface
One more time the community is there when I need it: every bit of help count in this side of the world and after Christmas Blendiac
and WifeofBlendiac will bring me all your support at once, allowing me to ugrade the hardware and to continue building my home, also
freeing myself from annoying tasks that eat a lot of my free time, that I could use instead to speed up my Blender projects
(15 euros is my regular job salary so even $5 represent a third of my whole month salary), rest assured that every support I’ve received
from you will be invested on improving my Blender development. Also as I think support is everything ranging from encouraging comments,
resources and papers when I’m searching for them to funds and up above friendship 🙂
The possibilities that fluid particles bring to the artist are truly endless, if you think outside the box not just realistic fluids
simulations are possible, including now multifluids interactions 😉 but crazy FX’s if you are willing to experiment and go beyond physics range
One nice side effect of being tightly integrated in the already powerful Blender particle system is that it could make use of every feature of it,
so many powerful features of advanced fluid simulation tools like Realflow are already available!!!!! Like for example sculpting/painting
fluids, with the comb/brush tools of baked particle sims you could actually shape your fluid simulations!!!! and that is just the top of the
iceberg 😉 Daniel Genrich has suggested me a feature that I have actually never think about it:
One thing I still miss is the ability to mix mixable fluid (e.g. 2 water based ones) with different colors and different densities and their properties get diffused/merged/mixed during time. So 2 water based fluids (which are mixable) where one is yellow and the other is red would result in a orange mixture.
Coding that should be a piece of cake for you 🙂 (Simply use the nearest neighbor function to get the color/property of the surrounding particles andd mix them according to the physics or some nice artist approximation) 😉
And yes, this is very easy/straightfoward to add to the current system, ANY particule property could be mixed/simulated/diffused because that is the heart of the SPH methods but I would like to research it a little more to extend it to fully mix complete materials/textures (shading); not just colors and simulation parameters. Of course, that’s something that should be reflected in the surface generation algorithm that will need to be developed for it, because the current metaball system surface generation don’t support mixing materials and also that part of the render pipeline will be subject to changes for good soon 🙂
I have recently increased the accuracy of the fluid particles taking into account now the particles masses in the whole simulation process allowing nice effects that
I show in some videos here like very dense fluids with ligthly fluids sims, etc. For post integration many improvements could be done and one of the Jahka targets is to increase the speed of the particles systems and lowering their memory consumption so more particles could be used in simulations because the current limit 100k particles for one particle system with fluid particles will be very low 😉
Here I show you more videos with crazy set up ones (asymetric fluids sims, microorganisms like, chemical reactions), and more practical others…. hope you enjoy them 🙂
A rough ligthouse sim, I love the waves 🙂
half dense fluid on top of other
double dense fluid on top of other
A fan mixing fluids
Microorganism like 🙂
A chemical like explosive reaction like sodium with water?
I don’t know if it’s the same for you, but since the incredible inclusion of the Elbeem fluid simulator in Blender I track every release trying to make this simple set up: mixing realistically a red fluid with a blue one, sadly without success.
My ignorance about CFD (Computational Fluid Dynamics) at that time prevented me to know that for Euler based methods (array based, domain based) this is not straightfoward to implement multiple fluid interactions of fully different natures (different density,viscosity,elasticity,plasticity,materials,etc), so one of my initial targets when I started (and later joined Stephen) in the SPH fluid particles was to overcome that limitation since one of the strongest point of SPH methods is the ability to handle in a transparent way any kind of interactions and that will make a nice family of use cases different from the Elbeem fluid simulator.
I never thought at that time that I would had played a role (even a small one 😉 bringing that feature to Blender…. WOW! it fills me a lot 🙂
I code it in one shot and when I ran the first tests I couldn’t stop jumping in my chair 🙂
So finally is here, as my Christmas present for the whole community, a very much expected feature, so soon you will be able to mix oil and water ,
milk with chocolate… anything you could imagine in your beloved Blender.
hope it blow your mind 😉
Happy Christmas, Farsthary
PS: the final thing in the todo list for committing fluid particles will be the surface generation, that will be tackled soon.
this is a small tut about using the new harmonic force, hope you will find it usefull.
Lets create a simple yet cool particle scene with the new enhancement to the harmonic force
First create a plane emitter, with zero world gravity and around 500 particles emitted at the same
time in frame 0 with zero initial velocity, so they basically rest in that plane if no forces where
Now set the following particle properties:
Is important to set the Newtonian damping value because otherwise particles will blow away 😉 but you are also free to experiment with the Harmonic damping factor, the rest length, etc. the final result should be something like an oscilating water like drop, all of this without particle fluids yet!
Note also that you should use a newer SVN revision than 25500.
Thanks to Jahka who told me that he suspected the current harmonic force to act in a similar way to my spring implementation, I have performed some researches and he was indeed right. Just that the harmonic force doesn’t consider a rest length parameter. So I have merged both implementation into one, where the harmonic force now uses the spring force code with rest length and reuses the previous Harmonic velocity damping.
Now everything is ok: if the user sets the rest length of the new harmonic to zero he will get the old harmonic behavior, while if he set its value to any other’s one he will get the new spring force behavior. The new patch is at http://www.pasteall.org/9882/diff
Now it requires even less changes plus it inherits its gizmo 😉
Lately, Stephen and I were busy trying to implement spring forces for the Fluid Particles. we had made many test and something was always wrong, leading to some stall in this project but sometimes you just have to let your brain does the homework in a background process, take some rest, enjoy your life and suddenly it will pop you with a correct solution 🙂
Yesterday I was trying to reduce the problem to its simplest form: adding spring forces between two particles, outside the fluid solver, I was too focused on the fluid solver that the solution was always in front of me and I couldn’t see it 😉 , that simple switch of point of view lead me to the solution: implement it as a force and not as impulses like suggested
the main paper, suddenly everything started to flow 🙂 and as a nice side effect I implemented a new particle force type: Spring force, not just for fluid particles but for everything! 🙂
Searching to add spring forces for the fluid particles I ended up with a nice patch that adds also spring force as a new general force type that could be used like any other blender forces: for objects, particles, etc. Needless to say the importance and wide use cases for spring forces in 3D, previously this functionality was available in Blender only in softbodies,cloth and constraints but with this patch this could be extended to particle systems for many VFX’s and also to objects, the possibilities are endless 🙂 It’s interesting to note how the particle system integrate features from softbodies and fluids 🙂 It’s very easy to implement and does not break any previous code, it only will need a new UI slider for spring rest length but I’m not good at UI coding, for you it should be easy to add 🙂
Thanks to Mcreamsurfer’s feedback I was able to correct the bug that prevented the particle emittor with the verlet integrator from being correctly animated, now it is solved. I have sent the patch to Jahka , just be patient because he is currently busy.
I’ve also made some tests about the nice particle system feature of fading in time for cached simulations: It allows to see the flowlines 🙂