Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Fr Apr 19, 2024 09:24

Foren-Übersicht » Programmierung » OpenGL
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 4 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Keyframe Animation Konzeptfrage
BeitragVerfasst: Mo Nov 24, 2014 15:35 
Offline
DGL Member

Registriert: Do Apr 22, 2010 17:17
Beiträge: 543
Moin,

meine neue Engine soll es ermöglichen, sämtliche Objekte und dessen Eigenschaften über eine globale Keyframe timeline zu animieren. Ich rede hierbei nicht von Skinned Meshes sondern von den Eigenschaften der Objekte selbst wie z.b. Position und Rotation. Nun frage ich mich wie man sowas am besten aufbaut. Für jede Property die über Keyframes animiert werden könnte brauch ich ja immer zwei Werte (Aktuell und Original).. Ich würde jetzt für jeden Werte Typ eine eigene Klasse z.b. KeyFrameAbleVector erstellen, welche diese beiden werte beinhaltet und später in jedem Keyframe einen clone speichern..

Gibts vielleicht einen besseren Ansatz oder irgendein Patentrezept?

Grüße
Thomas


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Keyframe Animation Konzeptfrage
BeitragVerfasst: Mo Nov 24, 2014 16:22 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Apr 13, 2011 22:05
Beiträge: 218
Programmiersprache: Lazarus/FPC
Ich habe es so gelöst: Eine Klasse Animationen erstellen. Jedes Animationsobjekt enthält ein array mit den keyframezeiten drin. Dann noch ein zweites array mit gleicher Länge dass die Positions und Rotationskoordinaten für den Keyframe enthält. Und du brauchst nur einen Wert: Aktuell! Die Ausgangs (Original)position sollte immer der erste Keyframe sein. 8)
Fals du genaueres brauchst ich erklärs gern exakter.

_________________
Ich teile manchmal heimlich durch Null. - Alber Einstein


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Keyframe Animation Konzeptfrage
BeitragVerfasst: Mo Nov 24, 2014 16:48 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Nov 08, 2010 18:41
Beiträge: 769
Programmiersprache: Gestern
Ich würde noch gar nicht so tief gehen an deiner Stelle. Du wirst den Prozess an mehren Stellen gebrauchen. Von daher solltest du hier so abstrakt wie möglich beginnen. Im Prinzip brauchst etwas ähnliches wie einen Iterator... nur halt für Uhrzeiten. Also zum Beispiel folgendes:
Code:
  1.  
  2. interface ITimeable<T> {
  3.     ITimer<T> GetTimer();
  4. }
  5.  
  6. interface ITimer<T> {
  7.     T GetCurrent();
  8.     void Tick(Time t);
  9. }
  10.  


Wenn du also zum Beispiel ein Model nimmst dann erhälst:

Code:
  1.  
  2. class Model : ITimeable<Vertices>, ITimeable<Matrix>  {
  3. }
  4.  


Naja ich denke das Prinzip sollte klar sein.

_________________
Meine Homepage


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Keyframe Animation Konzeptfrage
BeitragVerfasst: Mo Nov 24, 2014 18:27 
Offline
DGL Member

Registriert: Do Apr 22, 2010 17:17
Beiträge: 543
Nun so einfach ist es dann leider doch nicht ;) Ich vergaß zu sagen, dass es nicht nur sachen wie Position oder Rotationen über Keyframes geändert werden sollten sondern einfach JEDE Eigenschaft eines Objektes. Das kann z.b. auch eine Visible eigenschaft oder der FOV eines Camera-Objektes sein. Alle "default" Werte in Key0 zu speichern macht auch keinen sinn, da man in meinem fall mehrere verschiedene Animationen für die gleiche Welt laden kann.


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 4 Beiträge ] 
Foren-Übersicht » Programmierung » OpenGL


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 56 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
cron
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.142s | 16 Queries | GZIP : On ]