MiikaHweb Blog -> Dynamic Paint (Page 2)

Blender wetmaps breakdown

Jun-07-2011    0 Comments

I just found out about this great Dynamic Paint test by CristobalAtria. It shows very clearly how and why to use wetmaps together with fluid simulations to achieve realistic renders. So if you have been wondering what wetmaps are good for, check this out:

Posted by MiikaH at 09:03

Category:Blender, Development
Tags: Dynamic Paint, Wetmap, Fluid

Dynamic Paint v2 preview

Jun-03-2011    6 Comments

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

Posted by MiikaH at 09:08

Category:Blender, Development
Tags: Dynamic Paint, Displace, Particles, Development, GSoC

iWave foam generation

Feb-17-2011    4 Comments

Wake and foam testingLately I have been tweaking and testing iWave simulator to achieve more realistic results. Sadly it seems like the more tests I do, more strange behavior I encounter. :)

But realistic or not. Results are at least very interesting, allowing yet another new way for Blender objects to interact. So of course I will finish this project and improve it as much as possible. One new thing is foam generation. When enabled, it automatically generates foam on wave highpoints and is very good for boat wake/trail foam.

Notice a "bug" how those small waves are moving in the wrong direction in the beginning. Let's consider it as engine turbulence. ;)

Basic water movement (ambient waves) are generated using Blender's new Ocean Simulator modifier, boat wakes using iWave.

Because adding new 2D-simulators to Dynamic Paint is quite easy it's likely that I will implement an alternative more accurate wave simulator sometime in the future.

Edit: An alternative wave algorithm (not iwave :x) has been added to Dynamic Paint instead.

Posted by MiikaH at 15:29

Category:Blender, Development
Tags: Blender, Dynamic Paint, Waves

iWave + Dynamic Paint!

Feb-13-2011    11 Comments

A couple of days ago I was playing with Blender ocean simulator modifier. While it's able to generate realistic wave motion, it's not able to interact with other objects.

Then I got an idea: what if I integrated a simple wave simulator with Dynamic paint!

So I ran across iWave algorithm by Jerry Tessendorf. I also discussed this with ZanQdo (Daniel Salazar) who was already implementing iWave for Blender through Python. We agreed that Dynamic Paint could be the best way to go, because it allows easy object interaction and is able to output textures as well as displacement.

iWave is a simple algorithm for simulating 2D water surface ripples/waves and their interaction with obstacles.

Now after a few days I already have a very basic iWave integration:

What you see here is an iWave surface interacting with Blender objects via Dynamic Paint. You should also note that it's just a normal mapped plane, so it's very fast to render!

Unfortunately, there is still lots of work to do before I can release a public test version... :s

Edit: An alternative wave algorithm, has been added to Dynamic Paint instead.

Posted by MiikaH at 13:03

Category:Blender, Development
Tags: Blender, Dynamic Paint, Waves

Dynamic Vertex Groups

Jan-30-2011    4 Comments

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.

Posted by MiikaH at 12:55

Category:Blender, Development
Tags: Blender, Dynamic Paint, Vertex, Particles, Weight

Some cool Dynamic Paint test videos

Jan-19-2011    5 Comments

I figured I'd post some cool Dynamic Paint videos I've seen on YouTube/Vimeo. :)

Tyre burnout skid marks by blazraidr:

Fire burning away skin, also by blazraidr:

Cool fluid drip effect (Dynamic Paint texturing guided by fluid particles) by edi:

Dripping paint on a simulated cloth, by TheBlendervideos:

In case someone had trouble compiling Dynamic Paint, I recently uploaded v1.18 that mainly fixes compile errors on latest SVN revisions (no new functionality).
I also posted the patch to Blender tracker. Hopefully someone is able to review it before they start accepting new features. :x

Posted by MiikaH at 18:00

Category:Blender, Development
Tags: Blender, Dynamic Paint

Dynamic Paint v.1.17 out

Dec-19-2010    12 Comments

Bake status reportingYesterday I found an easy way to report Dynamic Paint status without console. Just show the result within the ui - like many other Blender parts have done for a while. Yet, I never figured it's possible to do that. :x

Now, when baking is done you get a new text field below the bake button that tells you what happened. On a successful bake it just reports "Bake complete! (Time: -)". In case of an error, like missing UV data or no paint objects in scene, you'll get an error message that tells you what's wrong.

Of course all this info has always been visible at console, but now it's easily visible within the ui! Still can't believe I didn't figure this out earlier. x_X

EDIT: I also added Blender 2.5x style error and warning messages in case of a non-successful bake.

Posted by MiikaH at 15:32

Category:Blender, Development
Tags: Blender, Dynamic Paint, Patch

Testing Blender indirect lightning

Dec-13-2010    5 Comments

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:

Posted by MiikaH at 15:01

Category:Blender, Development
Tags: Blender, Dynamic Paint, Particles, Light

Dynamic Paint out of beta, v1.15 released

Dec-06-2010    1 Comment

Dynamic Paint Material SelectI just released a new version of Dynamic Paint.

Changes in Dynamic Paint v.1.15:
- You can now select which material to use when "Use Material" is enabled. Now the color selection box changes to a material selector. If no material is selected, it behaves just like before.
- Removed some useless ui elements like display/render settings and buttons from modifier panel.
- Some minor tweaking.

Since Dynamic Paint seems to be stable and I don't have anything critical on my todo list, I think it's time to roll Dynamic Paint out of beta. :) I'll keep updating if something comes to mind, and of course I'll keep this compatible with SVN. Now it's just waiting for Blender to start accepting new features and then see if DP can become officially part of Blender.

Of course there are some things to add or change later, that aren't currently possible to do:
- Non-ui-freezing bake system. I'll implement this as soon as it's possible without random crashes.
- PTex support. To do as soon as Blender itself gets PTex support.

Thanks everyone for your support, feedback, donations and for testing Dynamic Paint!

I just found out that mouse cursor progress bar works again in latest SVN revisions. Re-enabled now in v.1.15b.

Posted by MiikaH at 17:15

Category:Blender, Development
Tags: Blender, Dynamic Paint, Patch

Dynamic Paint Guide Finished

Nov-30-2010    5 Comments

Paint render exampleIt's been more than a month since I released the first part of my Dynamic Paint guide. Now the second part is finally here.

It took way too long and I'm still not quite happy with some parts of it. But I have been completely missing my motivation to touch it. This guide has been like 90% done for up to two weeks. x_X

This second and final part of the guide explains all paint object related settings and also includes some downloadable .blend files.

Here is a render from one of the samples: Wetmap textures for fluid simulations.

Posted by MiikaH at 19:07

Category:Site News, Blender, Development
Tags: Blender, Dynamic Paint, Tutorial

By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021