Vertex Painter Tools

I hate UV’s.

This is a Vertex Painting tool for Unity, designed to help me speed up development on games and to be able to ignore UV unwrapping, texturing and that whole thing.

Basically, there are 2 variants of the shader demonstrated in the video.

  • Vertex Colored Shaded
    This has a base main color, and one color for each vertex. I use the X coordinate of the UV space for each vertex to store the amount of blending between main color and vertex color [0-1]. I use the Y coordinate to store the amount of shading applied to each vertex [0-1]. The fragment shader does basically nothing, allowing me to save performance on mobile.

  • Vertex Colored Textured
    This one also uses a color per vertex. However, this time I wanted to experiment with texturing. But the challenge was to texture without UV coordinates. So how I ended up doing it was sending the vertex normal and world position into the fragment shader to basically sample from each coordinate [X Y Z]. This allows me to texture in world space, which is fine for non-moving, non-rotating objects (for example props, ground, buildings etc..). I also built a paint mode which lets me blend between the vertex colors and the texture value.

 

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s