Creating Your First Water Horse Texture: Part 2

Once you know the UUIDs of your textures, you can move on to creating the applier that sends them to the Water Horse Texture HUD.

  1. Rez an additional cube on the ground and go into edit mode. This will house the script that does the heavy lifting. Click on the Contents tab.
  2. Drag the script that was extracted to your inventory from the “texture importer example” folder into the tab. If you like, you can rename it.
  3. Double-click on the script to open it. The code is well-commented (and comes with a notecard) so it’s not too hard to understand, and includes examples and file type recommendations as well. Most of what you’ll be doing is copying & pasting the code for each horse part used, and then changing the UUIDs to the ones you got from local chat.
  4. Each horse part has 4 possible textures to display: the small square that appears in the HUD, the base (diffuse) texture, the normal map, and the specular map. Only the first 2 are required to have UUIDs entered — the normal/specular maps are optional.
  5. When working with local textures, I like to use the same UUID for both the HUD & base images. Since they’re temporary, no need to bother with more than one.
  6. You can also leave the default normal/specular map code intact, as the script functions whether or not UUIDs are specified.
  7. This is the part of the code you’ll be editing (lines 54 – 57):
  8. Once everything looks good, save the script. You’ll see a confirmation message that compiling & saving was successful. Exit edit mode.
  9. Make sure you’re wearing the Water Horse Texture HUD, and click on the box. You’ll get progress messages in local chat about the textures loading into it.
  10. In the HUD, click the corresponding “import” button for the horse part (if you’re already in that section, click into another one and come back). Then click the image you just specified, and the textures should appear on your horse!
  11. Now go back into your image editing program and continue drawing your textures. To see changes, simply save over the file that’s being used as a local texture, and it will automatically load in-world.

That’s it! Once you’re satisfied with your textures, upload the final files to your inventory. Then replace the UUIDs of the local textures with the permanent ones, save the script, and click the box again. If you haven’t already, make sure to remove any remaining local textures from your HUD.

Happy riding!


Creating Your First Water Horse Texture: Part 1

Now that you have all the necessary pieces in place, you can start creating!

  1. The first step is to download the UV maps to your computer that you just extracted to your inventory. The only required textures for a coat are the body & eyelid, so start with those — all the others are optional. Save these as PNGs:
    • ~*WH*~ RidingHorse Amb Occ
    • ~*WH*~ RidingHorseUV 0.2
    • ~*WH*~ Eyelid template
    • ~*WH*~ RidingHorseEyelidUV
  2. Open them in your image editing program of choice. The files with the colored polygons should not be drawn on, but they can be added as separate layers and used as a guide. For this tutorial we’re going to get everything set up in Second Life before spending any length of time on the art.
  3. Draw a really simple design over all the white areas of the body map, and the transparent areas of the eyelid map (except for the top “open” area — otherwise the eye itself will not be visible). Remember, only you will be able to see these textures.
  4. Save the body map as a JPG, and the eyelid map as a PNG.
  5. Back in Second Life, go to an area where you’re able to build/rez objects. We’re now able to start using Local Textures. Begin with a simple cube on the ground, and enter edit mode.
  6. Click on the Textures tab and go into the texture picker. Instead of choosing one from your inventory, click the “local” radio button and then the “add” button. Select the body JPG file you just saved to your computer. When you click the filename in the window on the right and then “OK,” your new texture should be visible on the cube.
  7. We now need to add a script to the cube to give us the UUID of the texture (since it’s not saved in your inventory). Copy the code at the bottom of the page here, and paste it into a new script in the Contents tab of the cube. Make sure the default { } code is included, and save.
  8. Exit edit mode, and click on the cube. The UUID should appear in local chat! Copy this ID and temporarily paste it into a new notecard.
  9. Repeat steps 5 – 8 for the eyelid texture, and add its UUID to the notecard.
  10. Important: Keep all cubes with local textures rezzed while you’re working with them.

Once all the UUIDs are ready, we can move on to creating the applier.


Prerequisites for Creating Your First Water Horse Texture

Do you want to make yourself a pretty custom coat, but are confused on where to start? Do you have no experience whatsoever in making things for Second Life? You’re not alone, so read on.

  1. First, you’ll need an image editing program like Gimp (free) or Photoshop (not free). Don’t worry about learning Blender — you don’t need it for textures (it’s more for creating mesh).
  2. Second, make sure you have the most recent version of your horse. I didn’t (I had the Clydesdale version 1.1 instead of 1.1b), and had a bunch of issues with the eyelid textures before realizing I needed a redelivery. Simply unpacking a new horse from your current version won’t work.
  3. Next, when you buy a Water Horse Bento Riding Horse, it comes with 2 items that are vital to understanding how texturing works. In the options folder, you’ll see UV maps & a texture applier example. Rez both of these and extract the contents to your inventory.
  4. See this article on Local Textures (thanks to Aywren for pointing it out). This is a way to see how your texture looks in-world without paying $10L per upload, and understanding how an image looks in 2D vs. 3D. As a bonus, the texture automatically updates when you save it, as long as the filename is the same!
    • One caveat: it will only be visible during your current session. If you crash or log out, you’ll need to repeat the steps. Other avatars will see a blank grey horse.
    • This functionality negates needing access to the Beta Grid.

Ready for more? Part 1 is now live!