(1) 2 »


Un middle script !
OverdOzed
Inscrit:
10/11/2003 16:50
Post(s): 1269
--- ATTENTION LAISSEZ TOMBER LE SCRIPT ---
--- ET TELECHARGER LE FICHIER BLEND QUE ---
--- QUE PROPOSE LOD DANS SON MESSAGE ---
--- ..................AU-DESSOUS............... ---



Voili bidi,

bida bida, prout bii prout bdibi... tip......tip...0110....01110..10

Ci-joint un script des familles qui permet de créer une passe (un rendu) de profondeur, plus communément appelé 'Z depth' qui permet d'obtenir un flou de profondeur facilement.

Question : Mais à quoi cela sert-il ?
Réponse : A créer une passe de profondeur.

Le but est donc d'effectuer deux rendus, un rendu dit 'normal' qui est donc un rendu normal et un rendu de la profondeur qui servira de calque d'alpha dans un logiciel 2D (Gimp, PaintShopPro, Photoshop etc...) afin de créer le Depth
of Field (DoF pour les intimes).

Je reviendrais plus tard sur la bonne méthode à utiliser pour créer un bon flou de profondeur.

Mais là, intéressons-nous au script:
- Première chose à savoir, ce script fonctionne à partir de Blender 2.28a jusqu'à la 2.32 (la 2.33 et 2.33a bug à mort sur l'affichage et ça fout le bordel )
- Ensuite, il faut savoir que le script crée une nouvelle scène basée sur celle qui était en cours lors du lancement du script.
Puis à chaque appuis sur 'Passe1', 'passe2' cette nouvelle scène est recrée afin de prendre en compte toutes les modifications sur la scène originale.
Seul problème à cela : pour modifier la scène originale (ajouter ou supprimer des objets) appuyez sur 'passe1' avant !
Autre problème important : Blender ne donne pas encore accès au données de rendu ni à l'activation d'un 'World' et de son brouillard ('Mist') donc fait attention à l'étape 4 et 5.

