Jump to content
3DCoat Forums

Displacement, Normal, and other textures in Blender


Recommended Posts

  • Advanced Member

On getting tangent space normals to work correctly in blender: Export them from 3d coat in maya format (green channel is inverted). If you're planning on using a displacement map as well, export the normal map based off the mid-poly mesh. If you're planning on using it on a low poly mesh or in the game engine, export the normal map based off the low poly mesh. Then, when applying them in blender, select tangent space normal map on the texture tab and map it in UV space to the normal channel (negative, click twice). See picture for settings. Note that in order for tangent space normal maps to work correctly in blender, all the UVs must be "face up" (some islands can be "face down" if you unwrap them with 3d Coat, which seems to do this). If you see seams on the normal map and sections of the normal map seem to be inverted, that's likely the problem. Properly applied TS normal maps should be correct with no seams visible. One solution is to re-unwrap the object in Blender and import into 3d coat using File > Import UV set. Since 3d coat stores texture information in microvertices, changing UV layout at any time is not a problem.

Applying displacement maps: export from 3d coat using file > import/export textures > save displacement (Depth) of visible layers. Select Zero level is gray. Save as an exr. Record the number you're given when the exports complete. I recommend writing it onto the filename. In blender import the object without scale clamping (turn scale clamping to 0; you can scale the object down afterward as displacement strength is applied in object space) otherwise the displacements will not match. Apply a subdiv modifier* (maybe 3 iterations) and then a displacement modifier, selecting that texture and UV space mapping. Midpoint of the displacement is always .5. Strength is the number you got when you exported from 3d coat. If you've exported the model from 3d coat as well, the displacements should match exactly. If for some reason (weight painting mirror precision, for example) you need to apply the scale transform in blender, make sure to scale the displacement strength down by that same exact amount.

One cool thing about displacement as a modifier is that you can both see exactly how it's going to look in the viewport as well as editing the model with realtime displacement feedback (tweaking verteces, for instance). This is also fully animatable (though animation modifiers such as armatures should be applied before (above) the subdiv and displacement modifiers in the modifier stack).

When importing the specular channel, on the shaders tab set specular and hardness to max. Then map the specular texture to "Spec" and "Hard" with the multiply blend mode. This will make the GLSL viewport and render match exactly (apart from SSS). Mapping to hardness as well is because 3d coat seems to do this in the viewport, and this emulates that effect well.

* I recommend using no UV smoothing in 3d coat since it matches the result when "UV Smooth" is turned off on your subdiv modifier. Blender's uv smoothing method is otherwise a little different than many other programs (arguably better, but not the same) You can change this at an point using File > Import UV set in 3d coat. Otherwise you might have seams in some places. Also, there is no sense in using a high number of subdiv levels if you are using a normal map. It wastes render time. Unless the change modifies the contour of the object, a normal map will provide an equal or superior result.

Example Zombie Blend file (17 MB - all textures packed in file)

License: Creative Commons Attribution noncommecial share alike 3.0 unported

Example Zombie turntable animation (Rendered with SSS on.)

Edit1: Eye texture updated here

