Using a Color Grid for painting skins

Discussion in 'Modding' started by FuNK!, Jan 13, 2019.

  1. FuNK!

    FuNK! Registered

    May 26, 2013
    Likes Received:
    Hey there!
    I'd like to share some Color Grid textures to help everyone painting skins. This is especially for all folks that want to paint more complex skins but are frustrated because it's always hard to align edges of logos or designs. And it's also for those folks that are not that gifted to be able to spend at least 24€ per month for Photoshop CC (or willing to violate copyrights) to paint skins directly on the 3D objects but still need a "tool" to help them painting complex skins. And of course it's also for those gifted guys that do have the tools but still don't have access to the 3D model because the authors have not provided 3D templates or the 3D models are simply encrypted and consequently not available. With a Color Grid you can help yourselves and even paint a model without knowing its mapping.

    But what is a Color Grid texture? A Color Grid texture is an image where each pixel has a visible coordinate that can be "read" from the 3D object by color, index, and counting pixels. This is a Color Grid image that was generated with Blender:

    So applied to a 3D object with unknown UV mapping (i.e. object placement and orientation on a texture are unknown) you can literally see where the objects are placed, orientated, and aligned. You can see where the texture mapping intersects or connects on each part of the model using the same material/texture. Here is one example, Suzanna the Blender "top model" with an unknown texture mapping and a Color Grid texture:

    You clearly see the coordinates from the Color Grid and even without known the mapping you would be able to paint a texture for Suzanna - right? You also can see the topography and where the mapping is distorted. All that helps in painting a 2D texture for any 3D object.

    So how does the “Coordinate Reading” works? The base of the Color Grid is constructed out of alternating pixel brightness and color, just like several different colored Chess Boards overlaying each other. On a 4096x4096 pixel Color Grid you find:
    • A first grid of 2x2 pixels that has alternating dark and light pixel colors, so this enables you to count each pixel easily.
    • A second grid of 8x8 pixels that incorporates 4 times the 2x2 pixel block from previous layer and also uses different brightness for each 4x4 pixel block.
    • A third grid of 32x32 pixels that incorporates 8 times the 4x4 pixel block from the previous layer and has white lines overlaying the left pixel column and the bottom pixel row, and also different brightness for each block.
    • A forth layer of 128x128 pixels that incorporates 4 times the 32x32 pixel block from the previous layer and again different brightness for each block.
    • A final layer of alpha-numeric and symbol characters for each 128x128 block.
    That said, the Color Grid applied as a texture to any 3D model gives you the following coordinates:
    • First coordinate is the alpha-numeric and symbol character of the respective 128x128 pixel block.
    • Second coordinate is the 32x32 pixel block within the 128x128 pixel block.
    • Third coordinate is the 4x4 pixel block within the 32x32 pixel block.
    • Fourth coordinate is the single pixel of the 4x4 pixel block.
    To much theory, right? So let’s have a look again at our Suzanna from the picture above. As an example let’s try to find the center of her nose. I personally count from left to right and top to bottom to find a coordinate, but of course you can do it the opposite direction. So first you should try to zoom in to the model as best as you can, and of course only that far so you can still read the color grid. Please note: In this case I do have the advantage of being able to do this directly in Blender with all the camera freedom of a CAD software, but in most games the cameras are very limited, so you may not able to get as close as you may need.
    Now, after some turning and zooming the 3D view of Suzanna, I found the coordinate of the nose’s center to be in block “B5”, in the third 32x32 pixel block in the first column, between the fourth and fifth 4x4 pixel block in the fifth 4x4 column, and finally maybe (unfortunately the texture isn’t sharp enough here) in the fourth or fifth 2x2 pixel block.
    So I finally paint some red color (4 pixel brush, red because it’s perfectly visible on the green) at that coordinate on the texture and check it in 3D view again to see how good that estimated coordinate was. Turns out it’s not that bad and only slightly off the center:

    Anyway, on that result we can see that the center is just a little more to the top and left, and it’s very easy to correct that and paint the rest of the nose red too:

    Of course, if you would also first determine the coordinates of the nose’s limits, the painting result would be much better than what I show you above ;)

    Enough of the words, you can download the pre-rendered Color Grids in PNG and DDS format at the below link. I prepared them in 1024, 2048, and 4096 size, so you can chose the size you need.

    Download Color Grid in PNG and DDS

    If there are any questions or requests on this technique, please don’t hesitate to post here!
    Cangrejo, Emery, Rui Santos and 9 others like this.
  2. Frank Murphy

    Frank Murphy Registered

    Sep 19, 2017
    Likes Received:
    That's a great thing which I've missed the last days while skinning the new GT3 cars, Thanks!!! Now I can find the Porsche's doorhandles... ;)
    FuNK! likes this.
  3. alehop69

    alehop69 Registered

    Mar 14, 2013
    Likes Received:
    Very, very useful .. Thanks...!!!
    FuNK! likes this.
  4. bears

    bears Registered

    Apr 4, 2015
    Likes Received:
    Wow very useful tool thanks for sharing
    FuNK! likes this.

Share This Page