Wie die meisten Webseiten nutzen wir Cookies. Nähere Informationen dazu, wie wir mit diesen Cookies umgehen, können Sie in unseren Datenschutzbestimmungen lesen.   Einverstanden
 
 

3D Forum > Blender 7.78 Rigging Problem i.Z.m. Auto Weights

Blender 7.78 Rigging Problem i.Z.m. Auto Weights

19.04.2017 15:55
 
HellhoundFr. 21 Apr. 2017, 22:56 Uhr
@animelix Ich habe einmal die erste Variante ausprobiert. Klappt schon ganz gut, zumindest hat sich das Problem mit den verschobenen Geometrieteilen der Brille erledigt.

Auch die zweite Variante hat nach einigen Anlaufproblemen mit der Steuerung in Blender ganz gut geklappt. Hierbei habe ich zusätzlich den Helmriemen am zentralen Kopf Bone ausgerichtet, so dass dieser bei Rotationsanimationen korrekt mitbewegt wird.

Allerdings habe ich mich sehr schwer getan mit dem Paint-Modus. Gibt es eine einfache Möglichkeit Mesh-Bereiche zu selektieren und die dann insgesammt zu gewichten? Der Pinsel hat mich fast in den Wahnsinn getrieben. Es war ziemlich schwierig alle Vertices zu erwischen und zudem habe ich stets Bereiche mit gewichtet die ich nicht gewichten wollte ... Grad bei Objekten wie dem Helm sehr schwierig verwinkelte Geometriebereiche zu gewichten.

Wie gehst Du generell vor? Fügst Du das Objekt der Armature mit Auto Weights hinzu und korrigierst Du nach oder fügst Du grundsätzlich leere Gruppen hinzu und gewichtest dann peu a peu von Hand?

Hier mal ein Bild nach 3 Stunden Arbeit direkt aus der Unity-Engine nach Übertragung. Ich hab es mal als Anhang beigefügt da ich es irgendwie nicht hier einbinden konnte. Ich denke ich sollte mich mal aufs Ohr hauen
 
animelixSa. 22 Apr. 2017, 18:01 Uhr
weightpaint ist ne ätzende fleißarbeit...

aber man kann teile des meshes im edit-mode vorher ausblenden (shortcut h, wieder einblenden alt-h) die werden dann nicht beeinflusst.
Außerdem kann das weightpainten gespiegelt werden, das spart auch arbeit.
zum schluss kann man versehentlich gewichtete vertices im editmode aus den vertex-groups entfernen (remove), das geht sehr schnell und einfach.
 
HellhoundSo. 23 Apr. 2017, 13:58 Uhr
Danke ersteinmal für Deine vielen hilfreichen Tipps, die haben mir schon ganz gut geholfen. Vielleicht kannst Du mir noch einmal bei dem folgenden Objekt helfen. Ich versuche nun, nachdem ich den Helm und eine Cap erfolgreich positionieren konnte eine Hose zu positionieren.

Hierfür habe ich das Objekt der Armature mit leeren Groups zugewiesen. Dann habe ich im Edit Modus die Hose in einzelne Geometrie Bereiche durch Faces-Selektion separiert und diesen den Vertex-Groups der betroffenen Bones zugewiesen. Das sieht nach dem ersten 4 Stündigen Versuch auch schon ganz gut aus allerdings wirkt es merkwürding wenn ich die Bones bewege. Vermutlich habe ich noch etwas übersehen ...

Ich habe das Model mal angefügt. Wie immer bin ich dankbar für jeden Tipp
 
vidiSo. 23 Apr. 2017, 19:42 Uhr
Also mal vorab ich hatte mir dein Character angeschaut wegen dem Helm .Keine Ahnung warum du da nicht einfach den Helm zu 100 Prozent an den Kopf weightes . Es braucht nur eine Einzige Vertex group >> Head , auch sind einige Vertieces an den Eyes bones gewichtet und das Brillen glas garnicht . Wenn sich der Helm mit den Kopf bewegen soll dann muss das auch an der HeadBone "kleben" wie doll ds klebt bestimmt man mir dem Wheigtpainting in deinem Fall also 100 Prozent red auf die Head vertexgroup . Das ist in max. ca 1 min erledigt

So nun zu deinem anderen Problem um ein Mesh mit den Character konforming zu machen,
sollte es nicht eine eigene Armatur bekommen,
sondern an die ChracterArmatur geparented werden und dann die Weightmaps (gewichtete vertexgroups) vom Body auf das Hosen mesh kopiert werden .
Da ich mit Blender überhaupt nicht klar komme vom Händling habe ich mir Tile's bforartist runtergeladen um dir zu zeigen wie man das in Blender macht

 
HellhoundSo. 23 Apr. 2017, 20:54 Uhr
Hallo Vidi, danke für Deine Infos. Das mit dem Helm habe ich inzwischen genau so wie Du und Animelix es beschrieben haben in den Griff bekommen. Ich bin Programmierer, kenne mich mit Blender nur bedingt aus und habe nicht mal bemerkt das das Brillenglas keiner Gruppe zugewiesen war, hatte bis dahin nur die Auto Weight Funktion genutzt um das Mesh Objekt an die Armature zu binden, so wie es in diversen Videos demonstriert wird, mehr nicht. Für 2,3 Objekte (Schuhe, Hose, Hemd) hatte das nahtlos funktioniert, der Helm wollte aus den genannten Gründen nicht ...

