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 > Roboter wichten, ist mein Vorgehen korrekt ?

Roboter wichten, ist mein Vorgehen korrekt ?

16.04.2015 11:18
 
GastDo. 16 Apr. 2015, 11:18 Uhr
Hi ich nochmal,

ich hätte mal eine Frage bezüglich des Riggens meines Robohorse.
Ich würde gerne mein Robohorse mit CAT in 3DsMax riggen, jedoch soll es kein "normales" Rigg werden, sondern halt ein mechanisches ohne Meshdehnungen.

Mein Robohorse besteht aus vielen Einzelteilen, die ich Für die Erstellung einer FBX Attached habe.

Mein erster Versuch mit der Horse CAT Vorlage zu arbeiten stellte sich als Fehler raus, da das Rigg nicht passte (Boneanzahl) und ein Wichten auf 100% der Einzelteile nicht möglich war.

Ich habe mir nun mal ein paar Gedanken gemacht und habe einen groben Plan wie ich an die Sache heran geben möchte.
Es wäre Klasse wenn mir jemand mit Erfahrung in dem Bereich sagen könnte ob meine Idee richtig ist oder ob es einen besseren Weg gibt.

Das ist also der Ablauf wie ich Ihn mir vorstelle.

1. Da ich einzelne Polybereiche im Skin-Modifier nicht markieren kann, gehe ich davon aus das die die Attachten Objekte zunächst wieder Trennen muss.
Ich hoffe das ich so dann später die Möglichkeit habe einzelne Objekte zu selektieren und alles andere auszublenden.

2. Da ich bei CAT bleiben möchte, habe ich mir gedacht, das ich mein Rigg selber erstelle, so kann ich Sicherstellen das es wirklich nur ein Bone pro Objekt gibt.

3. Nun würde ich das Rigg mit dem Mesh per Skin Modifier verbinden und jeden Bone mit den einzelnen Objekten zu 100% wichten.

4. An dieser Stelle sollte dann mein Mechpferd logisch richtig funktionieren, es bleiben nur 2 Probleme.
Das erste Problem ist, wie kann ich IK Bereiche für jedes der 4 Hufe definieren ? Beim Menschen geht das ja irgendwie nur für die Füße und nicht für die Hände.
Kann ich bei der manuellen Riggerstellung einfach 4 Beine erstellen ?

5. Wenn alles soweit klappen sollte, muss ich am Ende die einzelnen Objekte wieder Attachen damit keine 0 Punktverschiebungen in der Gameengine zustande kommen.
Somit muss ich den Skinmodifier Collapsen um die Bereiche überhaupt Attachen zu können, zerstöre ich damit meine Wichtung bzw. mein Rigg oder geht das ohne Probleme ?

Ich bin mir etwas unsicher, würde ungerne ein Haufen Arbeit investieren und am Ende merken das es nicht wie gedacht funktioniert.
Ist meine Idee richtig oder hat jemand einen besseren Workflow ?

Ich habe auch schon über Biped oder separate Bones nachgedacht, jedoch war mein letzter Versuch mit Biped sehr demotivierend, nicht weil ich es nicht hinbekommen habe, nein das Rigg sah klasse aus.
Mein Problem war, das irgendwie das Biped Rigg ein Fehler hatte der dafür gesorgt hatte, das ich nicht wichten konnte, jedes mal wenn ich die Bones bewegt habe hatte ich ein Programmcrash, seit dem bleibe ich lieber bei CAT.

Naja über Tipps Tricks und Infos wäre ich sehr dankbar.

Gruss Harlyk
 
SleepyDo. 16 Apr. 2015, 12:41 Uhr
Einen Mech egal ob Pferd oder Mech brauchst du gar nicht Wichten.
Wie immer haben wir hier natürlich die Hürde Maya vs Max smile

Ich will trozdem mal beschreiben wie ichs in Maya machen würde. Wie gesagt das Character Animation Toolkit und modifier gibt es in Maya nicht.

Ich gehe mal davon aus das dein Rigg bereits fertig ist.

