Problem mit Bones

Jan-Frederik Stieler

Monsterator
Moderator
Hi,
ich bin dabei zum erstenmal eine Boneanimation zu erstellen um eine kartonschnittmaske zusammenzufalten.
Leider habe ich ein Problem mit der Gewichtung der Bones bzw. deren Auswirkung auf das Mesh.
Nachdem ich den ersten Bone um 90 Grad gedreht habe sieht man das sich das Mesh etwas verbogen hat.
Ich hab die Gewichtung schon auf Tiefrot gestellt aber ohne wirkliche Verbesserung.

Ich hab mal eine paar Bilder angehängt. Vielleicht kann mir jemand Tipps geben wie ich das hinbekomme?

Bildschirmfoto 2016-05-13 um 16.38.30.jpg Bildschirmfoto 2016-05-13 um 16.39.25.jpg Bildschirmfoto 2016-05-13 um 16.39.50.jpg
 

grotten

Schusselkopf
Auf deinem Bild sieht man, dass die Gewichtung auf dem Mesh nicht sauber ist... bei dem Teil der nicht gefaltet werden soll, ist sie nicht vollständig 0 (blau). Ich denke mal, dass du eine scharfe Kante haben möchtest. Dann solltest du alle Flächen, die nicht vom Bone beeinflusst werden sollen, auf exakt 0 setzen, und die die hochgefaltet werden sollen auf exakt 1. Keine Zwischenwerte im Übergangsbereich.
 

Jan-Frederik Stieler

Monsterator
Moderator
Hi,
Ja hab das nur leider nicht hinbekommen. Hab den Pinsel schon auf ne Größe von 1px gestellt aber dann passiert garnichts.
Nur glaube ich nicht das dies mein eigentliches Problem löst. Denn vor dem Ändern der Gewichtung war im gefalteten Bereich die Gewichtung anders aber das Mesh sah genau so aus. also diese Beule im Zweiten Bild soll so nicht sein.

Grüße
 

grotten

Schusselkopf
Hast du den Bone irgendwie in die Länge gezogen? Sieht so aus als ob das Mesh aus irgendeinem Grund gedehnt worden wäre. Mit dem Pinsel wirst du die exakte Gewichtung wohl niemals hinbekommen. Das geht aber auch anders: du kannst die Faces selektieren, die du wichten möchtest, und setzt dann den Wert auf 1. Dann invertierst du die Selektion und setzt den Wert der anderen Faces auf 0.
 

Jan-Frederik Stieler

Monsterator
Moderator
Hi,
also ich weiß nicht was ich da falsch mache.
Ich glaub ich kapier das System hinter dem Weight Paint in Kombination mit den Bones nicht so ganz.
jetzt hab ich mal den zweiten Bone rotiert und das Ergebnis ist Katastrophal.

Bildschirmfoto 2016-05-15 um 21.14.40.jpg Bildschirmfoto 2016-05-15 um 21.15.09.jpg
 

grotten

Schusselkopf
Klar ist das Ergebnis katastrophal - man sieht doch auf dem zweiten Bild, dass das Weight Painting überhaupt nicht zu den Bones passt...
 

Jan-Frederik Stieler

Monsterator
Moderator
Hi,
Ja, das war mir eigentlich schon klar :). Nur warum verändert sich die Gewichtung nicht dynamisch.
Beim ersten Bone brauch die so wie am Anfang eingerichtet. Beim zweiten Bone müsste die Gewichtung ja anders aussehen.
Aber wie bekomm ich das hin? Die Gewichtung wird ja beim Mesh eingestellt und nicht beim Bone.
Eine Idee ist mir noch gekommen, die Bones habe ich jetzt jeweils extrudiert. Alle nach dem ersten sind also Kindelemente des ersten Bones.
Wäre es eventuell sinnvoller die jeweils einzeln zu erstellen?

Grüße
 

grotten

Schusselkopf
1. Also erstmal vorweg: Bones sind immer besser geeignet, wenn man Meshes eher organisch deformieren will. Von daher kann das Mesh auch je nach Entfernung zum Bone-"Gelenk" mehr oder weniger starkt verzerrt werden. Besser wären wahrscheinlich Shape Keys.

2. Die Gewichtung verändert sich nicht dynamisch, da sie einzelnen Vertexgroups während des Parentings zur Armature zugewiesen werden - Vertexgroups und Weight Maps sind aber keine Modifier, von daher auch nicht dynamisch. Wenn du also beim Parenting "with Automatic Weights" auswählt, erstellt Blender zwar eine automatische Gewichtung, aber die gilt nur für den Moment des Erstellens und die zu diesem Zeitpunkt vorhandenen Bones. Später hinzugefügte Bones haben somit auch keinen Einfluss auf das Mesh, es sei denn du erstellst nachträglich eine Gewichtung.

3. Um scharfe Knicke zu erzeugen, ist es schwierig bis unmöglich eine genaue Abgrenzung mit dem Pinsel auf die Weight Map zu malen. Am besten gehst du beim Mesh in den Edit Mode und selektierst die Vertexgroup, die für den gewünschten Bone erstellt wurde. Dann markierst du alle Faces die der Bone bewegen soll, setzt "Weight" auf 1 und klickst "Assign". Dann invertierst du die Selektion, setzt "Weight" auf 0 und klickst nochmal "Assign".
Da ein Vertex im Grenzbereich aber sowohl zu einem Face mit 1 als auch zu einem Face mit 0 gehört, ist die Grenze immer noch nicht scharf (je nachdem, wie fein dein Mesh unterteilt ist, den Bildern nach vermutlich mal nicht so fein). Also am besten mit Loop Cut (STRG + R) die Grenzlinien "verdoppeln".
 

grotten

Schusselkopf
Okay, bei 3. habe ich einen Fehler gemacht - es wäre besser, erst mal alle Faces zu selektieren und Weight = 0 zu setzen, dann markierst du nur die Faces, die der Bone beeinflussen soll, und setzt Weight = 1.
 

Jan-Frederik Stieler

Monsterator
Moderator
Hi,
Erstmal vielen Dank für deine ausführliche Erklärung.
Die erste Fehler ist dann schonmal lokalisiert, ich hab Bones nachträglich hinzugefügt.
Und ich hab ohne Vertexgroups gearbeitet.

Ich werd deine Tipps bei Zeiten ausprobieren. Hab grad wenig Zeit für solche Hobbyprojekte :).
Ich melde mich dann wieder.

Viele Grüße