tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
6
ZUGRIFFE
963
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von Woogy
    Woogy Woogy ist offline Mitglied Brokat
    Registriert seit
    Nov 2004
    Ort
    Kaiserslautern
    Beiträge
    303
    Hi !
    habe folgendes Problem : wenn ich ein Objekt ( 3ds, dxf, vrml ) lade, dann kommt es oftmals vor, dass sich zwar auf dem Nullpunkt ( x,y und z=0 ) das Koordinatenkreuz zum schieben und drehen befindet, das eigentliche Objekt aber ganz wo anderst sitzt.
    Habe bis jetzt immer das Objekt im Polygonmodus selektiert und dann in diesem Modus die x,y,z Werte auf 0 gesetzt und danach wieder in den Modell bearbeiten Modus.
    Ich weiß, dass ich nicht unbedingt nur mit dem K-Kreuz das Objekt schieben und bearbeiten kann, aber dies ist in einigen Situationen einfach schneller.
    Das kann aber doch nicht die einzige Möglichkeit sein. Bei einem größeren Modell mit mehreren Objekten und Polygonen werd ich ja nie mehr fertig. Ich hoffe die Frage war verständlich, freue mich auf Eure Lösung.

    LG
    Woogy
     

  2. #2
    Avatar von Jens B.
    Jens B. Jens B. ist offline Damn good coffee!
    tutorials.de Premium-User
    Registriert seit
    Nov 2001
    Beiträge
    2.477
    Hi!

    Ja, das ist ein Problem. Das liegt daran, dass Cinema die Position des Koordinatenkreuzes bei Objektegruppen immer auf den Nullpunkt setzt und nicht in die Mitte des Objektes.

    Abhilfe schafft wohl am Besten einfaches Kopieren und verschieben des Koordinatenkreuzes. Aber eine Funktion gibt es nicht und kann es auch nicht geben.

    Gruß,
    Jens
     

  3. #3
    Registriert seit
    Mar 2004
    Ort
    Austria, Wels
    Beiträge
    796
    Bin mir jetzt nicht ganz sicher, aber dein Problem is die Objektachse bei importierten Objekten richtig zu verschieben, oder?

    Dafür gibt es doch einen "Achsenmodus", mit dem du die Achse einzelner Objekte verschieben kannst.
     
    igitt!

  4. #4
    Avatar von Woogy
    Woogy Woogy ist offline Mitglied Brokat
    Registriert seit
    Nov 2004
    Ort
    Kaiserslautern
    Beiträge
    303
    Hi Doc,

    klar wie Du schon sagst "Dafür gibt es doch einen "Achsenmodus", mit dem du die Achse einzelner Objekte verschieben kannst."

    Nicht mehr und auch nicht weniger geht damit.

    Es geht aber eben darum, dass dieses Objekt leider 761 Objekte und 230.869 Polygone hat. Hab keinen Bock bei allen 761 Objekten den Achsenmodus einzeln zu verwenden um den Koordinatenpunkt zu treffen. Habe vorher auch schon alle Objekte selektiert (inklusive der Unterobjekte ) und per Achsenmodus die Achse verschoben, sobald ich aber ein Objekt aus einer dieser Objektgruppen markiere, ist der Koordinatenpunkt wieder wo dort wo er am Anfang war - das ist das Problem.

    LG
    Woogy
     

  5. #5
    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!

    Verzeih, wenn ich die Situation unterschätze/mißverstehe, aber reicht es nicht, einfach alles einem Null-Objekt hierarchisch unterzuordnen und darin im Ursprung zu positionieren?
    ...ganz naiv

    Liebe Grüße,
    Mark.

    //edit: *g* verzeih, habe das "einzelne Objekt" der Objektgruppe mißachtet
    //edit2: eine Möglichkeit per Coffee-Script:
    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
    
    main(doc,op)
    {
      //Coffee-Expression auf Null-Object.
      var obj = op->GetDown();
      //Unterobjekt-Achsen werden auf 0,0,0 gesetzt.
      while(obj) {
        //funktioniert nur mit Punkt-Objekten
        if (!instanceof(obj,PointObject)) return FALSE;
        //Punkte-Anzahl
        var i,cnt = obj->GetPointCount(); if (!cnt) return TRUE;
        //Alle Punkte in Array holen
        var arr = obj->GetPoints(); if (!arr) return FALSE;
        //Position der Objekt-Achse holen
        var p = obj->GetPosition();
        //Alle Punkte abarbeiten
        for (i=0; i<cnt; i++) {
          //Punkt entgegen der Achsen-Poition verschieben
          arr[i].x = arr[i].x - p.x;
          arr[i].y = arr[i].y - p.y;
          arr[i].z = arr[i].z - p.z;
        }
        //Verschoben Punkte dem Objekt zuweisen
        obj->SetPoints(arr);
        //Positions-Vektor (0/0/0)
        p.x = 0; p.y = 0; p.z = 0;
        //Objekt-Achse auf (0/0/0)
        obj->SetPosition(p);
        //Punktänderungen mitteilen
        obj->Message(MSG_UPDATE);
        //Nächstes Unterobjekt holen
        obj = obj->GetNext();
      }
    }
     
    ... 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

  6. #6
    Avatar von Woogy
    Woogy Woogy ist offline Mitglied Brokat
    Registriert seit
    Nov 2004
    Ort
    Kaiserslautern
    Beiträge
    303
    Hi Mark !

    ich dreh noch durch , jetzt auch noch Coffee-Script ...Es muss auch anderst gehen und wenn ich die ganze Nacht brauche.
    Ich habe nach dem Import alle Nullobejekte ( 210 Stück ) selektiert und den Befehl "Gruppe auflösen" gegeben. Jetzt sehe in der Objektliste alle Objekte und alle Nullojekte...gibt es keinen Befehl wie "löschen aller....Nullobjekte" oder "selektieren aller Nullobjekte" ?
    Dann wären die Nullis weg und ich könnte den Rest neu Gruppieren und selektieren und und und.

    LG
    Woogy
     

  7. #7
    Registriert seit
    Jan 2004
    Ort
    NRW
    Beiträge
    677
    Direkt fällt mir nun nix ein, um alle Null-Objekte zu löschen...
    ABER
    Markiere alle Objekte die in eine Gruppe soll (mit Shift-Taste)
    Dann G (Alt + G bei R9) drücken und schon hast du alle in einer Gruppe inklusive der Mitte für das Null-Objekt.
    So gehst du bei allen Objekten vor, die du in eine Bestimmte Gruppe integrieren willst.
    Am Schluss dann einfach alle Nullobjkekte markieren und löschen, die dann weg sollen....
    Is zwar auch ne heiden Arbeit... aber ich denk mal ein wenig... Simpler, als das scripten (wovon in auch null ahnung hab... noch)
    Achja.. das Markieren der Nullobjekte im Manager weisst du hoffentlich wie das geht
    Simples "Windows-Explorer-Prinzip" vom markieren von Daten

    //edit
    Was ich noch vergas...
    Du kannst auch Objekte markieren, die in anderen Gruppen enthalten sind und die dann in eine andere Gruppe "reinschieben"
    Das Objekt bleibt mit allen Werten erhalten... es ändert sich dann eben nur der Strukturbaum deiner Objekt-Gruppierungen
     
    3D Finals auf einem Blick

    Projektil-Tutorial

    Cinema 4D R9 Studio, Cubasis VST 5, Adobe Premiere Pro, Flash MX 2004


    Es wird langsam Zeit den 48 Stunden Tag einzuführen!

Ähnliche Themen

  1. 2 SelectBox -> Felder hin und her schieben
    Von DiDiJo im Forum Javascript & Ajax
    Antworten: 0
    Letzter Beitrag: 24.11.10, 17:23
  2. Standardwert in DB schieben
    Von Blabliblubs im Forum PHP
    Antworten: 4
    Letzter Beitrag: 19.04.10, 18:12
  3. Zeitleiste hin und her schieben
    Von Pyromanic im Forum Flash Plattform
    Antworten: 1
    Letzter Beitrag: 19.08.07, 15:22
  4. Daten schieben (2 Server)
    Von Sebigf im Forum PHP
    Antworten: 5
    Letzter Beitrag: 07.03.06, 14:22
  5. Ebenen auf und ab schieben
    Von pauschpage im Forum Photoshop
    Antworten: 14
    Letzter Beitrag: 31.12.02, 16:22

Stichworte