Several people asked me how they could texture a generated football ball made with the Football Ball Maker script I did. The first and ugly option would be to flatten the uvs in an unwrap modifier and then texture it in a 3d painting software like Mudbox / Bodypaint / etc.. The second option would be to create a low poly ball, unwrap it, and then generate normal map for the patches from the high poly model.
This is the solution I will describe in this small tutorial.
Step 1: Generate a Football Ball with the script ( click here to download )
Step 2: Hide the Football ball and create a Box at position 0,0,0.
Step 3: Unwrap the Box, you could just use the flatten UV button but I find the right unwrapping of a box a more elegant way to proceed. You can also paint your texture in an easier manner afterward in a 2d painting program since you can see where the polygons seam will be.
Step 4: Apply a Turbosmooth modifier to make the box smooth enough to look like a sphere.
Step 5: Apply a Spherify modifier with a value of 100 percent in order to make the box looking even more like a sphere.
Step 6: Apply another Turbosmooth modifider and you have an unwrapped sphere.
Step 7: Unhide the high poly football ball made with the script and scale up/down the low poly to match the radius. Both balls should overlap as in the picture in order to get a correct normal map.
Step 8: Select your unwrapped sphere we just made and press 0 or click on the Render to Texture button (in the rendering rollout menu). Click the Pick button and select the football ball generated with the script and click Add.
Enable the ticker “Enabled Projection” right next to the button Pick.
In Mapping Coordinates “Object” should be “Use Existing Channel” and “Sub-Objects” should be “Use Automatic Unwrap”.
Step 9: A projection modifier should be added on top of your unwrapped sphere stack. In the “Cage” rollout click Reset first, then enter an Amount of 0.5 to make the cage big enough to bake all the high poly informations for the normal map.
Step 10: In the Render to Texture dialog, click Add and select NormalsMap from the list.
Step 11: I know it might sounds huge for some of you but I get better results with a width and height of 4096 for my normal map texture. You can still enter smaller value but if you get artifacts or small deformations it might be better to stick with 4096 pixels. Press the Render button and wait until the baking dialog disappears.
Step 12: You should have this resulted normal map texture. If for some unknown reason you see artifacts in your normal map texture there is a big chance that your amount value in the projection modifier is too small. If it’s the case then raise the amount value and press Render again until all artifacts disappear.
Step 13: Open the Material Editor, click the Bump map slot, select Normal Bump, and click the Normal button and select your generated normal map texture. Raise the default value of the bump from 30 to 100. Apply the map and hide or delete the generated high poly football ball since we don’t need it anymore. You should have now a low poly unwrapped sphere with patches in your render. If you want to see the normal bump in the viewport you can preview your shader in DirectX mode by maintaining the preview button pressed and selecting the pink preview button.
Step 14: Side to side the high poly football ball generated with the script and the unwrapped version. You can now paint the ball in a 3d painting software, I used Sculptris since it’s free just to show how seamless the blue line is. But you can also export the uv unwrap texture and paint in Photoshop for example, it’s just harder to get the seams invisible. You could also export as an OBJ, and load it into Photoshop cs3 and later and 3d paint onto the ball.
Final Result: Texturing is nothing serious, just to show how well it works.
And the diffuse texture: