Motion Capturing

Hey Ihr Racker :-)

Nun sitz ich an etwas Ähnlichem !

Vorgeschichte:
Habe viele Tracks, wo es lohnt, ein Video zu machen. Sind auch mit Voices.
Also bräuchte ich ein Facial Motion Capturing Programm, das mir die genannte
Facial Motion - die durch Marker gesetzt sind - in zB DummyPoints für
- in meinem Fall - 3dsmax umsetzt.

Ich habe bis Dato keine Software gefunden, die Donation/Share/Freeware ist,
die sowas kann. Abgesehen davon kenne ich auch keine Bezahlsoftware, die
mir sowas bietet.

Das Besondere: Für Facial Motion Capturing bräuchte man noch nicht mal irgend
eine Pseudo3D Aufnahme ( zB 2 Kameras ), da man die Punkte eigentlich nur in
2D braucht.

Meine Frage:
1. Kennt jemand solch eine Software ? Wenn, dann bitte mal nennen..

--> Status Quo <--
Ich bin gerade dabei, so eine Software zu programmieren. Ich bin deshalb so
interessiert daran, ob
1. so eine Software schon existiert und
2. Interesse für so eine Software besteht.
3. Wenn es so eine/diese Software noch nicht existiert, ob jemand geil drauf ist,
mir behilflich zu sein. VB.Net/C# Kentnisse sind von Nöten. Dieses Programm
wird nicht verkauft, das Höchstmaß der Gefühle ist Donationware.

mfg chmee
 
Hi chmee :-)
Also evt. koennte WinMorph das Gesuchte sein.Zumindest im Ansatz.
Es ist in Wax 20e zip enthalten und downloaden kann man das hier

http://www.debugmode.com/wax

oder bei "WinTotal"

sehr genaues arbeiten ist wohl damit nicht leicht moeglich oder aufwerndig,arbeitet auch eher mit Umrissen,aehnlich wie Flash.Das heisst,es ist ein tweener,aber man kann auf jeden Fall Gesichtsausdruecke damit "morphen".
wax bietet ausserdem vielleicht noch ein paar intressante VideoEffekte.

Wuerd ja gern mal sehen,was Du so machst ;)
Gruesschen vom alten Schweden
 
2D Morph Tools kenne ich, hat aber nichts mit meinem Vorhaben zu tun, lieber
Cecile. Morphing ist ein reines 2D-Tweening von zuvor gesetzten Punkten.

Mir geht es um sowas :

http://www.metamotion.com/mocap/boxes.gif

Sprich, 2D Punkte auf einem Gesicht werden in ein Format umgewandelt, welches
man dann in der 3D Software weiterbenutzen kann. Dabei kann man dann - in
meinem Projekt - selbst wählen, wieviel dieser Markerpunkte benutzt werden.
zB Könnte es reichen für die Mundbewegung 5 oder 8 Punkte zu capturen.

Im ersten Schritt definiert man die Markerpunkte in der Videodatei, als Zweites
gibt man dem Algorithmus einige Daten um die Punkte erfolgreich zu verfolgen.
Wenn die Daten sauber in einer Liste liegen, muss man sie in ein für 3D-Programme
verdauliches Format konvertieren und dann Exportieren.

Ziel ist es dann, die Markerpunkte aus dem Video als Dummypoints in der 3D-
Software zu haben, welche man dann an 3d Gesichtsteile linked. Soweit die
Theorie.

Ich habe gerade ein anderes Projekt fertiggestellt, muss erstmal ein bissel Pause vom
Programmieren machen, aber möchte bis Jahresende eine funktionierende Beta auf
die Beine stellen.

mfg chmee
 

Anhänge

  • 27159attachment.jpg
    27159attachment.jpg
    7,5 KB · Aufrufe: 71
Programmieren kann ich leider nicht.
Die Frage,ob ich an sowas intressiert waere:
Also,ich sitz grad an ner Gesichtsani.
Relativ leicht find ich es,vom Spiegel oder Video abzugucken ,was sich genau bewegt.
Die Schwierigkeit besteht darin,wie ich fuer den posemixer Vertexreihen so verschieben kann,dass keine unerwuenschtenFalten und Knicke entstehen.
Wie dein Ding genau funktionieren soll,kann ich mir nicht so vorstellen.
Also muessen deine Punkte nicht Vertexes selektieren? Und funktioniert auch nicht so aehnlich wie ein spline..Ich ahne,dass es eine bloede Frage ist.Aber in 3D wird letztlich das mesh deformiert.Also ein Muskel bone zeigt auf einen bestimmten Punkt und wenn dieser Punkt bewegt wird,wird das mesh entsprechend deformiert.Und jetzt geht es darum,an diesen Punkt die Daten zu uebergeben,wohin sich der Punkt bewegen soll..aber auch mit welcher und wieviel Wichtung .Richtig in etwa?
Und das Format waere dann z.B. bvh ?
Ja,koennte die Arbeit erleichtern..wenns funktioniert.
Also ich meld mich mal als Beta-tester an *g*
 
:-) BetaTester 1 - Cecile Willkommen :-)