Edit2: Version with GLSL disabled by default (good if you're getting crashes on load)

Created with 3d Coat Alpha 49 (mac intel) and Blender 2.48a (mac intel)

If you have any problems, please post your questions in this thread or email me at psyborgue@mac.com and i'll try my best to answer them.

See Pictures:

post-1287-1233581834_thumb.png

post-1287-1233581851_thumb.png

post-1287-1233581859_thumb.png

post-1287-1233581869_thumb.png

post-1287-1233581878_thumb.png

post-1287-1233581886_thumb.png

post-1287-1233581895_thumb.png

post-1287-1233581902_thumb.png

post-1287-1233581911_thumb.png

post-1287-1233582473_thumb.jpg

post-1287-1233583296_thumb.png

post-1287-1233583306_thumb.png

Link to comment
Share on other sites

  • Applink Developer

This is great! thank you some much. I have only one question. When I tried to follow how to make normal maps it seems that it flips my normal. details which should go up it's going down. I don't quite follow when you said "normal map on the texture tab and map it in UV space to the normal channel (negative, click twice)" is this and my problem maybe related.

Link to comment
Share on other sites

  • Advanced Member
This is great! thank you some much. I have only one question. When I tried to follow how to make normal maps it seems that it flips my normal. details which should go up it's going down. I don't quite follow when you said "normal map on the texture tab and map it in UV space to the normal channel (negative, click twice)" is this and my problem maybe related.

Make sure 3d coat is set to export normal maps in maya format (in the options) and make sure your normal map settings are like so:

http://3dbrush.kriska.hvosting.net/forum/i...ost&id=2183

Make sure the "nor" button is with yellow text (click twice. It's a tri-state toggle).

If you're still having the problem, are all your UVs facing up? A way to check this is to open up the color texture in Blender's UV/Image editor, click the little paintbrush, draw a letter "F" on each island (or any asymmetrical letter), and make sure none of the "F"s are inverted in the viewport.

Link to comment
Share on other sites

  • Advanced Member

I updated the eye texture, adding veins and decay using andrew's "veinmask.tga" included with the 3d brush extras (polar transform in PS) and a picture I took of rotting swiss cheese. Download the updated eye texture here.

A hires (2048 square) image of what the eye texture looks like on a render is attached. The eye is rolled back to demonstrate what it looks like on the side. To bring the veins forward or change the size of the pupil, simply tweak the UVs on the eye object in blender (to select loops of Uvs, Alt+click, "o" key turns on proportional editing). Red UVs are pinned and if "live transform" is on, moving the pinned UVs will influence the LCSM unwrapping solution in realtime like this.

post-1287-1233602549_thumb.jpg

Link to comment
Share on other sites

  • Advanced Member
Yahoo :D got it too!!!!!!!!!!!!!! Awesome!!!

But... I couldn't open it in Blender 2.48 (it crashes), I opened (and rendered) it in Blender 2.45. Do you have any ideas why is that so???

It could be that GLSL mode is enabled on startup and that is causing the crash. Are you opening it up in Blender 2.48 or 2.48a (the bug-fix release)? Try this version (with GLSL turned off). It also has the updated eye texture.

Link to comment
Share on other sites

  • Moderator
It could be that GLSL mode is enabled on startup and that is causing the crash. Are you opening it up in Blender 2.48 or 2.48a (the bug-fix release)? Try this version (with GLSL turned off). It also has the updated eye texture.

Hi again! :) I'm using Blender 2.48a. Maybe it's because of my video card (Radeon 9600). Can you tell me how can I turn GLSL off?

Thanks for all your answers. That's a great help for me :)

Link to comment
Share on other sites

  • Advanced Member
Hi again! :) I'm using Blender 2.48a. Maybe it's because of my video card (Radeon 9600). Can you tell me how can I turn GLSL off?

You can enable and disable GLSL through blender's game menu (changes are only visible in textured mode). It does sound from the card you're using that GLSL is the problem.

Hope this helps.

Link to comment
Share on other sites

  • Advanced Member
When importing the specular channel, on the shaders tab set specular and hardness to max. Then map the specular texture to "Spec" and "Hard" with the multiply blend mode. This will make the GLSL viewport and render match exactly (apart from SSS). Mapping to hardness as well is because 3d coat seems to do this in the viewport, and this emulates that effect well.

Thanks so much for taking the time to do this tute. I have been over looking the hardness button. Duh!

Thanks again,

P. Monk

Link to comment
Share on other sites

  • 4 years later...
  • Member

I'm using the latest version of blender 2.68 and when I draw the "F" symbols in the uv edit window they all display non-mirrored.. some of them require me to rotate the screen as they are up side down or on their side but they aren't mirrored which I am guessing means that they aren't inverted.

 

The problem is that inside of 3D Coat I do not see any seams / baked joints where I sliced the ref mesh up for retopology.

 

In Blender these Seams/slice zones on the bake show up like a sore thumb.  I'm not sure what's causing this to happen though.  any tips?

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...