FlowMap Painter



As an extension of the work I’ve been doing creating a vertex painter for Unity in my spare time, to which I recently added flowmap painting functionality, I realised that a standalone flowmap painter might be pretty handy for non-Unity peeps. So, I spent some time over the weekend porting the editor API stuff over to runtime code, and built a standalone.

So the general idea is that creating flowmaps has so far traditionally been the work of, say, Houdini sims, or complex particle setups which are baked out, or more recently, standalone editors that involve placing lots and lots of curves. Valve’s wiki kinda says it best:

Overall, trying to create a flow map manually is a nightmare.

I wanted something a bit more artist-friendly, hence my little excursion here. Basically, this just allows you to paint your flow maps. Grab your stylus, load up a topdown image of your terrain/world, and get paintin’!


UI is pretty rudimentary right now (eg. needing to type a path into the text field, instead of a file browser, which Unity’s runtime doesn’t have out of the box), but the functionality is there (including 50-step undo… uh, redo is still being worked on). I’m planning to add a couple different brushes (pinch/inflate, possibly vortex, and probably a blur/smooth brush).

Download Win32 and OSX

There’s a big feedback button in the ui, so feel free to abuse the hell out of it to spam me with any bug reports or suggestions. :slight_smile:


That is pretty slick! I created my own Flow Map Painter inside Maya using a 2-D Fluid Container, Paint Attributes Tool, and Python Image Library. It has some downsides, like trying to paint a 2d fluid container will more than 512x512 vectors. What you got started looks awesome!


Looks Great! Thxs for sharing! :slight_smile:

How do i use the Overlay Texture Feature? Seems not to work for me ?!?


Ah, sorry, that’s my bad. I’d meant to make that bit a little clearer. Two things:

  1. the runtime doesn’t seem to like TGA files (at least as far as I’ve tested)
  2. when you load up an image, it defaults to 0 opacity (silly on my part)
    a. when the image is loaded, a slider appears below the load button to adjust the transparency

I’ve fixed that for a next release :slight_smile:


very very nice! Thank you for sharing!


Hi LoTekK.

I loaded a png with and without alpha channel with no success.
On the Slider there are odd numbers. They seem to be random. When a use that slider nothing happens.

Any further hints for me? :slight_smile:

What about Zooming into the Image. Would be usefull for me :wink:


sublist: Ah bugger, I seem to have broken it at some point before uploading the build… I’ll get that fixed in the upcoming build :slight_smile:
As for zooming (and panning), I should be able to get that sorted, though currently it’ll only be partially useful, primarily because what you’re painting are vertex colors (before baking to texture). I’ll need to figure out how dense the mesh can go before performance goes unusable (the mesh I’m using at the moment is a 64x64 plane). I’ll also start looking into what kind of performance I can get from straight texture painting (though Unity can be a bit slow about updating textures on the fly like that).


It’s a fun tool to play with! I like it.

Any future plans to load in .obj (or other formats) with 3d controls to paint on the objects themselves? =)


So the overlay texture bug should be fixed now. I’ve also added a couple different brushes, and some pan/zoom functionality. And a [rudimentary!] version checker/notifier.


Sorry, completely forgot to reply to your question. I don’t currently have any plans for loading in of objects, since the objectives of this tool are relatively narrow in scope. I also can’t really think of a lot of situations where this would actually be useful.


Nice update. Works as intended.
Just some Performance issues while panning.

thxs! :slight_smile:


Very interesting effect! Can you help my with add this effect in Unity? Any tutorial or src for understanding need.