Die Wichtungsdaten bleiben dem Animateur überlassen, ich stelle mit dem
Programm nur - und da liegst Du mit bvh nicht falsch - die Bewegungsdaten
bereit. Mein Programm erstellt also Dummy-Points, die man dann an die
Mesh-Punkte linken kann.

Ich habe mir aber als Export-Formate 3ds,ASE und XAF ausgesucht.
3ds weil einfach zu parsen und für fast jedes 3D-Programm anwendbar.
XAF weil es eine neue MotionCapture-Norm werden soll - übergreifend.
ASE ..ähm.. weiß ich gerade nicht, aber war im Zuge der Export-Funktion auch
reingenommen worden. Ich glaube, weil es im Motion-Mixer verwendet werden
kann.

mfg chmee
 
Aehae,bericht mal weiter hier,wie Du vorankommst.Erstes Ergebnis koenntest Du bei einem der movie-Hoster hochladen und hier verlinken.

Ich versteh die Sache mit den Dummys nicht.
ich denk,dass alle relevanten Meshpunkte erfasst werden muessen.
Bei einem realistischen,detailierten mesh u.U. ziemlich viele.

Dann waere es evt. gut,wenn man am mesh im 3D Prog. die Punkte,die sich verschieben muessen selektieren koennte und deren Position dann ins avi kopieren koennte?

Wie soll bei einem Video,-das ja 2D ist-, die Veraenderung der Punktposition der 3. (z) Dimension erfasst werden?
(Hat Nina ein paar Seiten vorher schon draufhingewiesen)
Eben deswegen dachte ich erst,sowas wie Winmorph haette den selben Effekt.Nachdem man 3D gerendert hat ,ist es ja 2D und kann dann so gemorpht und getweened werden wie Standbilder eines Videos.
 
Da es nur um die Gesichtsbewegungen geht - Nicht um Kopfbewegung - sollte eine
AVI-Datei wie das oben angehängte Beispiel ausreichen. Natürlich wird sich erst
zeigen, wenn die Beta fertig ist, ob es reicht.

Und die Idee, die Punkte aus 3dsmax zu exportieren, ist keine schlechte Idee.
Das wäre dann die Arbeit nach diesem Progrämmchen.

Bis jetzt dachte ich, würde man mit selbstbenannten Kontrollpunkten schon zurecht,
die die Positionen beschreiben also zB

-- Mund Capturing --
1. Mundwinkel links
2. Mundwinkel rechts
3. Oberlippe links
4. Oberlippe rechts
5. Unterlippe mitte
6. Kinn

Die simpelste Version !

Im Anhang eine erste Version der Programmoberfläche ( n bissel ist da schon gecodet
worden :) )

mfg chmee
 

Anhänge

  • 27179attachment.jpg
    27179attachment.jpg
    22,4 KB · Aufrufe: 119
Hm,erklaeren wirst Du es ja,wenn's dann mal funktioniert ;)

Also bis jetzt
-in 2D- waers schon etwas mehr als winmorph.
naemlich:dort braucht man zum morphen auch die Position der Punkte des 2.Bildes.
Diese wuerden hier vom Avi ins 3D uebertragen..irgendwie.

Damit in 3D damit gearbeitet werden kann:
Muesste der Posemixer mit ins Spiel kommen!

(Ich red hier immer von Cinema-kenn mich nicht aus mit Max)

Also 1.Du laedst erst das defaultmesh in den posemixer.
2.Du selektierst die relevanten Punkte.
3.Die kopierst Du (als transparentes 2D) auf das Avi-Standbild
4.Jetzt kommt Dein Proggy ins Spiel.

Damit 3D draus wird ,muessen die Daten irgendwie in den Posemixer?
oder mach ich jetzt einen Denkfehler?
Die z-Dimension muesste allerdings von Hand hineinkorrigiert werden.
Die ist auch ohne Kopfdrehung vorhanden.Streck die Zunge raus ohne den Kopf zu bewegen und Du weisst was ich meine.

Die Ueberlegung ist,dass man bei Posen aus dem Posemixer,dann ja den Kopf drehen kann,weil sich die Punkte an den Kopfkoordinaten orientieren und nicht an den Weltkoordinaten?Falsch?

PS.mach die Bilder-Fenster in Deinem Interface viel groesser...
 
Cecile, mein Bester, wir reden hier von AVIs, nicht von Standbildern :-)

Ergo, Du nimmst zB einen ganzen Satz auf , AVI ist 250 Frames lang.
Exportiert wird eine Animated Dummy List mit einer Länge von 250 Frames.
Daraus werden die Punkte extrahiert, diese können dann mit den
Meshpoints verlinkt werden und fertig ist eine Primäranimation.
Dein Character/Objekt kann reden :-)

Neben der oberen Programmansicht existiert natürlich noch ein
komplettes AVI-Fenster, das das Video zeigt. Das obere kleine
Meshfenster ist nur ein Quasi-Graph, um später zu zeigen, welche
Punkte in der Trackpoint-Definition benutzt werden.

mfg chmee

--Ich schreibe wieder, wenn ich weitergeproggt habe.
 
Zurück