Sculpt Textures in Paint Programs

From Second Life Wiki
Jump to navigation Jump to search

Feel free to add more tricks to these pages!

For a better understanding of the processes described in this article, read Sculpted Prims: Technical Explaination.

Paint programs like Photoshop or Paint Shop Pro or The GIMP are no substitute for a 3D modeling program. Still, there are some pretty cool things you can do with those tools. The processes themselves are not terribly difficult but an understanding of how sculpt textures work can help quite a bit.

Manipulating Existing Sculpt Textures

  • If your sculpt looks inside out when you render it in SL (a condition known as flipped normals), horizontaly flipping your texture over is the quickest way to fix it.

Credit goes to Deanna Trollop for these tricks.

  • "To scale along a given axis, keeping the positive/negative end of that axis fixed:
    • Using Levels, increase shadow/decrease hilight value of the desired channel (red for x, green for y, blue for z), respectively.
    • If your program has an "auto" Levels button (Photoshop and GIMP both do, PSP likely does also), using it on all three channels can help fix a sculpty that doesn't fit its bounding box (Rokuro/Tokoroten often produce such). ~EP
  • To shift the entire model along a given axis:
    • Increase or decrease brightness of the desired channel. (Note, values that get "clipped" to pure black or pure white will cause the associated verts to "squish" against the side of the bounding box.)
  • To mirror-flip the model on a given axis:
    • Invert the desired channel (transposing the verts on the + side to the - side, and vice versa) AND mirror-flip the image horizontally or vertically. (Skipping the second step would end up with a model mirrored and turned inside-out, because the vertex order of the polys would be reversed, similar to a 180 twist on a prim sphere)"

Vinnie Baxter adds the following to the above instructions to make symmetrical objects:

  • Think of a symmetrical axis in the texture around which it should be symmetrical
  • manipulate the different RGB channels:
    • for two channels just the good half should be copied, flipped and put at the opposite side
    • for one channel the good half should be copied, flipped, inverted and put at the opposite side - failing to do so gives a half/hollow object.. which could also be useful in some cases..

The only difficult part is to figure out which rules apply to which channel. Reasoning along these lines of thought it's easy to flip orientation by interchanging the R/G/B channels.

Argent Stonecutter suggests this methood of creating "bumpmaps" on a sculpted object like a sphere.

"The following scheme came to mind, as a way to create a bump on a sphere in any direction. I don't think it would work exactly as I've laid it out, but soem such scheme where you use the math-like operations in adjustment layers on maps should be useful... any thoughts?

  • Create a layer containing the "unit sphere" map.
  • Duplicate it
  • Create a mask containing a fairly blurred greyscale blob.
  • Create a multiply adjustment layer using this mask.
  • Apply the multiply layer to the duplicate sphere layer.
  • Add the layers." This page describes and provides 3 useful GIMP scripts for manipulating sculpted textures. Mostly the 2 last ones. One is a script to automate prim mirroring, the other helps prepare a good candidate for losless import.

Painting "Heightmaps" using RGB Channels

Pamagester Darracq figured out how to do this using Paint Shop Pro, but the same process should apply to any similar program.

  • First you have to create a plane.
    • Go to the Channels pallete and select just the Red channel. Select white as a foreground color and black as the background color and create a horizontaly mirrored gradient, like so.
    • Now select the Blue channel and create a linear gradient like this.
  • Now the pattern.
    • Select the green channel and the paintbrush tool, load the brush with a shade of grey and paint the pattern...the darker the color, the higher the bump.
    • "This might get tricky, the left half of the green channel is the front (top) section, the right side is the back (underside) section, so (to get them to line up if you create a low contrast image of what you want and paste it on both sides of the channel". Like so. Remember that sculpted prims can't be one-sided. (Ed. note: No longer true: you can use a plane sculpt type, though currently only setable by script. For two sides, cylynders work well.)

Almia Thaler adds "The use of a script for setting sculpty type is no longer needed. There is a new option below the sculpty texture window called texture stitching. when you need a plane select plane. same goes for sphere,torus,cylinder. Torus allows for sculptys with holes in them so you can make actual working doors! you can go in and out of. I hope this has been of some help "

LaeMi Qian adds: You don't have to double up your blue chanel if you make the red chanel a single gradient and put a 2 pixel black border about the blue, causing the sides and bottom of the heightmap sculptie to be square below the field bounds, allowing more detail with a 60x60 (really 30x30 in-world) resolution. See my example at:


And the original PovRay one done with a 1024x1024 heightmap:

Converting images to models

With the GIMP

Converting an image to a mesh is a simple process from within the GIMP. This script can be plugged into the GIMP to allow any RGB image to be exported as a Wavefront OBJ, which can be uploaded to a 3D modelling tool to preview what it will look like in Second Life.

With Wings3D

The sculpty plugin for Wings has the capability to import sculpt maps as well as export them. From there you can tweak the resulting model directly in Wings or export it to the format of your choice; it can easily be exported back to a sculpt map so long as you don't change the number of faces and verticies.


It can import, export to and from .obj files. You can add, remove rows or columns of vertices, and do many other things.

With 3ds Max

Use [ Prim Composer. Read their documentation for details.

See also