Boutique Cinema 4D
Affichage des résultats 1 à 13 sur 13

Discussion: Aligner l'axe d'un objet vers un objet cible

  1. #1

    Aligner l'axe d'un objet vers un objet cible

    Bonjour,

    Je cherche à modifier l'alignement de l'AXE d'un objet (et uniquement l'axe) de sorte qu'il pointe vers un objet spécifique.

    Le Z de l'axe pointant vers 0,0,0 en l'occurrence.

    Merci beaucoup

  2. #2
    Gourou Avatar de valkaari
    Date d'inscription
    mai 2009
    C4D version
    Autre
    OS
    OSX / windows
    Messages
    2 949
    C'est pas très clair comme question. Il faut un peu plus d'info ou être plus précise dans les termes pour qu'on puisse savoir ce que tu veux faire. La réponse en dépends.

  3. #3
    Vieux Croûton Avatar de Sir Gong
    Date d'inscription
    juillet 2002
    C4D version
    R19 Studio
    OS
    10.13.4 High Sierra
    Messages
    10 353
    Billets dans le blog
    2
    Il cherche l'équivalent du tag cible mais qui ne pivote pas l'objet, seulement ses axes.
    ÷ R19 Studio ÷ cacahuètes ÷

  4. #4
    OK,

    J'ai un objet polygonal, l'alignement de son axe ne me permet pas de contrôler comme je le voudrais son animation avec un effector mograph, je voudrais en effet le faire bouger en z et mograph prend en compte bien entendu son axe de rotation. Je voudrais donc modifier son axe en orientant le Z de l'axe vers un point donné (0,0,0 par exemple) sans changer sa position bien entendu.

    Je voudrais donc que mon axe s'oriente en fonction d'un objet cible.

    Ce n'est pas super clair, je suis désolé.

  5. #5
    Gourou Avatar de geantvert
    Date d'inscription
    mai 2007
    C4D version
    R15 Studio
    OS
    OScours
    Messages
    2 319
    C'est toujours pas très clair.... une petite image?

    Edit: 2000 posts champagne !!

  6. #6
    En fait comme le dit Gong ce serait exactement la même chose que le tag target (cible ?) lorqu'on le place sur un objet et qu'on lui donne un objet référence. Mais appliqué à l'axe d'un objet.


    Sachant que le tag est animable alors que moi je voudrais juste l'orienter définitivement.

    Voilà un petit croquis :
    Miniatures attachées Miniatures attachées axis.jpg  

  7. #7
    Gourou Avatar de druide
    Date d'inscription
    février 2005
    C4D version
    R13 Studio
    OS
    10
    Messages
    2 761
    Tu cliques sur le repère d'axe jaune orange à gauche, tu decales tes axes à ta convenance, et tu te remets en normal.
    Ce n'est peut-être pas forcément très clair, je te ferai un printscreen.

    Cela te permettra d'avoir ton objet où tu veux mais avec son axes en 0, 0, 0, si c'est ce que tu souhaites.


    Edit : ?
    Je ne comprend plus, ne tiens pas compte de ce que j'ai écrit.
    Dernière modification par druide ; 31/05/2012 à 18h00.
    Semi-nudistes Marathoniens et Campagnards
    Absent, quand je ne suis pas là.

    Merci aux modos pour tout et tous.

  8. #8
    Merci en tout cas Druide, c'est bien l'orientation de l'axe qui m'intéresse et non sa position.

    Je voudrais que mon axe "regarde" vers un point donné.

    merci

  9. #9
    Gourou Avatar de geantvert
    Date d'inscription
    mai 2007
    C4D version
    R15 Studio
    OS
    OScours
    Messages
    2 319
    Ça m’étonnerait grandement que tu puisse le faire uniquement sur l'axe de l'objet si ce n'est à la main.
    Sinon tu peux toujours mettre un null en enfant de ton objet et lui assigner un tag cible aligné sur l'axe de l'origine du monde (via un autre null).

    Mais j'ai du mal à comprendre le pourquoi de ta question, je ne vois pas le but.

  10. #10
    Pilier Avatar de xs_yann
    Date d'inscription
    février 2005
    C4D version
    R19 Studio
    OS
    Mac OS X 10.13
    Messages
    1 990
    Voici un script qui, a priori, fait ce que tu veux :

    Code PHP:
    import c4d
    from c4d import gui
    documentsutils

    def main
    ():
        
    doc documents.GetActiveDocument()
        
    objects doc.GetActiveObjects(False)
        if (
    len(objects) != 2):
            
    gui.MessageDialog('You must select two objects')
            return
        
    targetobj objects[0], objects[1]
        if 
    not obj.CheckType(c4d.Opoint):
            
    targetobj objtarget
        
    if not obj.CheckType(c4d.Opoint):
            
    gui.MessageDialog('You must select a polygonal object and a target')
            return
        
        
    local target.GetMg().off * (~(obj.GetUpMg() * obj.GetFrozenMln())) - obj.GetRelPos();
        
    hpb utils.VectorToHPB(local)
        
    targetMatrix utils.HPBToMatrix(hpb)

        
    mg obj.GetMg()
        
    mg.off c4d.Vector(0)
        
    pcnt obj.GetPointCount()

        
    doc.StartUndo()

        for 
    i in xrange(pcnt):
            
    point obj.GetPoint(i)
            
    doc.AddUndo(c4d.UNDOTYPE_CHANGEobj)
            
    obj.SetPoint(ipoint mg * ~targetMatrix)

        
    doc.AddUndo(c4d.UNDOTYPE_CHANGEobj)
        
    obj.SetAbsRot(hpb)

        
    doc.EndUndo()

        
    obj.Message(c4d.MSG_UPDATE)
        
    c4d.EventAdd()


    if 
    __name__=='__main__':
        
    main() 
    Il suffit de sélectionner ton objet polygonal et ta cible et de lancer le script. D'après ce que j'ai compris tu veux l'orienter définitivement donc un tag ne te servira pas mais le code est facilement adaptable.

    Par contre, je n'ai pas poussé plus loin : c'est l'axe Z qui pointe vers la cible, tu ne peux pas définir de "up vector" et les enfants de l'objet se déplacent avec les axes.

    Bon courage.

  11. #11
    Vieux Croûton Avatar de Sir Gong
    Date d'inscription
    juillet 2002
    C4D version
    R19 Studio
    OS
    10.13.4 High Sierra
    Messages
    10 353
    Billets dans le blog
    2
    Ah ben heureusement que t'es là toi, tu sauves l'honneur de la French.
    ÷ R19 Studio ÷ cacahuètes ÷

  12. #12
    C'est exactement ça xs_Yann, merci beaucoup !

    Sublime.

    Cela peut servir géant vert quand on veut faire un truc précis dans mograph et que les axes des objets clonés (dont vont dépendre les mouvements des clones) ne sont pas tous orientés vers un même point (dans le but d'atteindre un mouvement concentrique par exemple). Mais je suppose que c'est utile dans bien d'autres cas.

    Merci encore xs_yann, superbe.

  13. #13
    Vieux Croûton Avatar de Aurety
    Date d'inscription
    juillet 2002
    C4D version
    R17 Studio
    OS
    Mac
    Messages
    14 477
    Billets dans le blog
    3
    Merci xs_yann, trés utile ! On pourrait avoir l'option : je sélectionne la cible en premier objet et tous les autres ensuite pointeront vers le premier. Je dois les faire un par un et sur 100 objets c'est un peu long

    Sinon beh comme d'hab' tu es grand !
    kenavo !! // Pinterest KAMIGAZ®

Discussions similaires

  1. [Problème] Centrer l'axe de rotation d'un objet réussi mais échec lors du fonctionnement
    Par benraz dans le forum Nouveaux membres
    Réponses: 9
    Dernier message: 16/05/2012, 23h50
  2. Centrer l'axe d'un objet
    Par kimage93 dans le forum Nouveaux membres
    Réponses: 1
    Dernier message: 15/02/2011, 20h03
  3. centrer l'axe d'un objet
    Par darsanha dans le forum Nouveaux membres
    Réponses: 4
    Dernier message: 15/01/2007, 23h37
  4. repositionner l'axe d'un objet
    Par Elliac dans le forum Xpresso
    Réponses: 9
    Dernier message: 29/09/2004, 19h39
  5. Petite mise au point sur l'axe d'un objet
    Par Kaleo dans le forum Animation
    Réponses: 13
    Dernier message: 04/06/2003, 08h56

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •  
Mediaworks - Logiciels 3D | Design Internet - Creation site internet