DYNAMIC PAINT 3D Halftone Matrix Painting

Senin, 27 Januari 2014

Lets start 2012 with another Dynamic Paint works.

OK, I dont know what exactly to call this effect in 3D, but in 2D world for example you can break a solid image into a halftone pattern image, as below: (I use Photoshop filter)

2D Halftone Pattern Effect

So maybe we can call it 3D halftone effect. Basically we will reproduce the appearance of 3D solid geometry and represent it with many little dots or other geometry.

NOTE: I think BMW ads is using this effect and there is this neat installation with many ping-pong balls. I cant remember, but its sort of what it is we are trying to create.

There is a similar effect called Voxelation in which turning 3D geometry solid into a 3D voxelated image based on grid. But if you want to do Voxelation in Blender, you use the incoming modifier called: Remesh Modifier as stated here:
http://blendersushi.blogspot.com/2011/12/vfx-remesh-modifier-for-voxel-animation.html

Creating this 3D HALFTONE EFFECT is relatively "easy" to do using Dynamic Paint, just because the way it handles vertex weight and takes care of everything magically. It is just not very obvious and it is sort of an advance effect. But you will learn to do it today.

PREPARATION
Lets start with a simple 2D matrix grid and 3D geometry that we want to "halftone". Dont worry, we will turn it into 3D MATRIX GRID, so you will end up with 3D halftone object.

I think 32 x 32 GRID should be enough, 1089 vertex points in total to do the halftone-ing job. Create a mesh-plane, subdivide it 5 times so you get exactly that 2D MATRIX GRID. You can subdivide it more later.

Just a grid.
Now, create the 3D geometry that you want to halftone. I use Poly Torus for now. Anything with volume is good because we will turn this into a Dynamic Paint Brush with proximity to the volume.
2D grid + Torus

TURN ON DYNAMIC PAINT
1. Turn the 2D MATRIX GRID into Dynamic Paint: CANVAS. Surface Type should be set to Weight. Then activate Dynamic Paint Output: dp_weight (default).
2. Turn the 3D geometry, torus in this case into Dynamic Paint: BRUSH. Dynamic Paint Source should be set to Mesh Volume + Proximity.

PARTICLES IS THE KEY
Particles just love Dynamic Paint and together they are powerful as they can influence each other. We will achieve the effect using Particles.

So activate Particles on the 2D MATRIX GRID. Since we know the exact total of vertex number to emit particle, set the number to 1089, Emit from Vertex, uncheck Random.

Set Vertex Groups Density and Length into dp_weight. Switch Particle Type from Emit to Hair and activate Advanced. This is the most important step.

You should get something like below.


Now, all we need to do is just turn the Hair back as Particle Instance. Use poly Sphere geometry as instances:

If you cannot see the result of "dots pattern", increase the size of instances.
As you can see the effect is already working!

If you adjust few settings just so that the torus is not rendered, and you just want the halftone, you get this:

I like the 2D look, its simpler.

I think thats kind of neat. Its the magic of Dynamic Paint and how it can approximate weight based on the Brush volume and its distance to the Canvas.

If you now change the Particle instances into something else (Cube for example) you get this:

Looks familiar? Its the Voxel effect with halftone.
And what if we duplicate the 2D Matrix Grid view times (using Array modifier) so we have more slices in the Z direction. Enough to cover the whole torus volume. You have 3D Matrix Grid that gives 3D Halftone Effects, such as below:
3D Dot Halftone Effects
Try this effect on other 3D geometry with volume. Text object is a good candidate, but other geometry will work as well. The good thing about this is that this is all work in REALTIME and you can actually animate it to create an interesting animation.

Since this is a Dynamic Paint setup, you can get lots of interesting effects featured by Dynamic Paint already, such as the fading of weight as you move the 3D geometry brush around 3D canvas space. Volumetric effect like smokes works a little like this, I reckon.


ONE MORE THING....
Albeit the limitation, Blender has more or less procedural effect via its modifer. Below, for example, I further disturb the 3D matrix with Displace modifier, controlled by Empty (Locator) below, when I move the locator, it will move the 3D Halftone Dots.


Now, if you instance them with colorful balloon material and render using Pixar Renderman, you have balloon effects like in Pixars "Up". All you need is thousands of thread connected below each instance.

How do you get and control the color of each ballon? I will let you figure it out how.


What even more interesting is if you instance some animated objects. Maybe crowd of fish? Butterfly?

Related Posts by Categories

0 komentar:

Posting Komentar

Copyright © 2010-2022 Kabar Blog | Powered By Blogger