Script Rendus multiples changement caméra-résolution-matière

Ici on parle des scripts

Modérateurs : frez, Yadoob, stilobique, Matpi, ModSquad

Script Rendus multiples changement caméra-résolution-matière

Message par Geoffroy » 26 Juil 2016, 19:32

Bonjour à tous,

Voici un script que j'utilise lorsque je dois lancer plusieurs rendus pendant la nuit.
L'intérêt est entre autre de changer la matière dans chaque rendu, de spécifier une caméra ainsi que sa résolution.
On peut spécifier le début et la fin de chaque timeline.
J'ai mis une petite vidéo "explicative" (vite faite et mal faite)



Ce script n'est pas parfait, mais facilement paramétrable c'est aussi mon premier script.
j'espère qu'il vous rendra service.
Merci

Code : Tout sélectionner
import bpy

#définition de la liste des matières
matieres = ('bleu','rouge','vert')


#animation Suzanne

#calques utilisés dans le rendu
bpy.context.scene.layers[10] = True
bpy.context.scene.layers[0] = True
bpy.context.scene.layers[1] = False

#calques visibles dans le rendu
bpy.context.scene.render.layers["RenderLayer"].layers[0] = True
bpy.context.scene.render.layers["RenderLayer"].layers[1] = False
bpy.context.scene.render.layers["RenderLayer"].layers[10] = True

#début et fin de la time line
bpy.context.scene.frame_start = 1
bpy.context.scene.frame_end = 40


#Définition de la caméra
bpy.context.scene.render.resolution_x = 100
bpy.context.scene.render.resolution_y = 100

#activer la bonne caméra
bpy.context.scene.camera = bpy.data.objects["Camera_suzanne"]


#boucle pour le changement des matieres
for matiere in matieres:

    #affectation de la matière à Suzanne
    bpy.data.objects['Suzanne'].material_slots[0].material = bpy.data.materials[matiere]
    #Chemin de sauvegarde
    bpy.context.scene.render.filepath = "C:\\Users\\Geo\\Desktop\\rendu\\Suzanne\\"+matiere+"\\"
    #lancement de l'animation
    bpy.ops.render.render(animation=True)
   


#animation sphere

#calques utilisés dans le rendu
bpy.context.scene.layers[10] = True
bpy.context.scene.layers[0] = False
bpy.context.scene.layers[1] = True

#calques visibles dans le rendu
bpy.context.scene.render.layers["RenderLayer"].layers[0] = False
bpy.context.scene.render.layers["RenderLayer"].layers[1] = True
bpy.context.scene.render.layers["RenderLayer"].layers[10] = True

#début et fin de la time line
bpy.context.scene.frame_start = 1
bpy.context.scene.frame_end = 60

#Définition de la caméra
bpy.context.scene.render.resolution_x = 200
bpy.context.scene.render.resolution_y = 100

#activer la bonne camera
bpy.context.scene.camera = bpy.data.objects["Camera_spheres"]

#boucle pour le changement des matieres
for matiere in matieres:

    #affectation de la matière à sphere
    bpy.data.objects['sphere'].material_slots[0].material = bpy.data.materials[matiere]
    #Chemin de sauvegarde
    bpy.context.scene.render.filepath = "C:\\Users\\Geo\\Desktop\\rendu\\sphere\\"+matiere+"\\"
    #lancement de l'animation
    bpy.ops.render.render(animation=True)

Geoffroy
 
Message(s) : 2
Inscription : 26 Juil 2016, 19:02

Retour vers Scripts - Python - OSL

Qui est en ligne ?

Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit et 2 invité(s)

cron