MiikaHweb Blogi -> Development
Git logs and statistics now online
21.11.2013 1 KommenttiNow that Blender has migrated from SVN to Git repository I have also updated my Blender Commit Logs and Statistics.
Statistics page is still missing releases and currently only "master" branch commits are displayed. I'm investigating best ways to implement generic branch support, as the way Git handles them is somewhat different, so it needs special consideration how to best represent them.
Since the main SVN repository won't be updated anymore it doesn't make sense to keep old statistics or logs hanging around either causing unnecessary confusion. In couple of days I'll remove them and place redirects to the new Git alternatives.
If you are still interested to find old SVN commits I have mapped original SVN revisions to older Git commits, so you can still use the old revision numbers in new Git log to look for specific commits. (e.g. "r50000" :)
Kategoria:Site News, Blender, Development
Tagit: Blender, Statistics, Git, SVN
Yet another Blender smoke test
01.06.2013 2 KommenttiaYeah, here goes again, more playing with Blender smoke simulator. This time I wanted to try a bit larger simulation utilizing adaptive domain and my other latest improvements.
Here is the result. Sorry, not gonna upload .blend file for this one:
Adaptive domain was a great help as it allowed really fast bakes of the first 70 frames. Basically I was able to do dozens of low res tests for the first rocket with barely a minute wait each. Smoke motion was heavily guided by animated force fields.
Overall I'm quite happy with it, even though the wind is too strong and dust is rising way too fast for that large scale. (That wasn't visible in the first hundred frames I mainly tested with...) Yet I didn't want to spend another evening tweaking and re-baking so just decided to render that one.
That model is slightly modified version of MLRS by SONGKRO from Blend Swap.
Kategoria:Blender, Development
Tagit: Blender, Smoke, Fire
Blender smoke subframes
17.05.2013 18 KommenttiaOne of the remaining "easy-to-fix" issues with Blender smoke simulator has been that you can't have fast moving objects emitting smoke. At least not that easily or smoke flow would leave behind a bunch of disconnected dots instead of continuous flow of smoke.
Now I have committed subframes for smoke flows. That means you can define how many additional time samples will be taken between each simulation frame. Below is an example of a fast moving particle with multiple subframes and no subframes:
One thing to notice is that this is a flow setting, not domain one, for couple of reasons. First of all, subframes are applied only in the emission phase. Simulation itself won't calculate additional time samples, so there will be no change in behavior of the fluid and you can use very high subframe counts with only minor performance drop. Also this allows you to enable subframes only for smoke flows that move fast enough to benefit from it.
Another new thing is ability to define size of flow particles. Previously it was common issue that when you increased domain resolution for final bake, particles became way too small. Now you can just increase particle size if needed.
These new size based particles are also compatible with my previous "full sample" high resolution update. So no more blocky particles either. Besides, this allows using smaller than "low res cell" sized particles, so you can have detailed tiny particles without having to increase simulation base resolution up to several hundreds like before. It's enough to just increase high resolution divisions. :)
Here are couple of renders from my subframe test scenes:
These new features are available in Blender trunk builds of revision 56884 and higher.
Kategoria:Blender, Development
Tagit: Blender, Smoke, Fire
Getting rid of smoke blockiness
10.05.2013 12 KommenttiaI was recently investigating how to reduce that blockiness you get around smoke emitters. I did several tests with it and was so amazed about the results that it frankly makes me feel stupid for not realizing there was something wrong earlier.
Previously high resolution flow voxels were generated based on the low resolution ones. So if you had 32 simulation base resolution and 4 division high resolution, it still used smoke flow generated from those 32 resolution voxels. Now I introduced a new sampling method called "Full Sample" that generates full resolution flow for for high resolution domain as well.
You can enable "Full Sample" in smoke high resolution panel. That menu also includes old "Nearest" and "Linear" interpolation settings for smoke flow in order to keep old files compatible. Full sample is default in new simulations though.
There was also a bug that partly disabled smooth effect from my older smoke patch from couple of years back.
Here is a comparison between old and new high resolution smoke:
Left suzanne is the low resolution version (32 res). Then the old (4 division) high resolution flow. Last one is the new "full sample" version using otherwise same settings.
Another comparison with a complex mesh flow:
Again, left is the old 32 res 4 high division simulation. Right image is same setup with full sample flow.
One problem especially with fire simulations has been that the fluid motion usually looks good with fairly low resolutions. However it has been necessary to increase the resolution anyway, in order to get rid of those blocks. Not anymore. It's also much easier to create thinner layer of smoke around the emitter. Not to mention higher detail when using textures as flow masks. :)
I made couple of new fire demos inspired by the possibilities of block-free smoke flows:
Here are the original .blend files for you to play with:
Burning Suzanne (64 base, 4 div high): burning_suzanne.blend
Burning Plane v2 (48 base, 3 div high): burning_plane_turbulent.blend
The new full sample flow type is available in Blender trunk builds of revision 56665 and higher (or the upcoming 2.68 release).
Kategoria:Blender, Development
Tagit: Blender, Smoke, Fire
Blender Explosion Testing
12.02.2013 1 KommenttiToday I was playing with smoke simulator to make sure it still works fine for the Blender 2.66 release. I ended up doing a high resolution explosion scene that uses most of the new features from my GSoC 2012 work.
This explosion uses force fields to create additional turbulence to the simulation. Fire particles (floating by the "smoke flow" force field) add smaller detail. Also emitters and some of their properties are animated to give more control over the simulation.
For final render I used domain resolution of 96 + 32 additional "adaptive domain" resolution, so total 160 base resolution. Baking it high resolution enabled took couple of hours.
If you feel like playing with the setup, you can download the final .blend file here:
smoke_explosion_final.blend
Kategoria:Blender, Development
Tagit: Blender, Smoke, Fire
Blender fire testing + .blend files
10.08.2012 12 KommenttiaNow that Google Summer of Code 2012 is almost over it's time for heavy testing and final improvements of my Blender smoke project.
This week I have been experimenting with different fire simulation and render setups to find out new ways to improve simulation quality. While testing out new code I also prepared three fire scenes for download so you can start playing with fire too without having to do days worth of experiments. :p
Check out the renders here:
Unfortunately there still isn't a single click "Make awesome fire!" button. Setting up realistic scene still takes lots of tweaking for both simulation and render. However simulating fire in general should be now much easier with these GSoC changes.
Burning Plane
This scene is an extreme example of texture controlled emission. A cloud texture with animated z-offset is used to generate additional turbulence to fire. This gives a huge visual improvement over a plane that emits fire evenly across whole surface.Download: burning_plane.blend
Burning Sphere
The basic idea of this scene is very similar to previous one. However this time texture is tweaked with a color ramp to emit some fire even from darkest areas of the texture.Download: burning_sphere.blend
Fire Pillar
This is a very basic scene I used to test high fuel/flame emitter. Notice how I have unticked "Absolute Density" checkbox from flow, making it "additive" instead. This way fuel can smoothly increase to very high amounts creating long lasting tall flames.Download: fire_pillar.blend
Please note that to use these .blend files you need a Blender "soc-2012-fried_chicken" branch build of r49779 or later. All scenes are also quite heavy so it's better bake the cache. :)
Update: My smoke code has now been merged to Blender trunk. So any trunk revision of r51259 or later will do. :)
Dynamic Paint Controlled Particle Emission
26.01.2012 8 KommenttiaThis time I was experimenting with idea of Dynamic Paint being able to emit particles. Since this isn't possible with any official release of Blender I coded a basic system to try it out.
Here is the result. You see particles "painting" holes into the wall, and those painted holes creating more particles:
However this is just a highly experimental hack built on top of Blender's current particle system, so I'm not going to release the code.
But you can take this as a preview of what's coming whenever the new particle system becomes available. Then I'll start working on Dynamic Paint support right away. :)
Kategoria:Blender, Development
Tagit: Blender, Dynamic Paint, Particles
Blender Statistics Now Online
28.12.2011 1 KommenttiA new MiikaHweb section "Blender SVN Statistics" is now online.
It shows real-time statistics about Blender development based on SVN commits. You can view charts based on releases, branches, developers or date.
Statistics section is still under development so some things are likely to change during upcoming days. Anyway, I hope some of you will find this useful or interesting. :)
Kategoria:Site News, Blender, Development
Tagit: Blender, Statistics, Release, SVN
Dynamic Paint Testing
23.12.2011 2 KommenttiaOnce again I was playing with Dynamic Paint eventually ending up with two new demo videos.
Dynamic Paint - Snow Test:
This was a simple experiment trying to make realistically gathering snow in Blender.
To do the effect I used an "incremental" displace surface with very low negative "displace factor" value. This made snow to slowly increase displace on areas where particles touched the mesh. Then I just added another white paint surface on top of it.
Snow surface is a bit too bumpy due to over amplified effect of individual snow flakes. (To not have to render 10 minutes of snowing. :)
I suppose another better approach would have been to actually use fluid particles of high viscosity. Though bake times would for sure have been longer than current 2 min for 1000 frames.
Dynamic Paint - Rain Ripples:
This time I was using Dynamic Paint waves to replicate rain ripples on a mirror calm water surface. I think it worked out quite nicely and it didn't really require any more work than slightly tweaking wave surface parameters. It's all texturing and bump maps so the water mesh is just a single quad.
To rant about something: particle system was really giving me a headache. Like usually, I had to use particle colliders of animated "permeability" to regulate the emission speed. Due to lack of reactor particles or texture/weight controlled emission it was impossible to create any kind of splash at points where rain drop hit the water. Not to mention two new bugs I encountered...
So I'm really looking forward to upcoming node based particles system by Lukas Tönne. :)
Kategoria:Blender, Development
Tagit: Blender, Dynamic Paint, Waves
More Dynamic Paint videos by users
05.12.2011 3 KommenttiaPosting some more awesome Dynamic Paint usages picked from YouTube/Vimeo. It's always interesting to see what people are creating with it. :)
Apatosaurus+DynamicPaint-Blender2.6 by blenderguy2008 (Footstep displace):
VisFX Blender Project 5: Water "Blending" by magiciandude (The pond water motion):
Burning paper in Blender by Linny:
Lets Paint!! by Michael Fox:
Kategoria:Blender, Development
Tagit: Blender, Dynamic Paint