Donc la démarche à suivre est la suivante:
1 - Je lance le script
2 - Je règle la "focale" (le point maximum de netteté en fait), la "densité" (le flou intermédiaire avant que cela ne soit compètement flou), exemple :
focale = 10 cm et densité = 5 cm --> Jusqu'à 10 cm de la camèra tout est net, entre 10 cm et 15 cm il y a un flou progressif, après 15 cm c'est le flou complet.
3 - J'appuis sur 'passe1' et je fais les ajustements qu'il faut dans la scène puis 'F12' pour faire un rendu.
4 - Une fois le rendu effectué, j'appuis sur 'passe2' et je croise les doigts puis --> 'F10' et là il faut reprendre tous les paramètres de rendu et cela à chaque fois que j'appuis sur 'passe2'.
(Du moins pour l'instant).
5 - Et pour finir --> 'F8' et je choisis le monde nommée 'champ' et je n'oublis surtout pas d'activer 'Mist' en appuyer fermement dessus avec volonté ! (Sinon c'est la déception lors du rendu) puis --> 'F12'...

--- 'touche Q' pour quitter le script ---

J'en vois beaucoup qui tire la gueule mais en fait l'utilisation du script est plus simple qu'il n'y parait alors bon recopiage et bon courage !
Il faut bien sur copier le texte (ci-dessous en bleu) et le coller dans un éditeur de texte puis l'enregistrer avec le nom 'RealDepth.py'.
Le mot magique concernant l'indentation du script (ce sont les tabulations qui sont extrêmement importantes en Pyhton) est 'Kaal' donc il faut remplacer tout les Kaal par des tabulations (ou 3-4 espaces). Avec Scite c'est instantané et coloré (et gratuité)...

Citation :

#!BPY
"""
Nom: 'RealDepth'
Blender: 232
Groupe: 'Misc'
"""
import Blender
from Blender.BGL import *
from Blender.Draw import *
from Blender import Window

dens = Create(10.)
focale = Create(5.)
passe1 = Create(1)
passe2 = Create(0)

print
def interface():
Kaalglobal dens,focale,passe1,passe2
Kaal
KaalglClearColor( 0.7, 0.7, 0.7, 0)
KaalglClear(GL_COLOR_BUFFER_BIT)
KaalglColor3f(0.5,0.33,0.85)
KaalglRasterPos2i(100, 220)
KaalText("- RealDepth -")
Kaal
Kaaldens = Slider("Densite de la profondeur : ", 20, 30, 150, 400, 18, dens.val, 0, 500, 1, "'Epaisseur' du flou represente par l'Empty nomme : densite")
Kaal
Kaalfocale = Slider("Point de focale : ", 21, 30, 122, 400, 18, focale.val, 0, 500, 1, "Point représentant la mise au point sur un sujet")
Kaal
Kaalpasse1 = Toggle("Premiere passe (Rendu normal)", 30, 30, 94, 400, 18, passe1.val, "2eme etape : appuyer puis lancer un rendu 'final'")
Kaal
Kaalpasse2 = Toggle("Deuxieme passe (Rendu de l'alpha)", 40, 30, 66, 400, 18, passe2.val, "3eme etape : appuyer puis lancer un rendu")
def evenement(evt,val):
Kaalif (evt== QKEY and not val):Blender.Scene.Get("Original").makeCurrent(),Exit()
def bEvenement(evt):
Kaalif evt == 20:
KaalKaalpasse1.val=0
KaalKaalpasse2.val=0
KaalKaalplaceEmpties(1)
KaalKaalBlender.Window.QRedrawAll()
KaalKaal# Sur la 2.33 mettre :
KaalKaal#Blender.Redraw(1)
Kaalif evt == 21:
KaalKaalpasse1.val=0
KaalKaalpasse2.val=0
KaalKaalplaceEmpties(0)
KaalKaalBlender.Window.QRedrawAll()
KaalKaal#Blender.Redraw(1)
Kaalif evt == 30:
KaalKaalif passe1.val:
KaalKaalKaalpasse2.val = 0
KaalKaalKaalplaceEmpties(0)
KaalKaalKaalinitProfondeur()
KaalKaalKaalscene.makeCurrent()
KaalKaalKaalBlender.Redraw(1)
Kaalif evt == 40:
KaalKaalif passe2.val:
KaalKaalKaalpasse1.val = 0
KaalKaalKaalplaceEmpties(0)
KaalKaalKaalinitProfondeur()
KaalKaalKaalBlender.Scene.Get("Z Depth").makeCurrent()
KaalKaalKaal"""
KaalKaalKaalrendus = sc.Render.getRenderingContext()
KaalKaalKaal#rendus.enableGrayscale()
KaalKaalKaal#rendus.enableShadow(0)
KaalKaalKaaletc...
KaalKaalKaal"""
KaalKaalKaalBlender.Redraw(1)
def placeEmpties(opt):
Kaalif opt ==1:
KaalKaalDensite.setLocation(-cam.mat[2][0]*(dens.val+focale.val)+cam.LocX,-cam.mat[2][1]*(dens.val+focale.val)+cam.LocY,-cam.mat[2][2]*(dens.val+focale.val)+cam.LocZ)
Kaalelif opt ==2:
KaalKaalFocale.setLocation(-cam.mat[2][0]*focale.val+cam.LocX,-cam.mat[2][1]*focale.val+cam.LocY,-cam.mat[2][2]*focale.val+cam.LocZ)
Kaalelse:
KaalKaalFocale.setLocation(-cam.mat[2][0]*focale.val+cam.LocX,-cam.mat[2][1]*focale.val+cam.LocY,-cam.mat[2][2]*focale.val+cam.LocZ)
KaalKaalDensite.setLocation(-cam.mat[2][0]*(dens.val+focale.val)+cam.LocX,-cam.mat[2][1]*(dens.val+focale.val)+cam.LocY,-cam.mat[2][2]*(dens.val+focale.val)+cam.LocZ)
def initProfondeur():
Kaal# Initialisation du brouillard :
KaalZworld.setMist([0,focale.val,dens.val,0])
Kaal# Initialisation de la scène :
Kaalscene.makeCurrent() # Retour sous les projecteurs de la scène 'Originale' afin de la dupliquer sans les Lampes :
Kaaltry:
KaalKaalSceneProfondeur = Blender.Scene.Get("Z Depth")
KaalKaalBlender.Scene.unlink(SceneProfondeur)
KaalKaalSceneProfondeur = scene.copy(0)
KaalKaalSceneProfondeur.name = "Z Depth"
Kaalexcept:
KaalKaalSceneProfondeur = scene.copy(0)
KaalKaalSceneProfondeur.name = "Z Depth"
Kaalobjs = Blender.Object.Get()
Kaalfor obj in objs:
KaalKaalif obj.getType() == "Lamp":
KaalKaalKaalSceneProfondeur.unlink(obj)
KaalBlender.Redraw()
#--------------------Début---------------------------
try:
Kaalscene = Blender.Scene.Get("Original")
except:
Kaalscene = Blender.Scene.getCurrent()
Kaalscene.name = 'Original'
cam = scene.getCurrentCamera()
# Initialisation des curseurs de profondeur :
try:
KaalFocale = Blender.Object.Get("Focale")
except:
KaalFocale = Blender.Object.New("Empty","Focale")
KaalFocale.setDrawMode(8)
Kaalscene.link(Focale)
try:
KaalDensite = Blender.Object.Get("Densite")
except:
KaalDensite = Blender.Object.New("Empty","Densite")
KaalDensite.setDrawMode(8)
Kaalscene.link(Densite)
try:
KaalZworld = Blender.World.Get("Champ")
KaalZworld.setMist([0,focale.val,dens.val,0])
except:
KaalZworld = Blender.World.New("Champ")
KaalZworld.setHor([1,1,1])
KaalZworld.setMist([0,focale.val,dens.val,0])
KaalZworld.setMistype(2)
KaalZworld.setZen([1,1,1])
scene.update(0) # Mise à jour du nouveau nom de la scène
placeEmpties(0)
initProfondeur()
scene.makeCurrent()
Register(interface,evenement,bEvenement)

Contribution le : 18/05/2004 10:33
Créer un fichier PDF de la contribution Imprimer


Re: Un middle script !
OverdOzed
Inscrit:
10/11/2003 16:50
Post(s): 1269
Voilà, je rajoute ça parce que c'est jolie !


Le modèle n'est évidemment pas de moi, je l'ai pêcher sur reblended.org

Contribution le : 18/05/2004 10:43
Créer un fichier PDF de la contribution Imprimer


Re: Un middle script !
Fou Furieux du Clan
Inscrit:
12/08/2003 10:39
Post(s): 112
très bon script que tu nous a pondu là Kaal...

merci beaucoup pour ce don !!

juste une petite remarque pour ceux qui vont récupérer le script...
après avoir ajouté vos tabulations, vérifier la dernière ligne : il manque une ")" (paranthèse fermante) tout à la fin...

sinon, vous aurez une belle : "python script error, check console"

vala encore merci, c un super script !!!

Contribution le : 18/05/2004 15:55
Créer un fichier PDF de la contribution Imprimer


Re: Un middle script !
Fou Furieux du Clan
Inscrit:
12/08/2003 10:39
Post(s): 112
petite précision après avoir utilisé le script un peu plus en profondeur :

1) respectez bien les consignes de Kaal.
par exemple, n'essayez pas de déplacer l'empty "Focale"...j'ai lutté pour comprendre qu'il suffit de jouer avec le slider correspondant pour modifier la position de l'empty.

2) N'utilisez pas ce script si votre blend contient plusieurs scènes...En cliquant sur 'Pass2', toutes les scènes de votre fichier sont alors dupliquées sur la scène principale, ce qui crée un beau bordel et éventuellement un crash de blender.

