vendredi 28 mars 2014

4 méthodes pour faire clignoter une lumière

Cette semaine un gros tuto en deux vidéo, je part d'une simple question "Comment faire clignoter une lumière" et je montre 4 méthodes différente de procéder, donc au programme les "clips de mouvement", le "mouvement C", xpresso (en fait je montre 2 méthode avec xpresso) et enfin avec le tag python, place aux vidéo...


Dans la premier vidéo on voit donc l'utilisation de base des clip de mouvement, puis l'utilisation du mouvement C sur un paramètre et deux xpresso, puis dans le seconde vidéo on vois comment créer un tag python pour faire la même chose, c'est à dire faire clignoter une lumière

le script python à coller dans un tag python :
import c4d
import random

def main():
    # on définit l'objet sur lequel on à ajouté le tag
    maLumiere = op.GetObject()
    
    # on définit la frame active
    frame = doc.GetTime().GetFrame(doc.GetFps())
    
    # on récupère la DU
    onoff = op[c4d.ID_USERDATA,2]

    # on initialise le random
    rand = random.Random()
    rand.seed(frame)
    
    # si  la case on/off est coché
    if onoff == 1:
        # on définit une valeur au hasard entre 0.95 et 1
        hasard = rand.uniform(0.95, 1)
        
        # on définit une valeur au hasard plus faible entre 0.85 et 0.9
        hasardfort = rand.uniform(0.85, 0.9)
        
        # toutes les 5 frames
        if (frame % 5) == 0:
            # on change l'intensité de la lumière
            maLumiere[c4d.LIGHT_BRIGHTNESS] = hasard
        
        # toutes les 8 frames
        if (frame % 8) == 0:
            # on change l'intensité de la lumière
            maLumiere[c4d.LIGHT_BRIGHTNESS] = hasardfort
            
    # sinon
    else:
        # on met la lumiere à 1 c'est à dire à 100%
        maLumiere[c4d.LIGHT_BRIGHTNESS] = 1

attention à bien créer les données utilisateur sur le tag python comme montré dans la vidéo

14 commentaires:

Lazarus a dit…

Bon sang!!! C'est noel.Deux vidéo,là,merci beaucoup,je vait me regaler.

KamiGeek a dit…

noël non, mais on approche de pâques ^_^"

Unknown a dit…

Mais oui,c'est noel 1 tuto complet composé de 2 tutos:Malgré que je suis entrain de travailler une anim,je m'interesse à python que je verrais plus tard car ilya tellement de chose à voir mais Super.Merci

Lazarus a dit…

Pour voir, j'ai aussi essayé avec le noeud trigonométrie et ca a l'air de fonctionner aussi, sinon une fois de plus j'ai encore appris des choses en python et ça c'est vraiment super. Je vais m'y mettre sérieusement maintenant. Merci

Lazarus a dit…

Tant que j'y suis, est-ce qu'avec python il y a un moyen de placer une image bitmap dans l'entête d'une donnee utilisateur pour creer un titre, par l'intermédiaire d'une librairie spécifique?

KamiGeek a dit…

Et oui il y à encore d'autre méthode comme je l'ai dit dans la vidéo, j'en ai montré 4 mais j'aurai pu facilement en montrer plus ^_^ seulement 1h38 de vidéo c'est déjà bien >_<"

Sinon pour les données utilisateur on peux en manipuler avec python mais cela reste très limité, si l'on souhaite des dialogues plus personnalisé avec images par exemple il faut plutôt envisager la création de plugin qui offre plus de possibilité, car à ma connaissance il n'y a pas de moyen de mettre une image dans les Données utilisateur (je ne sais pas tout non plus...)

Lazarus a dit…

En tout cas,j'en ai pas trouver non plus.Bah,je m'en passerais,c'est pas vital.

Jean Michel a dit…

Bonjour, je débute et je vous remercie pour vos tutoriels d'une pédagogie remarquable, cependant j'ai un petit souci que je n'arrive pas à régler, connecter 2 splines qui se croisent, j'ai bien essayer le plugin Spline connector, mais apparemment je comprends pas je n'arrive à rien connecté avec ?

KamiGeek a dit…

Alors il me faut un peu plus d'info sur ce que tu cherche à faire...

si tu as deux splines et que tu souhaite en avoir qu'une étant la somme des deux il te suffit de les sélectionner dans la hiérarchie et faire un clic droit > connecter les objet + supprimer

cela va regrouper les deux spline dans une seule

sinon tu as également les masque spline qui sont des booléen pour les splines on peut donc avec faire des opération booléenne sur les splines (ajouter, soustraire, etc.)

Unknown a dit…

Voil,j(utilise crazybump demo 1.2
et c'est vraiment superbien.quelle est la difference avec la version pro?

KamiGeek a dit…

aucune idée de la différence entre les différentes version^_^"
je ne l'utilise pas

Anonyme a dit…

Bonjour/Bonsoir ! j'aurais voulu savoir une petite chose qui serait très utile ! lorsque l'on change l'intensité de la lumière avec (frame % X) la valeur prise par l'intensité ne reste que durant une frame, y a t-il un moyen sur python pour prolonger cette valeur jusqu'au prochain changement !

Si c'est possible (et je l'espère) ca m'aiderait beaucoup ! merci d'avance ^^ (j'espère avoir été assez précis dans mes indications =s )

Anonyme a dit…

Oups excusez moi pour cette question qui finalement ne sers à rien ! je me suis rendu compte qu'en retirant la condition "else" à la fin du code ca avait l'effet escompté ! je me sens bête du coup ^^"

KamiGeek a dit…

il n'y a pas de honte à poser une question quelque soit la question ^_^

en effet dans le code python le else permet de remettre la lumière à 1, c'est à dire à 100%, en retirant le else on ne remet pas la lumière à 100% et donc elle garde la valeur précédemment définit ^_^