C4D Material Builder
-
On 19/11/2017 at 19:33, xxxxxxxx wrote:
Hey!
I'm writing a simple script that creates and sets up a C4D Material based on a folder of .jpgs with appropriate "*_diffuse.jpg", "*_specular.jpg" etc. names.
I've figured out how to create a material, but I'm stuck on how to add the filepath to a ".jpg" to the [c4d.MATERIAL_COLOR_SHADER].
Create new C4D Material
c4d.CallCommand(13015, 13015) # New Material # Get First Material, the one we just created material = doc.GetFirstMaterial() # rename: cdmat-"name" material[c4d.ID_BASELIST_NAME] = "name" # Enable Color Mat[c4d.MATERIAL_USE_COLOR] material.SetChannelState(c4d.CHANNEL_COLOR, True) # Set Mat[c4d.MATERIAL_COLOR_SHADER] to name_diffuse.jpg material[c4d.MATERIAL_COLOR_SHADER] = "D:\CD-Scenes\008-BedroomDemo\008-Bedroom-01.jpg" print(material[c4d.MATERIAL_COLOR_SHADER])
Thanks!
Matt
-
On 19/11/2017 at 20:27, xxxxxxxx wrote:
you need to do like this
material = c4d.BaseMaterial(c4d.Mmaterial) material.SetName("Name") # Set the state of a channel material[c4d.MATERIAL_USE_COLOR] = True # Create Bitmap Shader shader = c4d.BaseShader(c4d.Xbitmap) shader[c4d.BITMAPSHADER_FILENAME]= r"D:\CD-Scenes\008-BedroomDemo\008-Bedroom-01.jpg" # Inserts a shader in the objects shader list material.InsertShader(shader) material[c4d.MATERIAL_COLOR_SHADER] = shader # Inserts Material in Project doc.InsertMaterial(material)
-
On 20/11/2017 at 06:14, xxxxxxxx wrote:
Hi Matt,
if you are interested in a bit more background, what anion did in his code and why, you may want to visit the C++ Docs (no worries!) :
BaseShader Manual
Material Manual