Das was Du mit Maya demonstrierst ist genau das, was ich unter Blender versuche umzusetzen. Nur als Blinder unter den ganzen sehenden von Euch, gar nicht so einfach Ich denke inzwischen, dass es nicht sinnvoll war die Hose in der Geometrie zu stark zu unterteilen und ich dadurch diesen Verzerrungseffekt habe. Ich habe mal ein paar Bilder zum aktuellen Stand beigefügt. Zwei direkt aus Blender mit den Gewichtungen an den entsprechenden Beinknochen und zwei Renderergebnisse aus Unity nach dem FBX Import. Ich werde mal versuchen die Geometriebereiche größer zu wählen (rechtes Bein / linkes Bein und muss denke ich auch die Fussknochen mit einbeziehen).

Das mit dem durchschimmern der darunter liegenden Geometrie ist mir auch schon aufgefallen. In Maya sieht das ja sehr gut aus, gibt es was vergleichbares in Blender? Und kann ich das ggfs. auf das Material übertragen? So das sich das im FBX File wiederfindet und ggfs. vom Unity renderer berücksichtigt werden kann?

 
vidiSo. 23 Apr. 2017, 22:46 Uhr
Das mit dem durchschimmern der darunter liegenden Geometrie ist mir auch schon aufgefallen. In Maya sieht das ja sehr gut aus, gibt es was vergleichbares in Blender?


Nun da schimmert nicht durch , weil Maya den Transfer besser erledigt hat als Blender , du musst halt in Blender jetzt die Partien mit dem Pinsel manuell nachwichten oder alternativ das Mesh darunter an den Stellen ausblenden oder ein Transparen Map für diesen Bereich machen.
Ich bin jetzt aber auch kein Blender User, um dir da konkret weiter zu helfen . ich habe das auch nur das mal ausprobiert was ich bei Youtube gesehen habe und hier schon öfter in diesem Forum gelinkt habe, wenns um Kleider in Blender antackern geht Dank Tiles Fork ist das Programm ja nicht ganz so behindert










 
HellhoundSo. 23 Apr. 2017, 23:05 Uhr
Cooles Video danke. Meine Blender Lernkurve geht grad steil durch die Decke . Das werde ich morgen gleich bei erster Gelegenheit ausprobieren.
 
HellhoundMo. 24 Apr. 2017, 08:19 Uhr
Ich habe das ganze heute früh noch vor der Arbeit ausprobieren müssen, klappt sehr gut, bin jedoch über den Weg gegangen, das ich einen Data-Transfer Modifier verwendet habe, der die Vertex-Gruppen überträgt. Nochmal danke für diesen goldenen Hinweis, das hat mir sehr geholfen.

Optisch passt es nun soweit, nun habe ich lediglich häufig in der Animation einzelne Überlappungen durch die Meshes. Ich kann zwar die Mesh des überlagernden Objektes marginal vergrößern, so dass die Überlappungen aufhören, ist aber keine schöne Lösung.

Gibt es so etwas wie Occluder Masks? So dass ich z.B. Renderlayer definieren kann und anhand der Masken diese deaktivere bzw. per Depth-Shader diese überlappenden Bereiche nicht render. Oder macht es mehr Sinn das ich mal schaue, ob ich den Basis-Body in mehrere Mesh-Gruppen splitte, die ihren eigenen Skinned Mesh Renderer bekommen, so dass ich dann per Skript in Unity diese zur Laufzeit ausblenden kann? Geht das überhaupt?

Es macht ja aus meiner Sicht keinen Sinn die überlappenden Parts zu Rendern, ich benötige dies ja "nur" um den Avatar zur Laufzeit optisch Anpassen zu können ...
 
vidiMo. 24 Apr. 2017, 09:19 Uhr
Du kannst ja auch einfach die Polygone löschen die du eh nicht mehr brauchst

oder erstellst eine neue Materialgruppe für diesen Bereich und gibt in Unity diesem Material einen StandardShader mit dem Rendermode cutout und AlphaCutoff Wert 1

Um einen neue Materialgruppe zu difinieren makierst du die Polygone (also die Beine) Klickst dann bei Materialslot in Blender dieses Pluszeichen und assigns(Button) das neue Material dem makierten Polygonen . In Unity wird dir das dann unter der Komponente Mesh Render / Material aufgelistet und du gibst diesem Material also dieses Shader wie oben beschrieben
 
HellhoundMo. 24 Apr. 2017, 11:57 Uhr
Löschen ist keine Option, da der Avatar erst zur Laufzeit Ausgerüstet wird und somit das Basismesh zum Ausrüstungszeitpunkt vollständig sein muss. Zudem muss auch der Fallback möglich sein, falls die Ausrüstung wieder entfernt wird.

Aber das mit den Materials ist natürlich auch eine sehr gute Option. Ich muss mal schauen was in Unity besser zu handlen ist, den Skinned Mesh-Renderer zur Laufzeit zu deaktivieren oder das Material auf das Cutoff-Material umzustellen. Danke für den Hinweis.
 
 

 


 
 
© 3D-Ring - deutsche 3D Software Community, Archiv 2001 - 2006