Counter

derstudent

Grünschnabel
Hallo erstmal!

Ich würde gerne einen Counter bauen der mir die Vergangene Zeit seit Begin der Animation anzeigt.
Irgendwie bekomme ich das mit Xpresso nicht hin - Mathe ist so lang her :rolleyes:.

es soll drei Textfelder geben:
einen für Frame (0-25),
einen für verstrichene Sekunden (0-59)
und einen für Minuten (0-59).

Also eigentlich so, wie man das aus einem Videoschnittprogramm kennt.

z.B.: min [03] sek [34] frames [13]


Ich weiß, dass es eigentlich ziemlich einfach sein sollte.... aber ich raff's beim besten Willen nicht.... gnarf.
 
Yep, hab' ich...

Ich habe versucht, das System dahinter zu verstehen.... aber ich versteh z.B. nicht, wo er die Startzeit hernimmt.
Ich muss dazu sagen, dass ich das Grundsystem von XPresso verstehe (habe auch schon ein paar Mal damit gearbeitet), aber aussteige sobald Zeit ins Spiel kommt.
 
Zuletzt bearbeitet:
Hi!

Najo, die Zeit liefert das "Zeit-Node" ;)
Im Beispiel ging es ja um einen Counter, d.h. in Deinem Fall reicht als "cnt" die aktuelle Zeit: Zeit-Node Ausgang Zeit. Diese Zeit ist in Sekunden, d.h.
a) Formel: Zeit/60 -> Funktion: Floor liefert Dir die ganzen Minuten
b) Formel: Zeit mod 60 -> Funktion: Floor liefert Dir die Sekunden und
c) Formel: ((Zeit mod 60) mod 1) * 1000 liefert die Millisekunden.
(alles laut Screenshot in verlinktem Beitrag).

Die Millisekunden brauchst Du nicht, stattdessen sollen die "Frames" her:
d) Formel: ((Zeit mod 60) mod 1)*25
...dementsprechend ändert sich der "Ausgangsstring".

Liebe Grüße,
Mark.
 
Super! Ja mit dem Modulo muss ich mich mal ausseinander setzen....

aber wie bekomme ich jetzt eine "führende" Null? - ich Null...

[EDIT] Jubel... hab's hinbekommen! Danke für die Hilfe!
 
Zuletzt bearbeitet:
Hi!

Uff, so langsam zweifel ich aber an C4D. Wollte Dir "schnell" eine Schaltung bauen, da stoße ich auf zwei Geschehnisse:
a) wird der unten folgenden "Ausgangs-Timecode" direkt im Coffee-Script angegeben, so "merkt" sich C4D diesen String. Sogar var tc = ""; änderte daran nix :eek:.
b) "(1.04 mod 1)*25" liefert 1, logisch. Dies aber als "integer" interpretiert ergibt 0! :eek: Deshalb gab's zweimal "00:01:00" und dann "00:01:02" :eek: (deshalb das "+0.1" in dieser Formel).

@führende Null: läßt sich über das Überschreiben von "00:00:00" lösen...

Coffee-Script:
Code:
main()
{
 tc = strins(tc, tostring(min), 2-sizeof(tostring(min)));
 tc = strins(tc, tostring(sec), 5-sizeof(tostring(sec)));
 tc = strins(tc, tostring(frm), 8-sizeof(tostring(frm)));
 timecode = tc;
}

Liebe Grüße,
Mark.

//edit: *g* ...da war ich echt zu lahm heut' ;)
//edit2: ...und dann noch'n falscher Screenshot...ich sollte in die Heia :rolleyes: ...ist nun aber korrigiert ;)
 

Anhänge

  • timecode.gif
    timecode.gif
    7,7 KB · Aufrufe: 24
Hier jetzt also meine Endfassung der Schaltung.
Man könnte die jeweiligen Ergebnisse (Min.Sek.Frame) naturlich direkt an ein Textfeld geben, aber dann gibt's "springende" Ziffern.

Deswegen habe ich jede Ziffer einzeln gestellt und das zweistellige Ergebnis dann einfach auf der entsprechenden Seite abgeschnitten.
 

Anhänge

  • counter_schaltung.gif
    counter_schaltung.gif
    47,2 KB · Aufrufe: 21
Zuletzt bearbeitet:
Zurück