Strict Standards: Redefining already defined constructor for class wpdb in /home/vintfalk/public_html/wp-includes/wp-db.php on line 57

Deprecated: Assigning the return value of new by reference is deprecated in /home/vintfalk/public_html/wp-includes/cache.php on line 36

Strict Standards: Redefining already defined constructor for class WP_Object_Cache in /home/vintfalk/public_html/wp-includes/cache.php on line 384

Strict Standards: Declaration of Walker_Page::start_lvl() should be compatible with Walker::start_lvl($output) in /home/vintfalk/public_html/wp-includes/classes.php on line 541

Strict Standards: Declaration of Walker_Page::end_lvl() should be compatible with Walker::end_lvl($output) in /home/vintfalk/public_html/wp-includes/classes.php on line 541

Strict Standards: Declaration of Walker_Page::start_el() should be compatible with Walker::start_el($output) in /home/vintfalk/public_html/wp-includes/classes.php on line 541

Strict Standards: Declaration of Walker_Page::end_el() should be compatible with Walker::end_el($output) in /home/vintfalk/public_html/wp-includes/classes.php on line 541

Strict Standards: Declaration of Walker_PageDropdown::start_el() should be compatible with Walker::start_el($output) in /home/vintfalk/public_html/wp-includes/classes.php on line 560

Strict Standards: Declaration of Walker_Category::start_lvl() should be compatible with Walker::start_lvl($output) in /home/vintfalk/public_html/wp-includes/classes.php on line 659

Strict Standards: Declaration of Walker_Category::end_lvl() should be compatible with Walker::end_lvl($output) in /home/vintfalk/public_html/wp-includes/classes.php on line 659

Strict Standards: Declaration of Walker_Category::start_el() should be compatible with Walker::start_el($output) in /home/vintfalk/public_html/wp-includes/classes.php on line 659

Strict Standards: Declaration of Walker_Category::end_el() should be compatible with Walker::end_el($output) in /home/vintfalk/public_html/wp-includes/classes.php on line 659

Strict Standards: Declaration of Walker_CategoryDropdown::start_el() should be compatible with Walker::start_el($output) in /home/vintfalk/public_html/wp-includes/classes.php on line 684

Deprecated: Assigning the return value of new by reference is deprecated in /home/vintfalk/public_html/wp-includes/query.php on line 21

Deprecated: Assigning the return value of new by reference is deprecated in /home/vintfalk/public_html/wp-includes/theme.php on line 540

Strict Standards: call_user_func_array() expects parameter 1 to be a valid callback, non-static method UltimateTagWarriorActions::ultimate_query_vars() should not be called statically in /home/vintfalk/public_html/wp-includes/plugin.php on line 59

Strict Standards: Only variables should be assigned by reference in /home/vintfalk/public_html/wp-includes/post.php on line 1008

Strict Standards: Only variables should be assigned by reference in /home/vintfalk/public_html/wp-includes/query.php on line 669

Strict Standards: call_user_func_array() expects parameter 1 to be a valid callback, non-static method UltimateTagWarriorActions::ultimate_posts_where() should not be called statically in /home/vintfalk/public_html/wp-includes/plugin.php on line 59

Strict Standards: call_user_func_array() expects parameter 1 to be a valid callback, non-static method UltimateTagWarriorActions::ultimate_search_where() should not be called statically in /home/vintfalk/public_html/wp-includes/plugin.php on line 59

Strict Standards: call_user_func_array() expects parameter 1 to be a valid callback, non-static method UltimateTagWarriorActions::ultimate_posts_join() should not be called statically in /home/vintfalk/public_html/wp-includes/plugin.php on line 59

Strict Standards: call_user_func_array() expects parameter 1 to be a valid callback, non-static method UltimateTagWarriorActions::ultimate_search_join() should not be called statically in /home/vintfalk/public_html/wp-includes/plugin.php on line 59

Strict Standards: call_user_func_array() expects parameter 1 to be a valid callback, non-static method UltimateTagWarriorActions::ultimate_posts_groupby() should not be called statically in /home/vintfalk/public_html/wp-includes/plugin.php on line 59

Strict Standards: call_user_func_array() expects parameter 1 to be a valid callback, non-static method UltimateTagWarriorActions::ultimate_tag_templates() should not be called statically in /home/vintfalk/public_html/wp-includes/plugin.php on line 164
Adding depth to your SL clothing textures | VintFalken.com
Strict Standards: call_user_func_array() expects parameter 1 to be a valid callback, non-static method UltimateTagWarriorActions::ultimate_add_meta_keywords() should not be called statically in /home/vintfalk/public_html/wp-includes/plugin.php on line 164
VintFalken.com