1.Ich würde alle teile die zusammengehören Parenten entweder über Parent oder via Parent Constraint.
2.Dann würde ich die Pivots jeweils an den Rotations punkten setzen so das die Rotation zb der Hüfte, Kopf rauf/runter usw richtig funktioniert.
3. Für die Füsse etc kannst du nun IK Handler verwenden.

Solchtest du Mechanische Teile haben wie zb Hydraulik kannst du diese auch via Constraints verbinden usw

Ich finde daher Roboter Riggs viel einfacher als humanoide Riggs da man komplett ohne Skinning und lightpainting auskommt.

Wie gesagt auch das Skinning brauchst du nicht da die teile ja via Parent oder Parent-Constraint verbunden sind.
 
GastDo. 16 Apr. 2015, 13:39 Uhr
Das ist ja eigentlich das was ich vorhabe Sleepy.

Entweder ich setze ich das Link Constraint vom Bone direkt auf die einzelnen Objekte oder aber
ich stelle bei einer Wichtung das Objekt auf 100% für den jeweiligen Bone.

Denke aber du hast recht, ein Link Constraint vom Bone zum Objekt ist wohl einfacher, es wird wohl nur schwierig werden die Achse des Cat Riggs (also den Pivot) korrekt auszurichten.

Besser gehts wahrscheinlich mit einzelnen Bones statt dem CAT Rigg, hoffe nur das ich nicht wieder Fehler bekomme und mir mein Projekt um die Ohren fliegt.

Dann muss ich noch mal Googeln wie ich IK´s bei den Hufen erstelle, ich glaube irgendwo fliegt bei mir noch ein Tutorialvideo rum.

Eine große Frage bleibt aber.
Wenn ich nun alle Bones mit den Einzelteilen des Pferdes verbunden habe, kann ich dann alle Objekte Attachen ??

Denn wenn ich alles separat lasse, dann fliegen mir die Teile in der FBX um die Ohren weil der Abstand zum 0 Punkt zu Verschiebungen führt.
 
SleepyDo. 16 Apr. 2015, 14:10 Uhr
Nur das wir uns gleich mal richtig verstehen.

Attach = Das Verbinden zweier oder mehrer Objekte zu einem Objekt ? In Maya nennt sich das Nämlich Combine.

Würdest du ober und unterarm eines Menschen miteinander verbinden wäre der Arm ja nur ein Objekt das bedeutet du könntest zb den Elenboden nicht ein oder ausklappen da die Objekte miteinander verbunden wären.

Richtig wäre zb Findernage mit der Finger Kuppel verbinden (Attach)
Den wenn du die Finger Kuppel bewegst soll ich ja auch der Nagel bewegen.

Ein Unterarm eines Mechs würdest du mit dem Bone der im Elenbogen sizt via Parent oder Parent Constraint verbinden. Rotierst du den Ellenbogen Bogen würde sich somit der unterarm drehen sofern du den Pivot richtig gesetzt hast.

Damit dir dir teile nicht um die Ohren fliegen musst du die Geometire Frezzen (Achtung in max heißt das anderst)
Ich meine Damit die Geometrie auf 0 zu setzen. Rotation, Translation Scale usw = 0

Du verbindest also Bones und die Meshteile via Parent miteinander.

Hier mal ein Tutorial in Maya wie man einen Hyraulik Arm Riggt. Das Prinzip ist aber auch bei anderen teilen das selbe.

https://www.youtube.com/watch?v=QWmX_whZpWU

Wichtig ist die hierarchie also die Reihenfolge wie deine Teile miteinander Parent sind.
 
GastDo. 16 Apr. 2015, 14:20 Uhr
Attach ist in Max das verbinden zweier Objekte zu einem ohne das hierbei eine echte Verbindung der Vertex zustande kommen muss.

Beispiel : Kaffeetasse und Untertasse.
Zwei separate Objekte die ich per Attach zu einem Objekt verbinden kann.

