Get Firefox
Best viewed with the free Firefox browser. Minimum Screen Resolution: 1024 x 768

Wednesday, August 29, 2007

Video: Basic Decaling in Blender

Well, here's another Blender tutorial! This time we take a look at how to apply decals to a 3D mesh object. It's really very simple but, there are a couple of snags you might run into and I demonstrate how to resolve those issues.

Check it out and be sure to let me know what you think by leaving your comments here or, discussing it in the new BlenderNewbies forums.

- TIP ---------------------------------

Daedalus Young points out:

...I found the decal was also showing on the opposite side of the object....

kwk provides a quick solution:
...You can simply use the "ClipCube" option [instead of the Clip option] in the "Map Image" tab of the "Texture buttons" (F6).

Nyrath provides even more details to resolve this issue:
I have found that ClipCube is not quite enough. You have to scale the Z leg of the Empty object so it is shorter than the distance between the center of the empty and the rear face.

In essence, with Clip Cube, the length of the Z leg on the Empty controls how far the decal can penetrate into the object you want to paint. This can be important if the object has a curved surface.

Watch the tutorial online
(FLV streaming, Length - 12:41)

Here's another demonstration of the same technique created by Pablo Lizardo. The sphere that you see is an Empty object with its draw type set to sphere. He also uses multiple procedural textures instead of an image.

texturing using emptys for positioning from Pablo Lizardo on Vimeo.

technorati tags: , , ,


Anonymous said...

Thanks a bunch for this Tut! Love the character as well. Do you plan to offer something of a character modeling tut?


Walter said...

Thanks for the tutorial, it was great and easy to follow.

Unknown said...

Everytime I see the title of this post, I read it as "Basic Descaling"! I don't know what's wrong with me. Great tutorial.

Anonymous said...

Thanks for another great tutorial! I like both your scripted and un-scripted tutorials, however the scripted ones are probably easier to follow. Both what you say (script) and how you say it (pace) are spot on. I think that pause & continue after each step is probably not a good idea because it'll slow everyone down. Why not provide a more fine-grained chapter division (but no stop/cont button) where appropriate? Wouldn't that give those on a steeper learning curve give everything they need?

I have a question regarding the decaling tutorial as well: you might want to point out that the scaling and positioning of the texture can also be achieved by using the "Offset" and "Size" sliders in the Map Input panel. Btw, are there any differences as to how Blender handles offset & scaling when using these different methods? For example, will the decaled texture appear differently in a baked texture depending on what scaling method was used?

Anonymous said...


I am having difficulty in using RVK (Relative vertex key) technique in Blender 2.44. I am relatively new to Blender and is learning the basics of it. Could some one please tell me how to go about it.

Sorry if I post it to a wrong place. I was not sure whether I can create a new post in this blog.


Daedalus Young said...

Thanks for this tut, it helped me with my current project. However, I found the decal was also showing on the opposite side of the object. I solved this by selecting the faces on the front side, in the Edit panel creating a New material for it, and applying the decal on that material. Now the back is clean and the decal on its proper place :)
I don't know if there's something I missed, but it works great for me that way.

Anonymous said...

Thx! Being a newbie, I found the trick regarding the empty controlling the decal very useful ;-)

Kernon Dillon said...

Thanks to all for the feedback!

Yes, there will be several character modeling tutorials in the future.

I'm glad it helped.

@dave might try flipping your normals (Ctrl-N in Edit mode).

I agree about the pauses, your suggestions is what I'm planning to do (good call).

Yes, those controls will offer the same effects. I meant to provide a wiki link that mentions it.

yeah, that question would require more Q&A than this comments section. You can go to the BlenderNewbies User forum and start a new thread. I'm sure someone can help and I might get a chance to address it as well.

That's a good solution. I didn't cover that in the tutorial because it has to end at some point. :) Every would-be short tutorial would always bloat into an epic if I tried to address everything. There are so many exceptions to just about everything. I'm glad it help your project.

@- relativeflower
It definitely can save some time. There are also some extremely cool special effects that can be easily created using this approach. I'll cover that in a future tutorial.

Anonymous said...

If you only want the decal to appear on one side only, you don't have to create a new material or material index.

You can simply use the "ClipCube" option in the "Map Image" tab of the "Texture buttons" (F6).

Anonymous said...

And is there a way to fix the decal on the mesh? because if you animate the character i suppose that the decal will sweep?

Kernon Dillon said...

yes, you can fix the decaled image to the mesh object by:
1. In Object mode, first select the Empty object.
2. While holding down the Shift-key (used for multi-selecting), select the mesh object that has the applied decal. You should now have both objects selected.
3. Now, with the mouse pointer still within the 3D View window, press Ctrl-P. This will Parent the Empty object to the mesh object. Confirm the operation by left-clicking Make Parent in the confirmation dialog.
4. Now, with the Empty object parented to the mesh object, it will "stick" to the mesh object. You still, however, can move the Empty object independent of the Parent object. Having moved the Empty object, it will still "stick" to the mesh object relative to its new position.

Hope that makes sense. It's easy.

Kernon Dillon said...

Good tip! I'll add that to the post. Thanks.

Anonymous said...

but if the mesh is deformed by bones? would the decal follow the deformation?

Anonymous said...

Thank you for your tutorials.
Making text tutorials would be an excellent idea, for several other reasons :
- a 26 MB download is very "heavy" for a dial-up connexion ;
- "rewinding" or "pausing" a video to a precise frame is less easy than going back in a text.
- some people "memorize" easier written instructions than spoken comments.
- for foreigners (my native language is French), it is often easier to understand English when it is written than spoken.

By the way, I apologize for my English !

Anonymous said...

Bery nice, and love the quick review.


Anonymous said...

but if the mesh is deformed by bones? would the decal follow the deformation?

You can get around this to some extent by parenting the empty to 3 vertices of the mesh. However you are better off using UV mapping if want the image to stretch with the surface of a bone- or shape key-deformed mesh.

Anonymous said...

Thanks for this well made and useful tutorial.

How would I decal the image so it gets wrapped around the torso? ClipCube does only part of the job: it allows the decal to extend to the mesh within the box, but I have not been able to decal seemlessly without morphing the image.

Kernon Dillon said...

I would try using a UV map for that. Think of decaling as a type of tattoo or stamp.

Anonymous said...


I have followed through this video tutorial, but it seems to work only with diffuse shaders other than Toon.

I want to use a toon shader plus decals. Is it possible?


Anonymous said...

that was a great tut, but the level of production - tool tips, quality comments, and that end review where fantastic. Ive not come across that before, the review is a brilliant idea.. well done

Unknown said...

Can we use this technique for simple flat face animation? If yes would you please explain or even make a tutorial about it? Thanks a lot.

Post a Comment

Comments are always appreciated, thanks!