Mal eine Frage, hat von euch schon mal jemand eine funktionierende analoge Uhr gebaut?
Wie funktioniert das da, dass da die korrekte Uhrzeit angezeigt wird?
Mal eine Frage, hat von euch schon mal jemand eine funktionierende analoge Uhr gebaut?
Wie funktioniert das da, dass da die korrekte Uhrzeit angezeigt wird?
Nimm doch mal die Dateien der vorhandenen analogen Uhren auseinander, so wie ich das sehe, steckt der Zeitfunktion in den Zeigern.
StS.
In den DevDocs steht das meiner Meinung nach ausreichend drinnen.
In den DevDocs habe ich leider nur in "4.04 Asset Authoring Guidelines" auf Seite 18 etwas zu digitalen Uhren gefunden, leider aber nicht wie es mit analogen Uhren funktioniert.
Habe ich da irgendwo was überlesen?
Sorry, für den Doppelpost, aber weiß echt keiner eine Lösung?
Man könnte es ja wie bei den digitalen Uhren machen, nur das man keine Texturen mit den Zahlen benutzt, sondern die Zeigerstellung. Ob das funktioniert weiß ich allerdings nicht^^
Ich vermute das der Trick in im Blueprint der Zeiger liegt, es gibt eine Animationsdatei für den großen und den kleinen Zeiger. Nimm doch mal eine der Hand-Dateien auseinander und was muss in den AnalogClockBlueprint eingetragen werden?
könnte sein das die Zeiger mit einer ia. Datei eingetragen werden, aber der Blueprint und RW die tatsächliche Stellung und Bewegung übernimmt.
D.h. ia Datei, aber im Modell ist keine Bewegung definiert.
StS
Mal kurz eine Schnellanleitung:
1. Man baut einen Stunden und einen Minutenzeiger. Benennt sie jeweil "1_0100_A_hourhnd" und "1_0100_A_min_hnd". Die Zeiger befinden sich der Grundstellung bei der Uhrzeit Punkt 12 Uhr
2. Erstellt eine Animation in der sich die Zeiger um deren Drehrichtung bewegen (eine volle Runde).
3. Exportiert die Animationen jeweils einzeln als "analogue_hourhnd.IA" und "analogue_minhnd.IA"
4. Man speichert das Objekt ab als z.B. Clock.igs
5. Man erstellt im Blueprinteditor ein neues Bluerprint das "AnalogClockBlueprint" heißt.
6. Name für die Clock eintragen, Objekt eingragen und unter Animation-Set den Stunden und Minutenzeiger eintragen.
Hierzu empfiehlt es sich mit RW-Tools auch vorhandene Blueprints von Analog Uhren anzugucken.
Hmm, klingt ja gar nicht so schwer, was ich mich da so anstelle frage ich mich.
Eine Frage habe ich jetzt aber trotzdem noch.
Und zwar bei 4. Objekt exportieren. Was ist da jetzt genau gemeint: nur das Ziffernblatt, Ziffernblatt mit Zeigern in Grundstellung oder nur die Zeiger in Grundstellung?
Ich würde mal auf die goldene Mitte tippen....
Komischerweise sind die vorhandenen Uhren alle zwei geteilt. Uhr mit Zifferblatt, zeigerlos, eigenes Objekt.
Dann gibt es als eigenes Objekt die Zeiger. Man muss erst die Uhr setzen, dann die Zeiger hinfummeln.
Aber versuch es mal Zifferblatt, oder gesamte Uhr als statisches Objekt als igs.
jeder Zeiger mit Animation einzeln als ia.
Ich glaube Du kannst das Zifferblatt gar nicht in den Analogblueprint eintragen.
Wäre ja schön, wenn man die Uhr mit funktionierenden Zeigern als ein Objekt setzen könnte.
StS
Wenn ich wieder mal in der Bastelecke bin, kann ich ja mal versuchen etwas auf die Beine zu stellen - vielen Dank für die Hilfe schonmal.
Zu 4: Das Objekt besteht nur aus den Zeigern, da die Zeiger-Pivots sich auf den Koordinaten 0,0,0 befinden müssen. Das die Zeiger bei den mitgelieferten Uhren des RW manuell platziert werden müssen ist blöd, den es gibt einen einfacheren Weg. Man bindet die Zeiger als Childobjekt in ein anderes Objerkt (z.B. eine Uhr ohne Zeiger ein). Das funktioniert, habe ich selber schon ausprobiert.
Im Bildanhang ein Foto des Bahnhofs Dornbirn. Wenn man den platziert wird automatisch die Zeiger mit platziert an der richtigen Stelle des Bahnhofs. Die Zeiger sind deswegen seperat, den so kann ich bei jedem Bahnhof den ich will ein die Zeiger platzieren, auch wenn das Ziffernblatt anders aussieht.
Wenn du die Uhr als ein komplettes Objekt bauen willst, musst du zum einen alle Komponeten in eine IGS-Datei exportieren. Also Ziffernblatt, Zeiger, Gehäuse und was sonst noch so dran hängt, wie evtl. Halterungen und dgl. Zusätzlich musst du dann wie oben schon beschrieben jede einzelne Komponente, die animiert sein sollt extra noch mal als IA-Datei exportieren und dann eben im BP als Animation einfügen.
Wenn die Zeiger allein als separates Objekt verwendet werden sollen, muss davon eine IGS-, sowie wiederum von jedem Zeiger einzeln eine IA-Datei erstellt werden.
Habe eben mal etwas gebastelt und habe es so gemacht wie ihr beschrieben habt:
Habe die Zeiger an die Uhr gelinkt, Uhr mit Zeigern auf 12 Uhr als *.igs exportiert, jeden einzelnen Zeiger in Stellung 12 Uhr als *.ia exportiert.
Im BPE habe ich das "Analog clock blueprint" genommen, Namen gegeben, Beschriebung eingetragen etc.
Ganz unten bei "Anim set..." habe ich 3 Einträge gemacht:
Animation ID: Scenery\Clutter\Standuhr\Secondhand.ia
Animation name: Scenery\Clutter\Standuhr\Secondhand.ia
Animate in editor: False
Probability: 0
Animation ID: Scenery\Clutter\Standuhr\Minutehand.ia
Animation name: Scenery\Clutter\Standuhr\Minutehand.ia
Animate in editor: False
Probability: 0
Animation ID: Scenery\Clutter\Standuhr\Hourhand.ia
Animation name: Scenery\Clutter\Standuhr\Hourhand.ia
Animate in editor: False
Probability: 0
Nun gespeichert und auf "Preview" - Resultat: Ich sehe meine Uhr mit allen drei Zeigern an der richtigen Stelle, alle bewegen sich auch. Allerdings bewegt sich nur der Sekundenzeiger richtig. In 58 Sekunden eine Runde rum und 2 Sekunden oben stehen bleiben.
Der Minutenzeiger brauch für die Änderung von einer auf die andere Minute nur 5 Sekunden.
Der Stundenzeiger macht in 60 Sekunden eine ganze Runde.
Was ist da schief gelaufen.
P.S.:
Die Animation in Max ist so angelegt, dass in 43200 Frames jeder Zeiger mindestens eine Runde geschafft hat. (60 Sekunden x 60 Minuten x 12 Stunden = 43200 Sekunden)
Wenn ich in Max die Animation in Realzeit abspielen lasse klappt auch alles wunderbar.
Hast du es im Spiel selbst auch probiert? Ich könnte mir vorstellen, dass nur dort die Geschwindigkeiten richtig ablaufen.
Negativ, da läuft es auch falsch. Ich kann auch einstellen welche Zeit ich will, alle Zeiger starten immer bei 12 Uhr und dann läuft die Animation. Hatte die Zeit mal auf 15:43 Uhr gestellt, aber er startet bei 12 Uhr.
Hmmm, eine Uhr hab ich noch keine gebaut, möglicherweise muss da entweder noch im BP irgendwas eingestellt oder verlinkt werden, oder in der XML irgend was eingetragen werden. Das müsste Andi eigentlich beantworten können, nachdem er ja schon eine Uhr gebaut hat.
Du brauchst keine 43000Frames. Es reichen z.B. 60!
Der RW steuert die Geschwindigkeit der Animation. RW steuert automatisch sodass der Stundenzeiger in einer Stunde die Animation einmal durchläuft, der Minuntenzeiger in einer Minute.!
Jeder einzelne Zeiger hat 60 Frames und fährt einmal im Kreis.
Ah, ok, probiere ich morgen früh gleich mal aus....
irgendsowas ahnte ich irgendwie schon, dass man wieder mal nicht selber Handhabe über die Animation hat....
Schade eigentlich, ich fand es so schön, dass der Sekundenzeiger oben kurz stehen bleibt....
Aber danke für heute, bisher habt ihr mich echt viel weiter gebracht!
Hurra, es funktioniert. Wie ich gemerkt habe muss man auch die Reihenfolge der Animationen beachten, wie man sie im Blueprint einträgt....langsamster Zeiger zu erst.
Viele Dank Jungs!
P.S.: Kann dann im Grunde geschlossen werden.