Feed

MiikaHweb Blogi -> Articles


englishDynamic Paint Controlled Particle Emission

26.01.2012    8 Kommenttia

This 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. :)

Kirjoitti MiikaH klo 08:36

Kategoria:Blender, Development
Tagit: Blender, Dynamic Paint, Particles

englishDynamic Paint Smudge

05.08.2011    5 Kommenttia

GSoC 2011Now it's possible to set Dynamic Paint brushes to "smudge" existing paint as they move. By functionality it's very similar to smudge/smear tools found in typical 2D image manipulation programs. This feature is part of my "velocity brush" experiments from last week.

Here is a video of basic smudge:


And now using a particle system as a brush:



Other velocity based new features include possibility to use brush speed to define it's influence and color, and to make canvas velocity or acceleration to affect "drip effect".

Though, I really can't think of any situation where velocity painting would be essential, but hopefully someone will find it useful! :)

Kirjoitti MiikaH klo 10:57

Kategoria:Blender, Development
Tagit: Blender, Dynamic Paint, Smudge, Particles, GSoC

englishDynamic Paint Waves

03.07.2011    7 Kommenttia

Dynamic Paint WavesLast week I was checking my iWave implementation from February. As you may remember it had quite strange issues: it kept emitting waves way too long after the obstacle had moved away, and sometimes waves seemed to move in wrong direction.

Finally I decided to implement another 2D wave algorithm instead. This time it's based on "Height Field Fluids" slides by Matthias Müller-Fischer. With some modifications it now works on mesh objects and is even compatible with new vertex surfaces.

Basic implementation is now ready and committed to soc-2011-carrot branch. It may still need some tweaking but unless something critical appears this should be about finished.

Here is a video showing a couple of test scenes:



If you want to try it yourself, here is a sample .blend file for carrot branch revisions 38044 and later.
Download .blend

Kirjoitti MiikaH klo 14:04

Kategoria:Blender, Development
Tagit: Blender, Dynamic Paint, Waves, Vertex, GSoC, Particles

englishDynamic Paint vertex group painting

18.06.2011    4 Kommenttia

GSoC 2011Vertex group painting that I was experimenting with in January, is now finally available for download. I committed it to soc-2011-carrot branch earlier today, so just get a Carrot branch build at revision 37622 or later. You can get Windows builds from MiikaHweb Blender Builds section.


I also uploaded two example .blend files you can use to try out Dynamic Paint's new realtime vertex painting functionality.

This demo shows how to use Dynamic Paint's vertex level color and displace:
Dynamic Paint vertex color and displace
Download .blend

This demo shows how to use vertex weight groups to control particle hair length. This one is very similar to the "Grass Worm" video I posted earlier.
Dynamic Paint vertex weight groups
Download .blend


One critical component is still missing though. Currently there is really no proper way to render vertex colors in Blender. It's only possible to render one layer at time and only use it as diffuse color. :(
That's something I'm planning to improve later this summer.

Kirjoitti MiikaH klo 19:36

Kategoria:Blender, Development
Tagit: Blender, Dynamic Paint, Vertex, Weight, GSoC, Particles

englishDynamic Paint v2 preview

03.06.2011    6 Kommenttia

Google Summer of Code 2011As most of you know, I was accepted to work on improving Dynamic Paint this summer as a Google Summer of Code student. The coding period began two weeks ago and now I finally have something to demo.

The biggest goal of my GSoC project is allowing vertex and Ptex level painting. Those formats will use Blender's point cache as storage thus allowing such cool things like real-time viewport preview of canvas and no need for UV mapping or to actually care for file locations etc.

Here is a screencap demoing vertex level displacement painting + real-time viewport preview:


It's still heavily work in progress so it will take at least a week before I'll commit these changes to my GSoC branch (soc-2011-carrot). Also, the final Ptex support is pending until Nicholas Bishop (or someone else) finishes the basic Ptex implementation for Blender. :s

Kirjoitti MiikaH klo 09:08

Kategoria:Blender, Development
Tagit: Dynamic Paint, Displace, Particles, Development, GSoC

englishDynamic Vertex Groups

30.01.2011    4 Kommenttia

Dynamic Paint Vertex GroupRecently I have been working to improve Dynamic Paint functionality and allow painless Ptex (Per-Face Texture Mapping) integration in the future.

This next step is _vertex painting_. Basically you'll be able to select canvas output type. Available options will be vertex, Ptex and image output (current dp). Vertex output allows you to paint vertex colors, vertex groups and displaces.

Operating on vertex level makes things easier in many ways. First of all you don't have to unwrap any UV data or load image sequence textures to make it work. It's just clicking bake and seeing the results. Even displace will happen directly by the Dynamic Paint modifier.