Sinon, c'est mortel...une fois vos deux rendus enregistrés, il suffit d'un soft 2D pour créer du DOF, ou tout autre effet basé sur le rendu "zDepth".
Voici un lien où tout est expliqué pour créer du DOF sous Photoshop, à partir d'un rendu normal et d'un rendu zDepth :

http://www.3dvf.com/modules/publish/Tutoriels_1044_1.html

le début concerne Lightwave...rendez vous directement à la partie Photoshop (après les deux images).

Contribution le : 18/05/2004 16:47
Créer un fichier PDF de la contribution Imprimer


Re: Un middle script !
Clan Afficionado
Inscrit:
19/09/2003 19:30
Post(s): 51
C vrai que ca a l'aire vraiment super bien mais pour le faire marcher il faut ajouter les tabulation c'est ca ? Comment fait on cela ? et ou faut il les metre ?

Merci beaucoup je suis impatient d'essayer ce script !

Contribution le : 18/05/2004 17:44
Créer un fichier PDF de la contribution Imprimer


Re: Un middle script !
OverdOzed
Inscrit:
17/04/2004 23:50
De Vers Lyon
Post(s): 566
Merci pour ce script Kaal. Faudrait que je lache FF Tactics pour me remettre un peu à Blender !

Contribution le : 18/05/2004 18:27
Créer un fichier PDF de la contribution Imprimer