Adding depth to your SL clothing textures


Strict Standards: call_user_func_array() expects parameter 1 to be a valid callback, non-static method UltimateTagWarriorActions::ultimate_the_content_filter() should not be called statically in /home/vintfalk/public_html/wp-includes/plugin.php on line 59

Strict Standards: Non-static method UltimateTagWarriorActions::regExEscape() should not be called statically in /home/vintfalk/public_html/wp-content/plugins/UltimateTagWarrior/ultimate-tag-warrior-actions.php on line 655

Strict Standards: Non-static method UltimateTagWarriorActions::regExEscape() should not be called statically in /home/vintfalk/public_html/wp-content/plugins/UltimateTagWarrior/ultimate-tag-warrior-actions.php on line 655

Strict Standards: Non-static method UltimateTagWarriorActions::regExEscape() should not be called statically in /home/vintfalk/public_html/wp-content/plugins/UltimateTagWarrior/ultimate-tag-warrior-actions.php on line 656

Strict Standards: Non-static method UltimateTagWarriorActions::regExEscape() should not be called statically in /home/vintfalk/public_html/wp-content/plugins/UltimateTagWarrior/ultimate-tag-warrior-actions.php on line 656

Strict Standards: Non-static method UltimateTagWarriorActions::replaceTagWithLink() should not be called statically in /home/vintfalk/public_html/wp-content/plugins/UltimateTagWarrior/ultimate-tag-warrior-actions.php on line 660

Tutorial Intro

Often when looking at clothing in Second Life, I think ‘nah, not worth the money, needs definitely more shading’. Basically, there are two ways in which shading is important for clothing textures:

  1. Shading the texture to bring out the ‘human form’. As Second Life does not give any real (enough) shading on avatars, the best way to get a life-like result is to add that shading - badly needed to get any sense of depth - in the textures. Lighten up the top and darken the below part of the breasts to stress that they are actually round. Same with the butt. And possibly the abs. Etc.
  2. Shading within the clothing texture itself. Imagine you standing with a spot above you aiming down. Right below your button there is some shade, how strong, depends on the lighting. Right? Your belt? If it’s a shiny one, there will be a white strike on top, and a more dark part below. A ‘cable’ texture on a wool sweater? You bet you see it’s depth, because parts of the highlights and shadows. And for that? Sorry, imho, just copy pasting RL photographed textures doesn’t cut it.

So we’re going to handle part two - shading within the clothing texture itself - and how to do that using Photoshop layer styles in this tutorial.

Tutorial: adding depth to clothing textures I

See the light

The first thing you need to do, is choosing where your light comes from. Vint’s suggestion: the light comes from above you. Pick your source textures with that kind of lighting and stick to this ‘lighting perspective’. Use the same ‘lighting perspective’ for the layer styles and for shading the avatar to human form (point 1). If you have a hard time imagining this, take a Mr. Woodman and put it under a desk lamp.

Separate layer(s)

Now we can start. Let’s work on the collar of a shirt, sweater, … . An armour in this example. I assume your collar is on a separate layer. If it’s not, put it on there. Looks boring, flat and ugly now, doesn’t it? Let’s see what we can do with it?

Tutorial: adding depth to clothing textures I

Using Layer Styles

Drop Shadow

Select the layer your collar is on and go to ‘Layer’ (alt+L), ‘Layer Style’, ‘Drop Shadow’ or just click the ‘f’ symbol in the layers palette and choose ‘Drop Shadow’.

  1. Angle: 90 degrees and make sure ‘use global lighting’ is checked.
  2. Distance, spread and size depend on the size of the file you’re working with, the kind of collar you’re shading and personal preferences. Just play with it until it feels right. I suggest you keep the ‘distance’ always bigger then the ’size’.

Bevel and Emboss

You shall see your angle, altitude, … were already set when we added the drop shadow. So don’t touch them, unless you’re feeling adventurous. ;) Opacity for the highlight mode and shadow mode you can later use to fine tune the results of your bevel. Altitude will change the ‘harshness’ of the shadows/highlights mainly. I suggest for a collar, you use ‘Inner Bevel’ as style.

  1. If you’re working on a 1024×1024, stay under 10 pixels for the size. Play with soften to your liking.
  2. Depth I usually leave as is.

Bevel and Emboss > Texture

Under ‘Bevel and Emboss’, activate ‘texture’ by checking it. Assuming you’ve chosen ‘Inner Bevel’ previously, your collar shall suddenly seem to have ‘relief’/'depth’. Choose a pattern to your liking, if your colar is a painted pattern, pick the same pattern then. Adjust scale, depth, … till the results look good. ;)

Gradient Overlay

