Cinema4D Python Script

Appliquer aléatoirement des textures aux objets sélectionnés

Pour appliquer aléatoirement les matériaux sélectionnés aux sous-objets de l’objet actif.

  1. sélectionner les matériaux
  2. sélectionner le ou les objets
  3. lancer le script
import c4d, random

def main():
    
    doc.StartUndo()
    mats= doc.GetActiveMaterials()
    if mats :
        for o in doc.GetActiveObjects(0):
            doc.AddUndo(c4d.UNDOTYPE_CHANGE,o)
            tg = c4d.TextureTag()
            tg[c4d.TEXTURETAG_MATERIAL]=random.choice(mats)
            pred = None
            tags = o.GetTags()
            if tags : pred = tags[-1]
            
            o.InsertTag(tg,pred)
    doc.EndUndo()
    c4d.EventAdd()
                

if __name__=='__main__':
    main() 

Leave a Reply