tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
2
ZUGRIFFE
408
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von Orbit
    Orbit Orbit ist offline Mitglied Gold
    Registriert seit
    Aug 2007
    Beiträge
    175
    Hey,
    ich habe ein Splineobjekt und ich hab etwa 30 Objekte deren Nullpunkt punkte der spline werden sollen.
    Ich kann mir die Position der Objekte besorgen, und auf die Spline zugreifen kann ich auch. Aber wie kriege ich es hin, auf einen einzelnen punkt der Spline zuzugreifen und seine Position zu versetzen?
    mfg,
    Orbit
     

  2. #2
    Avatar von Mark
    Mark Mark ist offline Mod | Cinema4D
    tutorials.de Moderator
    Registriert seit
    Aug 2003
    Ort
    Vienna:Austria
    Beiträge
    8.123
    Blog-Einträge
    10
    Hi!

    Habe mich mal versucht
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    
    //    =====================================
    //    Objects2Spline
    //    by mark @ tutorials.de 2008
    //    =====================================
     
    main(doc,op)
    {
        //    op = das Spline-Objekt
        //    Kein Punkte-Objekt
        if (!instanceof(op, PointObject)) return FALSE;
     
        //    In dieser Hierarchie befinden sich die Knotenpunkte
        var knots    = doc->FindObject("knots");
        if (!knots) return false;
     
        //    Zähle Knotenpunkte
        var kcnt    = 0;
        var kobj    = knots->GetDown();
        while(kobj) {
            kcnt++;
            kobj        = kobj->GetNext();
        }
     
        //    Punkte-Anzahl der Spline
        var scnt    = op->GetPointCount();
     
        //    Anzahl der Knotenpunkte ungleich der Spline-Punkte
        if (kcnt != scnt) {
            var vc    = new(VariableChanged); if (!vc) return FALSE;
            //    Spline-Punkte = Knoten-Anzahl
            vc->Init(scnt, kcnt);
            op->MultiMessage(MSG_POINTS_CHANGED, vc);
        }
     
        //    Spline-Punkte setzen
        var pcnt    = 0;
        kobj            = knots->GetDown();
        while(kobj) {
            var kpos    = kobj->GetPosition();
            op->SetPoint(pcnt, kpos);
            pcnt++;
            kobj            = kobj->GetNext();
        }
     
        op->Message(MSG_UPDATE);
    }
    Sollte die Frage beantworten ... ?

    Liebe Grüße,
    Mark.

    //edit: Zur Sicherheit: Spline-Objekt erhält Coffee-Tag mit obigem Script. Ein Null-Objekt namens "knots" hat als Unterobjekte die Knoten-Punkte der zu erzeugenden Spline ...
     
    ... bitte keine C4D-Fragen per PN ...
    +++ OUT NOW for CINEMA4D:
    Al'em - Free Align Plugin + Shaderpack Vol 1 - Free Shaders
    + Roll-It v1.0 - Free Roll Plugin + Egg-Objekt - Free Egg Primitive +++
    eggtion.net

  3. #3
    Avatar von Orbit
    Orbit Orbit ist offline Mitglied Gold
    Registriert seit
    Aug 2007
    Beiträge
    175
    Super! Vielen, vielen Dank!
    Loift natürlich, allerdings mochte mein Compiler dies hier nicht:
    Code :
    1
    
    if (!knots) return false;
    ich musste es mit
    Code :
    1
    
    if (!knots) return FALSE;
    ersetzen; nur falls dies hier mal noch jemand braucht...
    Nochmals danke + mfg,
    Orbit
     

Ähnliche Themen

  1. Punkte am Spline ausrichten?
    Von digital art im Forum Cinema 4D
    Antworten: 3
    Letzter Beitrag: 18.09.08, 15:08
  2. Ausrichten auf Spline
    Von MiLau im Forum Cinema 4D
    Antworten: 16
    Letzter Beitrag: 08.06.05, 01:41
  3. Auf Spline ausrichten 2
    Von Xo-mate im Forum Cinema 4D
    Antworten: 6
    Letzter Beitrag: 15.10.04, 11:32
  4. Auf Spline ausrichten
    Von Xo-mate im Forum Cinema 4D
    Antworten: 2
    Letzter Beitrag: 14.10.04, 16:22
  5. auf spline ausrichten....
    Von sleepo im Forum Cinema 4D
    Antworten: 3
    Letzter Beitrag: 28.03.04, 17:00

Stichworte