Mein Pferd besteht also aus einzelnen Teilen, Huf, Oberschenkel, Unterschenkel, Kopf, Hals etc.
Wenn ich nun alles per Attach zusammenfüge habe ich ein Objekt Pferd ich kann jedoch die einzelnen Polygruppen weiterhin selektieren im Polygonmodus.

Wenn ich dieses Pferd nun auf 0 ausrichte und als FBX exportiere ist alles wunderbar.

Wenn ich jedoch nicht jedes Teil per Attach zusammenfüge und das Pferd mittig ausrichte, dann werden die Abstände zum 0punkt von Unity oder Unreal anders definiert, was dazu führt, das die Einzelteile nicht mehr da sind wo sie hingehören, meistens ist ein deutlicher Spalt die Folge.

Es könnte gut sein, das die Lösung dieses Freeze ist was du meinst. Freeze ist in Max ja eigentlich dafür gedacht das man das Mesh nicht mehr markieren oder bewegen kann.
Ich versuch mal heraus zu finden was dein Freeze in Max ist und ob dies vielleicht die Lösung ist, könnte gut sein.

Sollte das die Lösung sein, ist der Rest nur noch Fleißarbeit smile
Ich sag bescheid was dabei raus kam smile
 
SleepyDo. 16 Apr. 2015, 14:32 Uhr
Jup ich vermute sehr stark das dies dein Problem ist.

Nochmal zur Erklärung:
Wenn du in einem 3D Programm einen Cube erstellst und diesen im Viewport verschiebst dann stehst dieser zb auf Postion -X100 , X+37 , X+ 600 wenn du den Cube so animieren würdest, dann würde es wie du schon sagest eventuell zu fehlern kommen. Deswegen ist es wichtig den Cube zu verschieben und dann die Rotatio, aber auch die Translation auf 0 zu setzen.
Das bedeutet egal wo sich der Cube im Viewport befindet er befindet sich trozdem auf 0. Jedes Objekt befindet sich also auf 0 egal wo es steht.

Bei einem Rigg musst du jeden Bone Freezen nur dann kannst du zb eine Tür in Unity um 90 Grad öffnen den die Tür hat ja 0. Wenn du sie also um 90 Grad öffnen willst muss der Pivot an dem Punkt sein wo das Scharnier normalerweise ist und Scharnier + Tür muss auf 0 sein.

Tür im Anhang ist um 10 grad geöffnet alle XYZ ist auf 0 gefreezt und der Pivot ist an der richtigen Stelle.

So können Programmierer übrigens auch viel Leichter mit dem Modell arbeiten zb Türen auf und zu usw.

Das selbe gilt für Riggs Freezen ist dabei Wichtig ohne Freeze gehts sogar nicht da du sonst später sehr große Probleme bekommst.


Wichten kannst du natürlich machen falsch ist das nicht aber das wichtigen ist doch ne Menge Arbeit die du dir sparen kannst da es einfach nicht notwendig ist.
Das wichten wird dein Problem auch nicht lösen da deine Objekte dann trozdem nicht auf 0 gesetzt sind.

In Unity kannst du dann noch einstellen ob sich dein Objekt Local oder nach World drehen soll. World wäre dann um den Objekt Mittelpunkt was ja bei einem Rigg keinen Sinn macht. Du musst deine Objekte in Unity dann also um Local bewegen.
Aber ich nehme mal an du animierst sowieso direkt in Max.
 
 
GastDo. 16 Apr. 2015, 14:45 Uhr
Hmm meine Charakter habe ich bisher nicht mit irgendwelchen Krams (Freeze) belegt, hoffe das es kein Problem darstellt. (Naja ist bisher nur geriggt und gewichtet ohne jegliche Animation.)

Naja egal was dieses "Freeze" angehet, da habe ich 2 Sachen gefunden, einmal das sogenannte Freeze Transform (ich denke das wird es sein) und das ResetXForm.

ResetXForm habe ich bisher anders kennen gelernt, denke das wird es nicht sein, Freeze Transform hört sich von der Beschreibung gut an.

