I've created a mesh in blender and am trying to add a material in a way that will give the model a realistic fabric look.

I added a material with an image texture, but the model looks very smooth and unrealistic far from a cloth like/fabric look.

Please how can i achieve this? (is it the image am using or i will have to update some properties in the node editor?)

Secondly, the end goal is to export the model as .obj/.mtl file and import/render it in an AR app using opengl es, so the key is to be able to retain the look in the app, please which method/approach is the best....how do i go about it? Thanks.

  • $\begingroup$ Try a PBR material: textures.com/browse/pbr-materials/114558 $\endgroup$ – FFeller Mar 28 '19 at 6:42
  • $\begingroup$ maybe share a part of your fabric picture so that we can try a material $\endgroup$ – moonboots Mar 28 '19 at 7:19
  • $\begingroup$ @FFeller Thanks for your reply, i think some of the materials there were created using substance painter. I know there's a way to to use substance painter materials in blender, but can i read it via opengl and attach it to my mesh? since my main goal is to render the model in my android app $\endgroup$ – Distjoy Mar 28 '19 at 7:30
  • $\begingroup$ @moonboots thanks for your reply, here's the link imgur.com/a/mknr7n2 its an african fabric style $\endgroup$ – Distjoy Mar 28 '19 at 7:30

There must be a lot of solutions to make a fabric material but here is one that doesn't look too bad:

  • First find a fabric texture and make it tileable, if it's not already. Convert it to a Normal map and a Specularity map with a software like CrazyBump or else.
  • Build your node organization as below.
  • Increase the Scale in he Mapping node so that the texture is repeated.
  • Mix a Diffuse with a Glossy, use the Specularity as factor, it will make the threads shine a bit.
  • Plug the Normal map to both the Diffuse and Glossy to give a bit of 3D relief to the whole thing.
  • Then, as a fabric might shine a bit like velvet, bring a second Mix shader and use a Fresnel.
  • Now you just need to plug your colored pattern in the yellow socket of the Diffuse.

enter image description here

  • $\begingroup$ I really appreciate your time, i will give this a shot now. However i got some clarifications i would like you to help me with The process in step 2 to 7 is an option to doing it in CrazyBump right? $\endgroup$ – Distjoy Mar 28 '19 at 15:22
  • $\begingroup$ i think my reference image (imgur.com/a/mknr7n2) is not 100% tileable how do you suggest i make it seamless, edit it? $\endgroup$ – Distjoy Mar 28 '19 at 15:23
  • $\begingroup$ i read somewhere that node editor settings are specific to the renderer, and blender doesnt export this (blender.stackexchange.com/questions/57531/…) are you sure this setup will be exported and take effect when i read the material and render in model opengl? $\endgroup$ – Distjoy Mar 28 '19 at 15:23
  • $\begingroup$ I'm not sure what you mean about CrazyBump, if you want to give your fabric a fake 3D relief you need to create a Normal or Bump map, with CrazyBump or this sort of software. About your reference image: you only need to make it tileable if you want it to be repeated on the fabric, if it's only displayed once you don't need. And for the last question I'm sorry I don't know a lot about export :/ $\endgroup$ – moonboots Mar 28 '19 at 15:26
  • 1
    $\begingroup$ no, you don't understand, for this node setup, you need 2 image textures that are 2 maps: one normal map and one specular map. To generate normal or specular maps from a picture you need a software like CrazyBump or else. Then when you have your maps you open them in the Image Texture nodes and plug these nodes into what there are supposed to be plugged (here Normal Map node and the factor of a Mix Shader) $\endgroup$ – moonboots Mar 28 '19 at 15:54

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.