INKSFlowing ink, a painted ball and Unity tools that keep the artwork, physics and objectives in step.UnityC#ShadersView case studyTechnical art · Games
Splats
The shape, flow and colour behind the ink in INKS.

I started experimenting with metaballs before INKS had its final ink direction. I wanted organic marks whose shapes could merge rather than look like a collection of separate circles.
For an impact, the fields could be arranged to give the mark a direction. Their combined shape became the initial splat.
Let the deposit move
The shape was only the start. A fluid simulation, adapted from a paper I had found, moved the wet ink between pixels. The isolated test is a useful view of it: lay down circles and watch them flow together, with no pinball table to disguise the behaviour.
The ball draws into the same colour surface and adds wetness as it passes. Existing paint can move again. That ties a visual detail to what the player is doing, rather than treating the trail as an effect layered over a separate painting.
Colour is part of the material
Mixing two colours by interpolating RGB did not give me the paint response I wanted. I used a paint-oriented mixing approach, then further processing reduced pigment through the centre of the splat. That gave the mark some of the unevenness associated with watercolour.
I was judging the mixture as part of the painted table. It needed to give the marks a convincing relationship to one another, rather than reproduce every property of real pigment.
Stop a new splat leaking through the table
The initial deposit could otherwise cover a rail or appear beyond a corner. I constructed a two-dimensional shadow mask from the table geometry and clipped the splat as it was laid down.
The mask solved that specific stage. It should not be mistaken for a full boundary solver governing every later movement of the fluid. It was a smaller solution to the visual problem we had.
Keep the record of the run
Splats, wet passes and colour changes accumulate while the ball moves. The final image is already there when the table is finished. We did not reconstruct a painting afterwards from a list of impacts.
Seeing that first shader experiment become a playable system was particularly satisfying. The table gave the effect a reason to behave the way it did.