I have completed a test model in blender 2.7 and upon assigning a material and texture to a shirt it all appears fine and the texture looks great in blender. However upon export to three.js the material color, blender default gray, of the shirt appears to bleed through the UV texture, which is a white cloth, not to be confused with cloth simulation, and it appears a lighter shade of blender default gray.
But indeed the UV texture is present while I can observe the cloth fabric, threads etc. I have correctly chosen the assign button as needed. Would this be a shading issue or have I missed something after months and months of tutorials and reading?

  • $\begingroup$ Making a copy of your ~.blend file accessible would help diagnosing the issue. However, I have found in my own work that in some circumstances, a material can influence a texture, so that if I want a white wall, I will generally use a white material behind a texture with a white background. $\endgroup$ – brasshat Oct 17 '14 at 13:46
  • $\begingroup$ I did actually attempt to change the material color to white through the use of diffuse, however, the default gray remained? $\endgroup$ – user2544743 Oct 18 '14 at 0:58
  • $\begingroup$ I wonder if there is a way to make the material color transparent? $\endgroup$ – user2544743 Oct 18 '14 at 0:59

Set the diffuse color to full white.

Blender internal materials do not overlay the diffuse color over the texture (blending) while depending on your application / three.js shaders probably do take diffuse color into account as a color overlay.

Als make sure to set the intensity to 1 as that might change the RGB values upon export. Blender default materials have a gray value and intensity 0.8 as default, so you could write a little script to update all the materials:

import bpy

for material in bpy.data.materials:
    material.diffuse_color = (1.0, 1.0, 1.0)
    material.diffuse_intensity = 1
    material.specular_intensity = 1

A neutral white should therefore produce the proper result.


Your Answer

