tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
14
ZUGRIFFE
693
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von meta_grafix
    meta_grafix meta_grafix ist offline Mitglied Platin
    Registriert seit
    Jul 2004
    Beiträge
    539
    Hallo,

    ich lasse einen Teil eines Rotors per COFFE-Script,
    Code :
    1
    
    rotor_rot.x = frame*0.5
    , rotieren. Soweit alles gut. Aber wie bekomme ich den Neigungswinkel heraus, so dass das Teil nicht mehr eiert!.

    Mit der Bitte um Hilfe.

    Gruß
     

  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!

    Wenn sich die Neigung hierarchisch ergibt, der Rotor also mit "gerader" Achse in einem "gekippten" Null-Objekt befindet, kannst Du den Rotor mit folgendem Weg "lokal" rotieren lassen:
    Code :
    1
    2
    3
    4
    5
    6
    7
    
    main(doc,op)
    {
        var frame = doc->GetTime()->GetFrame(doc->GetFps());
        var Ml = op->GetMl();
        Ml->SetRotY(frame*0.5);
        op->SetMl(Mrotor);
    }
    ...hoffe, ich habe Dich nicht völlig mißverstanden

    Liebe Grüße,
    Mark.
     
    ... 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 meta_grafix
    meta_grafix meta_grafix ist offline Mitglied Platin
    Registriert seit
    Jul 2004
    Beiträge
    539
    Hi Mark,

    so ganz verstehe ich Dein Beispiel nicht. Das Skript ( aus diesem Forum ) sieht so aus:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    
    main(doc,op)
    {
    // aktuelle Zeit
    var t     = doc->GetTime();
    // aktuelles Frame
    var frame = t->GetFrame(doc->GetFps());
    // aktuellen Rotations-Vektor holen
    var rotor_rot = op->GetRotation();
    // x-Rotation in Abhängigkeit des aktuellen Frames setzen
    rotor_rot.x = frame*0.5;
    // Rotation dem Objekt mit Coffee-Tag zuweisen
    op->SetRotation(rotor_rot);
    }

    Meine Struktur im Projekt ist diese.

    Dank und Gruß
    Geändert von meta_grafix (04.05.07 um 22:01 Uhr) Grund: Schneller gedacht als geschrieben
     

  4. #4
    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, ich dachte, es geht Dir um "lokale Daten", dabei tut das obiges Script das ja eh ... hätte ich wissen sollen, ist's doch von mir

    Leider verstehe ich Deine Hierarchie nicht ganz. So verstehe ich nicht, warum Du nicht nur das Null-Objekt "Groß" rotierst bzw. diesem das Coffee-Script zuweist. Und ich erkenne nicht, wie die "Drehachse" zu den Rotorblättern steht.
    Aus dem Video meine ich zu erkennen, daß einfach die Achse der Rotorblätter bzgl. dem darüber liegendem Null-Objekt "gekippt" ist; dadurch entsteht das trudeln, da zwar die X-Rotation verändert wird, die beiden anderen Winkel lokal gesehen aber gleich bleiben.
    Abhilfe schafft da ein weiteres, übergeordnetes Null-Objekt: die darin befindlichen Rotorblätter müssen die Winkel 0/0/0 (bzw. P und B, H wird ja von Coffee gesetzt) besitzen. Soll sich nun der gesamte Rotorkopf kippen, kann das übergeordnete Null-Objekt rotiert werden...

    Ich hoffe nicht wieder voll am Thema vorbei

    Liebe Grüße,
    Mark.
     
    ... 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

  5. #5
    Avatar von meta_grafix
    meta_grafix meta_grafix ist offline Mitglied Platin
    Registriert seit
    Jul 2004
    Beiträge
    539
    Küsschen an Mark, auch wenn er eine Maus ist.
    Manchmal sieht man den Wald vor ...

    Gruß
     

  6. #6
    Avatar von meta_grafix
    meta_grafix meta_grafix ist offline Mitglied Platin
    Registriert seit
    Jul 2004
    Beiträge
    539
    Moin,

    habe mich zu früh gefreut. Hatte wohl nicht richtig hingeschaut und war zu müde.
    Das Problem des Ruderns habe ich bei dem kleinen Rotor nicht, aber immer noch bei dem Hauptrotor um die Y-Achse. Das Verschieben der Objektachse bringt hier nichts. ich muss, glaube ich, die Achse des Objektes perse über C.O.F.F.E.E erfragen, oder? . Und wenn ja, wie? Aber das Objekt wird ja eigentlich in 'op' übergeben?

    Hier nochmal der Hauptrotor mit Ausuferungen, der kleine Rotor (OK) und ein Screenshot.

    Dank und Gruß
     

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

    ...im Screenshot sieht man doch recht deutlich, daß die Y-Achse von "Rotor Groß" nicht entlang der Rotationsachse liegt?!
    -> Y-Achse muß der Dreh-Achse des Rotors entsprechen...

    Liebe Grüße,
    Mark.
     
    ... 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

  8. #8
    Avatar von meta_grafix
    meta_grafix meta_grafix ist offline Mitglied Platin
    Registriert seit
    Jul 2004
    Beiträge
    539
    Hallo,

    selbst wenn ich die Achse Anpasse läuft es aus dem Ruder. Danke für die Mühe.

    Gruß
     

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

    ...das dürfte wegen dem Winkel.P von -4° sein ... wie geschrieben, die Winkel müssen alle auf 0° sein, da ja nur H von Coffee gedreht wird...

    Liebe Grüße,
    Mark.
     
    ... 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

  10. #10
    Avatar von meta_grafix
    meta_grafix meta_grafix ist offline Mitglied Platin
    Registriert seit
    Jul 2004
    Beiträge
    539
    Mark,

    das ist wahrscheinlich alles richtig. Aber ich Habe jetzt alle Winkel.P auf 0°. Es bringt aber leider keine Linderung. Musst Du sonst noch irgendetwas sehen?

    Gruß

    PS: -4° enstand durch das Anpassen des Neigungswinkels.
     

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

    Hm, mehr fällt mir nicht ein...
    Magst Du einen Teil der Szene (die Hierarchie und der Zylinder des Rotors / die Welle sollten reichen) mal uploaden?

    Liebe Grüße,
    Mark.
     
    ... 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

  12. #12
    Avatar von meta_grafix
    meta_grafix meta_grafix ist offline Mitglied Platin
    Registriert seit
    Jul 2004
    Beiträge
    539
    Hi,

    alle wichtigen Beteiligten mit Szenenkoordinaten:

    Achse
    Blätter
    Mitte
    Rotorspitze

    Hier alle mit Objektachse:

    Achse
    Blätter
    Mitte
    Rotorspitze

    Gruß
     

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

    Interessant ist ja eher die Hierarchie nach oben ... dort sitzt ja das Coffee-Script

    Im Grunde kannst Du das Coffee-Script ja ersteinmal vergessen/deaktivieren. Du mußt die Hierarchie so bauen, daß Du "Rotor Groß" selektieren und manuell um sein Y-Achse drehen kannst, ohne daß dieser eiert... d.h. alle Rotor-Unterteile müssen sich an dieser Y-Achse orientieren.
    Danach einfach ein Null-Objekt mit exakt den gleichen Winkeln von Rotor-Groß erstellen und "Rotor Groß" dahinein verschieben ... seine Winkel müssen nun 0/0/0 sein.
    Zum Drehen (Coffee-Script) nun den Winkel.H von Rotor Groß verändern. Um den gesamten Rotor zu neigen, das Null-Objekt drehen...

    Liebe Grüße,
    Mark.
     
    ... 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

  14. #14
    Avatar von meta_grafix
    meta_grafix meta_grafix ist offline Mitglied Platin
    Registriert seit
    Jul 2004
    Beiträge
    539
    OK,

    Meister Mark Maus. Ich versuche es morgen nachzuvollziehen, wenn ich dies nicht auch schon versucht habe. Habe sogar mit Joints und entsprechenden Wichtungen das Teil vernünftig zum Rotieren zu bringen versucht.

    Dank über Dank. Werde mich mich melden.

    Gruß

    PS:Vielleicht ist es einfacher, wenn ich den Flugschrauberschein mache, mir einen Apache leihe und das Gebäude selbst beschiesse und gleichzeitig mit 35mm Adapter den ganzen Quatsch mit der CAM zwischen den Augen selber filme...
     

  15. #15
    Avatar von meta_grafix
    meta_grafix meta_grafix ist offline Mitglied Platin
    Registriert seit
    Jul 2004
    Beiträge
    539
    Hallo,

    ich hab's geschafft. Hier die Objektanordnung. Ein herzliches Dankeschön geht nochmal an die Maus mit der unendlichen Gedult: Mark.

    Gruß
    Geändert von meta_grafix (08.05.07 um 15:37 Uhr) Grund: Rechtschreibung
     

Ähnliche Themen

  1. Vektorgrafiken aus C4D holen
    Von peter333 im Forum Cinema 4D
    Antworten: 0
    Letzter Beitrag: 01.09.09, 01:06
  2. Antworten: 0
    Letzter Beitrag: 27.08.08, 23:12
  3. Wert holen
    Von lernen.2007 im Forum Javascript & Ajax
    Antworten: 3
    Letzter Beitrag: 24.05.07, 12:58
  4. Headerinformationen holen
    Von gerd87 im Forum PHP
    Antworten: 1
    Letzter Beitrag: 26.04.06, 19:07
  5. Zufällig aus DB holen
    Von funnyzocker im Forum PHP
    Antworten: 2
    Letzter Beitrag: 06.02.04, 14:50