We defined the light on the upper edge and below edge of the collar using Bevel and Emboss. Gradient Overlay we will use to add light to the collar itself. Assuming your light comes from above you, the upper part will be a bit more light then the below part. So we pick the ‘black to white’ gradient (default) and put the opacity to somewhere around 40%.

If you want a ’round’ looking collar, consider changing the gradient style to ‘reflected’ and checking ‘reverse’ so the highlighted part of the collar is in the middle of it.

Pattern Overlay

Use this for fine tuning and pick the exact same texture size and texture as you’ve used in ‘Bevel and Emboss > Texture‘. I also often use just a monotonous color for painting the collar and then add all depth / texture by using Photoshop layer styles.

I think this would come handy if you would wish to use the same ‘base’ layer for different types of collars. (Just draw the upper clothing template once and make different versions of it using different layer styles options.)

Note on the Sleeves

Assuming we are working on an upper body texture, you need to keep one thing into account: the sleeves. Most of the time, people keep their arms down. Right? Keeping them up or to the sides all the time is very very exhausting. :p So light on that sleeve part of the texture comes from the left. That way when standing normal upright with your arms besides your body, your light on the arms will seem to come from above you too.

How to do that? Just put all the arms stuff on separate layers, right click your body layer style and choose ‘copy layer style’. Then click the arm texture you want to shade in the same way and choose ‘paste layer style’. Edit layer style options for that one, and change global lightning to light coming from the left (angle 180 degrees). Et voila.

Possibilities of using layer styles

Tutorial: adding depth to clothing textures I

Possibilities of this are _endless_. I use it to create my buttons - it’s definitely quicker then photo-sourcing one -, collars, sleeve edges, zippers, stitches & patches, belts, … . There are that many different settings that you can explore Photoshop’s layer styles for ages, and still will find a new way to use the settings. So, start playing with it! ;)

11 Responses to “Adding depth to your SL clothing textures”

Kailie Quinn (Katarina Malthus) wrote a comment on September 20, 2007
MyAvatars 0.2

Don’t forget everyone, shadowing on clothing is also very important, as cloth does cast shadows, so if you have alpha channels they need to accomodate that. You can also add an extra level of depth through a displacement map and offsetting the pattern to match the fabric itself!

Excellent tutorial, please post it to the group if you would be so kind =^_^=

MyAvatars 0.2

[…] decided that besides only complaining, I should give people a clue about what I do want to see. And the ‘adding depth to SL clothing textures using photoshop’s layer styles’ tutorial was […]

Smiley Barry wrote a comment on September 20, 2007
MyAvatars 0.2

Thanks Vint for this tutorial, and add a “Adobe ImageReady-compatible” text or logo in there! All effects mentioned also exist in ImageReady, the “free and/or limited version” of Photoshop :-) Though Adobe removed it in CS3, so I had to scout the net for an archived copy of CS2, since I needed it on my other computer as well, and I lost the installation I used ‘^_^.

Kailie Quinn (Katarina Malthus) wrote a comment on September 20, 2007
MyAvatars 0.2

Yeah that sucks. I was looking for it. But in the interest of moving forward, I started setting up my automation processes in fireworks.

Smiley Barry wrote a comment on September 20, 2007
MyAvatars 0.2

Kailie, I can send you a link if you’d like :-). I can scan the web in 1-2 minutes looking for anything from legal to illegal software ;-). It’s a “gift” rofl.

Kailie Quinn (Katarina Malthus) wrote a comment on September 20, 2007
MyAvatars 0.2

Hehe, I have a full corporate license for CS2 still very much valid =^_^=. I am simply migrating away in preperation for the future, and to establish new company policies. Same reason I sadly had to give up Dimensions.

Smiley Barry wrote a comment on September 20, 2007
MyAvatars 0.2

“Dimensions”? Gimme a URL lol.

Kailie Quinn (Katarina Malthus) wrote a comment on September 20, 2007
MyAvatars 0.2

Hehe, long gone sweety. You were probably in elementary school when it went >_

Smiley Barry wrote a comment on September 20, 2007
MyAvatars 0.2

Rofl… Thanks anyway! ‘^_^. So… Gimme a copy of your Photoshop licence :-P Nah, just kiddin’…

Kimo P wrote a comment on September 20, 2007
MyAvatars 0.2

Great article Viny! This information is invaluable and goes along way in SL….not just for clothing. (checks in the mail….)

Minova wrote a comment on August 8, 2008
MyAvatars 0.2

Great article. Funny - I use all of these tools regularly in Photoshop, yet it never occurred to me to apply the same ideas to SL clothing textures. Thanks so much for the post! I’m excited to get started now!

Care to comment?