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

Aktuelle Zeit: Fr Jul 18, 2025 08:44

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



Ein neues Thema erstellen Auf das Thema antworten  [ 11 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Inverse Kinematik
BeitragVerfasst: Mo Dez 15, 2003 23:44 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Dez 13, 2002 12:18
Beiträge: 1063
Soeben ist es mir gelungen, einen Satz tatsächlich brauchbarer und halbwegs einfacher (sprich überschaubarer) Routinen für Inverse Kinematik zu erstellen.
Da bin ich jetzt direkt ein wenig stolz darauf, weil es doch einige Schwierigkeiten zu lösen gab, um das Ganze mathematisch stabil zu halten.

Beigefügt ist ein kleines Demo zur Thematik, Delphisource ist dabei - wenn sich zumindest ein paar Leute dafür interessieren, könnte ich ein Tutorial dazu schreiben, muss allerdings vorwarnen, dass das Thema nicht ganz trivial ist, und zumindest das Prinzip von normalen, hierarchischen Animationen (wie etwa bei Milkshape Modellen) wirklich "verstanden" sein sollte.

hier ein nicht besonders eindrucksvoller Screenshot (in Aktion schauts aber ganz lustig aus):
Bild

und hier ier gehts zum Download
http://www.basegraph.com/bg/demos/IKDemo.zip

_________________
Viel Spaß beim Programmieren,
Mars
http://www.basegraph.com/


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Dez 16, 2003 12:25 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Habs mir grade mal angesehen und für jemanden der ned weiß was wirklich hinter inverser Kinematik steht, sieht die Demo wohl nicht interessant aus.
Wer sich aber mal mit der Thematik beschäftigt hat, wird sicherlich wissen das die Implementation der IK wirklich nicht einfach ist, allerdings kann man damit so richtig tolle Sachen machen (siehe IK im 3DStudio). Wäre toll wenn da da jetzt noch auf Basis dieser Demo ein komplettes menschliches Skelett basteln würdest.

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Dez 16, 2003 16:38 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Dez 28, 2002 11:13
Beiträge: 2244
Ich habe bislang auch nur normale Hierachie verwendet. Sieht aber recht interessant aus, wenn die "Schlange" dem Licht folgen will. Ich habe mal irgendwo gelesen, daß sich die Animation durch schrittweises Drehen der Gelenke, je nach dem auf welcher Seite das Ziel liegt, möglich ist. Vermutlich kommt dadurch auf das leichter Zittern wenn die Box nah am Licht ist.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Dez 16, 2003 18:33 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Dez 13, 2002 12:18
Beiträge: 1063
Das Zittern kommt dadurch zustande, dass der Tentakel* versucht, das Objekt punktgenau zu erreichen. Manchmal klappt dies, manchmal nicht - vermieden werden könnte es, wenn ich nur "in die Nähe" der Lichtquelle gehen würde, was man normalerweise ja auch machen würde.

* sämtliche Elemente haben 360 Grad Wirkungsradius und werden genau gleich gewichtet: Steuerung für "realistische" Gelenke mit unterschiedlicher "Steifheit" und begrenztem Wirkungsradius ist aber schon in BaseGraph eingebaut, das Setzen der entsprechenden Werte in Carad aber noch nicht.

@SoS: sobald ich die volle Unterstützung für IK in Carad eingebaut habe, werde ich mich an etwas Eindrucksvollerem versuchen. Vielleicht sendest du mir das Modell aus deinem 3DS Tutorial per Mail, dann schau ich, ob ich dem kleinen Mann das Laufen und Zugreifen beibringen kann :wink: .
Folgendes müsste recht nett aussehen: Man drapiert (evtl. per Zufall) eine Kugel im Raum, das Männchen läuft in die Nähe (Laufanimation wird vorgegeben) und hebt diese auf: Bücken/Recken und Zugreifen (Fixpunkt ist das Becken) lassen sich per IK lösen, sobald der Akteur nah genug und richtig gedreht ist.

_________________
Viel Spaß beim Programmieren,
Mars
http://www.basegraph.com/


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Dez 16, 2003 18:48 
Offline
DGL Member

Registriert: Mo Jan 20, 2003 20:10
Beiträge: 424
Wohnort: nähe Starnberg
Wenn ich das richtig verstehe, könnte mann mit dieser Technik die Animationssequenzen der Modelle nachbauen, sofern es keine zu komplexen Bewegungsabläufe sind, oder?

Gruß
KidPaddle

_________________
http://www.seban.de


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Dez 16, 2003 18:53 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Dez 13, 2002 12:18
Beiträge: 1063
Das ist der Sinn der Sache, ja.
Um z.B. einen Laufanimation zu erstellen, genügt es den Fuß dorthin zu bewegen, wo er sein soll, Unterschenkel und Oberschenkel ziehen dann automatisch nach.
Damit spart man sich viel Arbeit, da ansonsten der Status jedes Gliedes einer hierarchischen Animation einzeln gesetzt werden müsste - und so etwas wie ein "zugreifender" Tentakel, ist mit normalen Animationen gar nicht möglich, da man kaum sämtlich Eventualitäten des Zugreifens im Vorhinein abdecken kann.

Der größere Vorteil ist IMHO allerdings, dass man "normale" Animationssequenzen recht zeitsparend definieren kann - wirklich dynamisch berechnete IK ist dann für Spezialanwendungen praktisch, für normale Akteure ist es angenehmer einmal eine Animationssequenz anzugeben, die dann bis auf Widerruf zyklisch wiederholt wird.

_________________
Viel Spaß beim Programmieren,
Mars
http://www.basegraph.com/


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Dez 16, 2003 20:14 
Offline
DGL Member
Benutzeravatar

Registriert: Di Jul 01, 2003 18:59
Beiträge: 887
Wohnort: (The Netherlands)
Programmiersprache: fpc/delphi/java/c#
Interesting! I have a look at it. Somtimes i think i understand things like bone animations and sometimes not. A tutorial would be nice.
If i veel up to it, I try to combine it with a milkshape file. But i am a bit short of time this week.

_________________
http://3das.noeska.com - create adventure games without programming


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Dez 16, 2003 22:29 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Dez 13, 2002 12:18
Beiträge: 1063
MilkShape Modelle sind für IK gut geeignet, da die einzelnen Schnittpunkte bereits einer Bonestruktur zugeordnet werden können, auf die man recht gut IK anwenden kann.

Ich bin mir jetzt aber nicht ganz sicher, was du meinst: ein Tutorial zu Bone Animationen, oder ein Tutorial zu IK?
Wenn es auf DGL noch kein Tutorial zu Bone Animationen gibt, wäre dies natürlich zuerst notwendig, da inverse Kinematik ebenfalls auf hierarchisch verknüpften Objektstrukturen aufsetzt.

_________________
Viel Spaß beim Programmieren,
Mars
http://www.basegraph.com/


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Jan 09, 2004 14:32 
Offline
Forenkatze
Benutzeravatar

Registriert: Mi Okt 22, 2003 18:30
Beiträge: 1945
Wohnort: Närnberch
Programmiersprache: Scala, Java, C*
War bestimmt nicht gerade einfach, die ganze Objekte mit IK auszustatten. Für Animationen liese sich das wircklich gut einsetzen...
Dann kann man richtig schöne dynamische Animationen basteln ohne durch statische Vorgaben beschränkt zu werden... Sehr interessant...
Tutorial wäre nicht schlecht.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Jan 09, 2004 15:44 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Dez 13, 2002 12:18
Beiträge: 1063
Hmm, mal schauen (bin zur Zeit grad an was anderem am werkeln). Das Problem ist, dass ich für ein Tutorial zu IK bereits ziemlich viel voraussetzen müsste (aber wahrscheinlich nicht sollte).
* Organisation von hierarchischen Objekten,
* Repräsentation von Objektorientierung über Quaternionen (um zwischen zwei Orientierungen interpolieren zu können)
* "Normale" Animation über Verbindungsstücke (Joints)

Auf BaseGraph möchte ich bei einem Artikel über ein allgemeines Thema nicht unbedingt aufsetzen, da ich mich auch nicht besonders drüber freue, wenn in einem Text zu einem interessanten Thema ohne Vorwarnung plötzlich irgendwelche proprietären Bibliotheken auftauchen.

Das Ganze würde also recht umfangreich machen, wenn das alles von Grund auf erklärt wird - wenn mir mal langweilig werden sollte, setze ich mich dran :wink: .
Solltest du aber bis dahin konkrete Fragen haben, helfe ich dir gerne weiter.

_________________
Viel Spaß beim Programmieren,
Mars
http://www.basegraph.com/


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Jan 09, 2004 16:16 
Offline
Forenkatze
Benutzeravatar

Registriert: Mi Okt 22, 2003 18:30
Beiträge: 1945
Wohnort: Närnberch
Programmiersprache: Scala, Java, C*
Das einzige, was mir persönlich von den 3 genannten Punkten unbekannt ist, ist Repräsentation von Objektorientierung über Quaternionen (um zwischen zwei Orientierungen interpolieren zu können) (Gut, dass es Copy&Paste gibt *g*). Ich denke, dass Benutzer von gmax, milkshape und 3ds max oder auch maya usw. schon was mit IK anfangen können, da jedenfalls in 3ds max IK recht gut erklärt ist (Sind mehrere zig Seiten in der Hilfe) und auch relativ einfach zu erzeugen ist.


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


Wer ist online?

Mitglieder in diesem Forum: Bing [Bot], Google [Bot] und 18 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.009s | 16 Queries | GZIP : On ]