Create VRay material
Passion3D last edited by Passion3D
I know my question doesn't directly pertain to C4D, but maybe someone here will have the answer.
Creating a c4d material is simple, mat = c4d.Material(c4d.Mbase), but how to create a VRay material?
s_bach last edited by s_bach
sorry, but this it NOT how to create a "c4d material".
Cinema 4D has multiple, different materials. All materials are based on BaseMaterial. Thus, any material can be created using the
c4d.BaseMaterialconstructor and the appropriate ID:
# create Cheen material material = c4d.BaseMaterial(c4d.Mcheen) doc.InsertMaterial(material) c4d.EventAdd()
The Cinema 4D standard material is a special case. It can be created using
BaseMaterial. But there is also a dedicated class, that can be used as well: c4d.Material.
# create standard material material = c4d.BaseMaterial(c4d.Mmaterial) material.SetName("first material") doc.InsertMaterial(material) # create standard material the other way material2 = c4d.Material() material2.SetName("second material") doc.InsertMaterial(material2)
To create a VRay material, you need the ID of that material to use it with
c4d.BaseMaterial. I don't have VRay here, but you can easily obtain that ID from a already created material using GetType().
# get the currently selected material mat = doc.GetActiveMaterial() if mat is not None: # print type ID print(mat.GetType())
You find more information in the C++ docs: BaseMaterial Manual
Passion3D last edited by
Thank you for your response. I found the identifiers of the different VRay materials in the file c4d_symbol.h.