Negative things compared to image textures are limited resolution and rendering options. That's why vertex stuff isn't going to replace current Dynamic Paint but to be an alternative way. Hopefully Ptex will be the ultimate Dynamic Paint solution. :)


I made a small demo of vertex group/weight painting. A grass worm.

In that video grass particle length is defined by a Dynamic Paint generated vertex group.


Please note that this is still in very early stage of development. You shouldn't expect any kind of test versions for several weeks.

Kirjoitti MiikaH klo 12:55

Kategoria:Blender, Development
Tagit: Blender, Dynamic Paint, Vertex, Particles, Weight

englishTesting Blender indirect lightning

13.12.2010    5 Kommenttia

I was testing how Blender 2.5x indirect lightning system works with textured emitters. At first it seemed like it doesn't work at all, especially with images, but apparently you just have to subdivide the mesh enough times to cover those emissive pixels.

So yeah, of course I ended up making a new test/demo of Dynamic Paint. In this one I used two high resolution canvases to cover all the geometry. For rendering I had to subdivide them to total ~1 million vertices to emit light properly.

I think the result is quite cool:

Kirjoitti MiikaH klo 15:01

Kategoria:Blender, Development
Tagit: Blender, Dynamic Paint, Particles, Light

englishTesting Blender Particle Fluids

24.09.2010    2 Kommenttia

Yesterday jahka committed an update that fixes most particle collision stability issues. Previously SPH fluids were quite much unusable due to stability issues. Fluid kept "exploding" randomly no matter the settings. Now, after the fix, it seems very stable.

Here is a test of a pool being filled with particle fluid. No way you could have done this a week ago, but now I see no stability issues at all!


Too bad Farsthary hasn't finished his fluid surface generator. Now one can only render fluids as particles or as a volumetric texture. So no reflections or transparency is possible. :(


In case someone is wondering why I'm not writing the Dynamic Paint guide instead. Well, I gotta have some fun too. Particle fluids is something I've been waiting for a long time, and now as it finally works, I'm gonna play with it for a while. :p

Kirjoitti MiikaH klo 18:53

Kategoria:Blender
Tagit: Blender, Particles, Fluid, Volumetrics

Realistista sadetta Dynamic Paintilla

17.09.2010    10 Kommenttia

Edellisestä videosta inspiroituneena kokeilin tehdä jotain vähän raskaampaa Dynamic Paintilla.

Lopputulos, realistinen sade:


Videossa on yhteensä 500 000 sadepartikkelia. Huomattavaa on, että maassa näkyvä tehoste on pelkkä Dynamic Paintilla generoitu materiaali. Jokainen piste ja roiske on realistista vuorovaikutusta niiden 500 000 partikkelin kanssa!

Toteutus on yksinkertainen: asetin maalitekstuurin muuttamaan maan tummuutta ja heijastavuutta, sekä nopeasti kuivuvan wetmapin muuttamaan pinnan epätasaiseksi sekä luomaan valkoisia roiskepilkkuja.

Tavallaan tämä myös sai Blenderistä yhä vakaamman. Videota tehdessäni löysin ikävän bugin partikkelijärjestelmästä. Se on nyt korjattu kun reporttasin sen partikkeleita kehittävälle jahkalle. :)

Kirjoitti MiikaH klo 20:20

Kategoria:Blender, Development
Tagit: Blender, Dynamic Paint, Particles

Dynamic Paintin beta julkaistu

13.09.2010    2 Kommenttia

Blenderiin tekemästäni "Dynamic Paint" työkalusta on nyt valmistunut toinen testiversio.

Valmiin Blenderin käännöksen voi ladata sivuni Blender Builds-osiosta tai GraphicAll.org -sivustolta.

Koodipäivityksen voi ladata tästä. Se on melko kookas päivitykseksi, lisäten jopa 4000 uutta koodiriviä. o_O

Osa ominaisuuksista ja asetuksista on vielä kesken tai puuttuu kokonaan. Silti tämä on tarpeeksi vakaa beta-julkaisuksi. Ilmoita minulle jos löydät bugeja, jotta voin korjata ne.

Lähiaikoina alan kirjoittaa opasta, joka kattaa koko "Dynamic Paint" järjestelmän. Luultavasti suurin osa bugeista korjautuu prosessin aikana.


Lisäksi tein uuden testivideon nestemäisestä maalista:

Testailin työkalun toimintoja ja vakautta ennen päivityksen julkaisua, mutta lopputulos oli aika hieno. Videossa "wetmappia" on käytetty normaalitekstuurina. Näyttää ihan joltain 2D-nestesimulaatiolta. xD

Kirjoitti MiikaH klo 18:44

Kategoria:Blender, Development
Tagit: Blender, Dynamic Paint, Particles, Fluid



Tehnyt: Miika HämäläinenViimeksi päivitetty: 07.11.2014 14:18MiikaH:n Sivut a.k.a. MiikaHweb | 2003-2021