Blender's smoke simulator currently uses a fixed 'domain' - the volume in which all smoke simulation takes place. You can often spot this when smoke seems to hit an invisible boundary. Miikah is currently working on replacing the fixed volume with an adaptive one.
Miikah writes:
Early testing testing of adaptive domain size feature I'm currently working on.
When it's enabled: smoke domain scales it's resolution and size to only match areas where smoke is. This enables very fast simulations of large smoke areas if only one part of the domain has smoke at a time.
You see two bounding boxes visualizing domain area.
1) The static one is the "normal" domain area, basically it just defines the size and location of the simulation.
2) Then there is that moving area. It's the actual simulated and stored part of the domain, adapting to simulation content.Note: This is an experimental feature I'm working on as a GSoC 2012 project. Development happens in the "soc-2012-fried_chicken" branch.
49 Comments
PRETTY COOL!!!
man that is so cool :)
*hugs*
Holy Smokes! Terrific stuff Miikah. Thanks for all you developers do for Blender.
How about no domain? :P
Looks pretty cool tbh!
thats what i was thinking, so like why not completely abstract the domain concept to the end user? since the results are the same
This essentially IS having no domain, since you'd never see the borders. All it comes down to is stopping the domain from actually being visible, and you won't notice the different. However, I'm the type of person who thinks more control is always better, so I'd prefer if the domain stayed and we could see what it was doing, and hide it if we don't want it.
Having no Domain is not possible, since the blender world is nearly infinite, so it would cost alot of calculation. Also it's some kind of optimization, if you need such a big domain, you can be sure that there is something wrong with your scene. ;)
Thank you :-)
Great job!!!
Beautiful ! Very interesting ! I'm sure I can use this some day !
Awesome stuff
Aswome!!!
yesssss
happy smoke!
yeah keep up
Smoke is becoming more and more tasty! :)
Is it possible to make a system with hundreds of small domains which will be acting like small "puffs"? Linking all this to separated particles probably. So I mean all these domains will take fewer place than middle sized adaptive. Am I raving now :) ?
I'm sure it's possible!
This is what Houdini does with its multi-domain PyroFX feature. But sure would be great to have in Blender
Technically already possible: I often see people use the simulation domain as the volumetric material, but you can use a completely separate object and simply point the mapping coordinates to the domain object. If you just keep adding textures from multiple domains, you can essentially create a mega volume containing multiple simulations. Maybe not hundreds, but a start :)
An intervention on the smoke domain has been one of my most wanted feats since forever...THANKS!!
That would make a huge difference. Thanks, Miikah.
bravo bro .
WOW! Spectacular progress
AWESOME! Smoke is the hardest simulator to use right now. When will this be added trunk?
On the contrary, it's the only one I've ever gotten good at because I found it much easier than the rest...
This is exactly what we need! When is it in the blender trunk? :D
Two gotchas, smoke domains really mess up textures in BI if the cross other objects, they also cannot colide with each other if there is more than one (bad things happen if you do). Hopefully these issues will be improved in cycles.
That being said THIS IS AWESOME... thanks sooooo much.
That fried chicken branch looks mighty tasty! ^_^
Just pondering but would this also be a solutions for fluid sim?
That was exactly my thought.
Though, I guess it's a bit more difficult to pull off with stuff that's never actually supposed to disappear.
Smoke dissolves into invisibility after some time. The same thing for fluids wouldn't work so well.
But if you still have a maximum domain size or something like that, I'd think it should work just fine.
That or SPH particles finally get propper skinning.
Wow, I suggested this in the BA thread at the beginning, but never expected that it would actually happen. Great job! This sort of reminds me of Lagoa adaptive domains.
Great!!!! It s prefect.
Can be plane or cylinder or ball.
If cylinder , it made look like missile.
May i ask. Tutorial?
Been wondering IF this feature will ever be invented. LOL
I could stare at this all night long. EXCELLENT work Miikah!! you make us proud to be blender users, and you are doing one hell of a job. keep it up. :)
NICE!!!
Mother of Smokes! Could this feature be implemented for fluid sim too?
+1
Pleeeeeeassss !!!!! ^^
This is awsome, now it'll be easyer to make fireballs or magic stuff. ^^
Can't wait for it to be in the trunk.
The biggest problem for smoke right now is that it can't collide with animated objects, so it can't collide with a car, it can't collide with a character, and this is a nonsense for production use of the smoke feature.
The adaptative domain is great because it will give freedom and will add speed to the simulations, anyways, the collissions are pretty important, and are being ignored in blender since always (look at the speed a fluid can collide with an animated objecs, it takes ages, and the smoke simply can't).
Congrats for the feature, but please try to add collissions for animated meshes.
Cheers.
Afaik animated collision objects have been already added in trunk for mango
Animated collisions are in trunk and will be in 2.64 :)
Oh! Great news!! Finally!
Now the only thing that lefts is soem good performance on animated collisions with fluids and some meshing technique for the SPH particles, and we'll have great simulation tools inside blender :D
Why not make the domain animateable too?
Is this the first implementation of adaptive domain in simulations as far as other 3D apps are concerned? I assume it is. Or am I mistaken?
-Reyn
You are mistaken, at least maya has it (and also Houdini) and I think even FumeFX.
Cheers.
Pretty much all sim programs had it for years already...
Thank you very much for your good work Sir!
Awesome stuff. It looks like it seems to be working well; do you think it will be ready (stable) soon?
is the domain subdivided fractally, thereby reducing calculations??
and for water?