Ich werde mal mein Pferdchen mit dem Freeze Transform belegen und schauen was bei raus kommt.
Wenn es klappt ist das Problem gelöst und ich kann mal sehen ob das Constraintgedöns so sauber abläuft wie gedacht. Eine gute Übung ist es definitiv, das hatte ich schon länger mal vor.

Wenn alles sauber abläuft teste ich auch gleich mal was passiert wenn ich sowas auf ein bereits geriggten Char lege, ob dann die Wichtung noch passt oder das ganze zersägt wird.

Im gleichem Atemzug sollte ich auch mal dafür sorgen, das meine Charakermodelle mal alle einer Einheitsgröße zugeordnet werden... beim Rendern ist mir das erste mal aufgefallen das irgendwie jeder Char eine andere Größe hat ... das geht mal garnicht ^^


Danke erst mal bis hier, wie es weiter geht wird sich die Tage zeigen.
 
vidiDo. 16 Apr. 2015, 14:47 Uhr
Mein Pferd besteht also aus einzelnen Teilen, Huf, Oberschenkel, Unterschenkel, Kopf, Hals etc.
Wenn ich nun alles per Attach zusammenfüge habe ich ein Objekt Pferd ich kann jedoch die einzelnen Polygruppen weiterhin selektieren im Polygonmodus.


Genausso würde ich das auch dann machen . Bones reinklöppen und jeder Polygongrupppe die entsperechende Bone zuweisen und mit 100% skinnen.

Habe auchn schon ein Roboter geriggt. Da habe ich die Einzelteile auch zu Einem gewelded (so heißt das übrigens bei mir in Hex ) und die Teile haben ja trotdem noch ihre Face groups, die dann einfach mit der entsprechenden Bone 100 % gewichtet.

 
vidiDo. 16 Apr. 2015, 15:09 Uhr
Habe mal das Teil rausgekruschtelt und in Unity gecheckt, also wie man sieht ein Objekt und nur die Bones
Mechanim gibt auch grünes Licht .

Wenn ich mehr Zeit hätte würde ich auch noch Animation machen, muss aber gleich weg ....(hole ich vielleicht nach)

 
GastDo. 16 Apr. 2015, 15:55 Uhr
Aha vidi,

also du hast alles zusammen gewelded und dann gewichtet ??

Genau das ist gerade mein Problem.
Wenn ich alles einzeln lasse kann ich ja jeden Bone direkt zuweisen in dem ich alles andere ausblende.
(Ob es dann 100% wichten oder nen constraint ist, spielt eigentlich keine Rolle.)

Wenn ich dich recht verstehe hattest du deinen Robo aber schon zu einem Object gewelded, wie kannst du dann im Skin Modifier überhaupt noch die Polygroups auswählen ???

Genau das geht bei mir nicht, wenn ich zurück gehe zum Polygon Modus verliert mein Mesh sofort die Verbindung zu den Bones, dann ist mein Rigg im Eimer. Ich kann also in der Modifikationsliste nicht hin und her springen.

Somit kann ich nicht mal von Poly auf Vertexselektierung umstellen geschweige denn die Polygroups auswählen.

Selbst wenn ich die Polygroups auswählen könnte, muss ich ja alle Vertexpunkte markieren und zu 100% an den Bone wichten, das geht natürlich auch nicht wenn da noch andere Vertexpunkte im weg sind.
Was muss ich also machen, den Rest ausblenden und dummerweise kann ich nicht alles andere ausser der markierten polygroup ausblenden innerhalb eines Objektes.

Meine einzige Idee wäre es somit alles in Einzelteile zu lassen, beim Wichten nur die einzelnen Objekte einzublenden und zu 100% zu wichten und am Ende dann alles Kollabieren und dann alle Einzelteile zu einem zusammen welden oder attachen ... wi das auch immer heißt.

Daher meine Frage jetzt an dich Vidi, wie kannst du einzelne Polygroups eines Objektes im skin modifier Bones zuweisen ?
Würde ich echt gerne wissen.
 
 

 


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