Re: Un middle script !
OverdOzed
Inscrit:
10/11/2003 16:50
Post(s): 1269
Bon c'est vrai que c'est encore une Alpha-prerelease de béta pour le moment.

Citation :
N'utilisez pas ce script si votre blend contient plusieurs scènes...En cliquant sur 'Pass2', toutes les scènes de votre fichier sont alors dupliquées sur la scène principale, ce qui crée un beau bordel et éventuellement un crash de blender.


C'est régler maintenant, j'ai mis à jour le script ci-dessus mais c'est pas encore ça !

Merci pour le lien que tu as mis c'est nickel, mais son exemple de DoF est vraiment dégueulasse .

Je ferais un tut bientôt...

Contribution le : 18/05/2004 18:52
Créer un fichier PDF de la contribution Imprimer


Re: Un middle script !
OverdOzed
Inscrit:
10/11/2003 16:50
Post(s): 1269
Bonjour à toi sgeoffroy3,

Il faut bien rajouter des tabulations dans le texte car on ne peut en créer sur le site du Blender.clan.st.

Donc en fait dans le texte en bleu au-dessus j'ai remplacer les tabulations par le mot 'Kaal' et vous de votre côté il faudra faire le chemin inverse pour que le script ressemble à quelque chose.

A chaque qu'il y a Kaal c'est donc une tabulation (ou 4 barre d'espaces, ça marche aussi !) donc s'il est écrit :
KaalKaalProutproutKaalprout
Et bien cela donne ?!? : 2 tab + Proutprout + tab + prout

Bonne chance

Contribution le : 18/05/2004 19:05
Créer un fichier PDF de la contribution Imprimer


Re: Un middle script !
Clan Afficionado
Inscrit:
19/09/2003 19:30
Post(s): 51
Merci beaucoup ca marche a merveille ( j'ai utilisé le bloc note et la fonction remplacer et hop !!! )
Citation :

Kaal_le_Saint a écrit :
Et bien cela donne ?!? : 2 tab + Proutprout + tab + prout

Un exemple telement poètique

Enfin bref un bien bôô script que celui ci !!

Merci Kaal !!

Contribution le : 18/05/2004 19:16
Créer un fichier PDF de la contribution Imprimer


Re: Un middle script !
OverdOzed
Inscrit:
07/10/2003 12:48
De LA ROCHELLE (fr-17000)
Post(s): 782
tu me dis si je me trompe mais ton script fait :
une copie de la scène
ajoute le Myst
et un MAT sur les Meshs !!

C'est presque aussi simple/rapide à la main, nan ?
ou j'ai raté qq chose ?

Ma méthode, sans script, sans Myst et animable (avec DOF multiple si vous voulez en modifiant le Blend en ColorBand ; sans parler du DOF Diagonal ou Sphere ) .blend.zip 41Ko

! j'ai rajouté une contrainte à la Focale afin qu'elle pointe tjrs la Camera pour aligner le Z à la Camera !!! Et un miniTUT TheGimp.

Contribution le : 19/05/2004 07:45
_________________
LDWEB.ressources Blender + LDWEB-Tutoriels
Mes Animations (pas que du Blender :-/ mais dorénavant...
Créer un fichier PDF de la contribution Imprimer



 Haut   Précédent   Suivant
(1) 2 »




Enregistrer votre réponse
Compte*
Nom   Mot de passe   Authentification
Message:*



[Recherche avancée]



Sujets récemment répondus
Forums Sujets Réponses Lus Dernières contributions
[WIP] et travaux terminés [WIP] Teeny Tiny - Story    [1][2][3]...[5] 46 4074 Hier 22:50:02
Bibi09 
Questions & Réponses Comment nettoyer le LNA ? 0 14 Hier 20:54:50
Meltingman2 
[WIP] et travaux terminés [WIP] Tutoriel vidéo et création de mon prochain court métrage 5 238 Hier 20:25:01
Meltingman2 
Moteur de jeu GameBlender et alternatives [WIP] DeadSigns FPS horreur - Première version disponible !    [1][2][3]...[58] 577 98355 Hier 17:24:51
Hook 
Questions & Réponses switch entre IK/FK 4 51 08/08 18:54:05
prometheusx 
Questions & Réponses Je bloque sur la modélisation de ce verre! Avez-vous une solution? 8 269 08/08 13:23:47
debutant 
Questions & Réponses [non résolu] cloth: déformation bizzarre au rendu 3 73 07/08 09:21:18
Arielboid 
Questions & Réponses les cheveux longueur 1 58 06/08 19:53:18
Rimpotche 
Questions & Réponses ADDON MB - Lab 0 66 06/08 15:29:23
GI-jo13 
Questions & Réponses [résolu] en sculpt mode 5 204 04/08 18:21:10
prometheusx 
Questions & Réponses [résolu] Array circulaire 2 164 04/08 15:22:46
Redstar 
Questions & Réponses Addon pour textures procedurales 2 163 02/08 20:11:35
Crocodile_13 
Questions & Réponses avis animation marche :)    [1][2][3][4] 34 795 02/08 20:03:14
prometheusx 
[WIP] et travaux terminés [terminé] court métrage 2020    [1][2] 13 912 02/08 15:28:29
flahaut 
Questions & Réponses [résolu] Générique, sous-titres etc 3 169 02/08 09:18:02
Corpia 
Questions & Réponses [résolu] Scène prend la couleur du fond    [1][2] 11 322 02/08 08:20:32
Arielboid 
Questions & Réponses [non résolu] Problele d'addon 0 128 02/08 01:52:30
nayther 
Questions & Réponses Addon pour textures procedurales 1 127 01/08 12:22:52
moonboots 
Questions & Réponses hair densité sélection de polys 9 272 30/07 23:18:21
lenogre 
Questions & Réponses [résolu] graph editor et location key frame 7 235 30/07 16:41:18
math_ 

Qui est en ligne
142 utilisateur(s) en ligne (dont 111 sur Forums)

Membre(s): 0
Invité(s): 142


plus...
Nouveaux membres
KeeshaQ213 10/8/2020
Marty55G89 10/8/2020
GonzaloSwa 10/8/2020
Quincy04I 9/8/2020
MinervaEst 9/8/2020
MollieAnde 9/8/2020
Daniella38 9/8/2020
SuzannaCul 9/8/2020
MilagroF76 9/8/2020
MichelleMc 9/8/2020
Dernier Ajout
mirages-preview~0.jpg

Evènements à venir
Aou 13
Anniversaire Siskas
Sep 8
Anniversaire de ang
Nov 18
Anniversaire de RichDeg
plus 266 plus d'élément(s)
 Par Mickaël Guédon [ebrain] © 2003-2020 The Blender Clan - hébergé par TuxFamily - Site déclaré à la CNIL sous le numéro 1155445