Character Template für Unity

Hallo Ihr Lieben,

ich habe hier lange nicht gepostet, deshalb traue ich mich kaum diesen Thread zu erstellen. Aber…
ich bin gerade so stolz auf mich ;-).

Ich habe (mit der Hilfe von den Tutorials von Bret Bays) ein Character Template gebastelt.
Das Resultat ist ein simples IK/FK Biped-Rig, dass problemlos von UNITY als “humanoid” akzeptiert wird.

Habe es gerade getstet und mit ein paar Klicks die Animationen eines Unity-Characters (third person) auf mein mesh übertragen.
Und es hat funktioniert!!!

Nun frage ich mich, ob das eigentlich für irgendwen (ausser mir) interessant ist. Oder habt Ihr längst ganz andere Wege gefunden, Eure Characters und Animationen nach Unity zu bekommen. Ich bin in diesen ganzen Realtime Geschichten noch ganz am Anfang und mir fehlt total der Überblick.

Wenn es so aussieht, als könntet Ihr sowas auch brauchen, würde ich noch ein bisschen mehr Zeit investieren und noch etwas aufräumen und hübsch machen. Ansonsten - für mich reicht’s wie es ist :slight_smile:

2 „Gefällt mir“

Hallo Petra
klingt für mich sehr interessant, da ich diesen Fall voraussichtlich genau im Oktober haben werde.

Vielen Dank und viele Grüße
Jörg

Hi petra,

brauchen kann ich es leider (noch) nicht,
aber interessieren würde es mich sehr.

Andy

Na, das sind doch immerhin schon mal zwei!
Wenn Ihr mir eure e-mails anvertraut (an ps@picturefactory.com) würde ich Euch morgen das Character-Object mal zuschicken.
Mit den Instruktionen wo man es hinsichern muss, damit es funktioniert und mit der Bitte, es nicht weiterzugeben.
Es ist dann zwar noch nicht “hübsch” gemacht, aber Ihr könntet es mal austesten und mir vielleicht auch ein bisschen feedback geben (bitte, bitte ?).

ich würde mich gerne als #3 einreihen :slight_smile:
unity steht ganz oben auf meiner tolearn liste
ich mache ab und zu für partys ein paar vj-jobs und plane schon länger was interaktives mit dem publikum. dafür scheint mir unity ziemlich gut geeignet.
unabhängig von den ganzen vr-ar-geschichten
(DAS hätt ich z.B. gern)
also ich fänd´s toll, wenn ich mal in dein file schauen dürfte.

@JoergHofmann, @ND2004, @tomwhite:

Ich möchte gerne einen Überblick behalten, wer die Datei testet. Leider habe ich keinen Weg gefunden an eine “Private Nachricht” hier im Forum eine Datei anzuhängen. Deshalb die Bitte, schickt mir eine e-mail adresse, an die Datei schicken kann.
ps@picturefactory.com

Hi Petra,

Danke für dein freundliches Angebot.
Leider bin ich mangels Unity-Erfahrung, nicht wirklich als Tester geeignet.
Ich würde trotzdem gerne mal draufschauen
und melde mich per email.

Andy

Hallo Ihr lieben “Beta-Tester” :slight_smile:

Und schon habe ich beim Ausprobieren selber einen Fehler entdeckt:
Die Controller des “Spine” waren nach dem Rig-Aufbau nicht mehr auf Null gesetzt. Das Lag an den Protection-tags, die an diesen Objekten hängen. Ein Update des Templates schicke ich Euch gleich - also nicht verzagen!

Sorry - ich übe noch :slight_smile:

Petra

Gruß.

Könntest du uns vielleicht von deinen Erfahrungen und Problemen berichten? Was macht dein Rig besonders? Womöglich könnte ich ein solches Rig gebrauchen in einer unbekannten Zukunft. Aber Könnte man nicht andere Rigs in Joints wandeln dann funktionieren sie ebenfalls in Unity?

Ja, kann man. Sofern man sich an die Konventionen hält, bekommt man ei Rig 1:1 nach Unity.

Gruß zurück!
Das ist eine gefährliche Frage, weil ich doch so zum Roman schreiben neige :wink:

Ich versuche es mal in kurz: (fast kurz)

Ich war dabei einen selbstgebastelten Character (Frau) mit einem schönen Rig auszustatten, mit diversen extra joints, zwei Rotationen für den Unterarm, etc. Mein Ziel war es diesen Character geriggt und animiert auf Turbosquid zu verkaufen. Dann dachte ich, ist ja blöd für jeden neuen Char. mit dem Rig von vorn anzufangen. Ich müsste ein Character-Template daraus machen.
Viele Tutorials später hatte ich das schon ein Stück weit geschafft, da sprach bei Turbosquid plötzlich jeder von PBR (physically based rendering).
Noch ein paar Tuts und ich wusste, was gemeint ist und dass das aus der Welt der Realtime-Engines stammt. Als ich dann mitbekam, das UNITY, Unreal und noch ein paar Realtime-Engine Entwickler diese riesigen Software-Pakete umsonst zur Verfügung stellen und dass Amazon sich auch noch in diesen Markt wurschtelt und dass Adobe mittels Fuse und Mixamo animierte Characters für Lau anbieten, da war die Luft dann komplett 'raus. Denn wenn diese Giganten versuchen sich Stücke von einem zukünftigen Kuchen zu reservieren (so sieht es für mich aus), dann muss ich da nicht auch noch mitmischen. Amöben haben gegen Elefanten weinig Chancen :wink: .
Ich habe den Verdacht, dass da zwei Welten, ich nenne sie mal Real-Time und Hi-Res 3D, dabei sind aufeinander zu knallen und sie sich dabei gegenseitig sehr verändern werden.

Na ja, um irgendwie dabei zu bleiben und das Handtuch nicht ganz weg zu schmeissen, habe ich Unity und Unreal “downgeloaded” und versucht, in diesen fremden Welten irgendwie klar zu kommen. Unity liegt mir mehr (weniger programmieren und sehr gute Tutorials glaube ich).

So - also dachte ich, stecke ich doch meinen Char mit dem tollem Rig via FBX mal in Unity und guck was passiert.
Ich musste erst mal alles und alles backen dann ging es irgendwie ein bisschen, aber ich konnte meinem Rig keine fremden Animations zuordnen denn es hatte ja keinen ordentlichen Avatar und ich konnte ihn auch nicht manuel mappen, da Unity keine Spline-IK mag und die Joints an manchen stellen eine bestimmte Hirarchie brauchen (die mein Rig nicht bieten konnte). Also Tuts und Testen…Ich hab’ nun auch kapiert, dass man diverse Konventionen beim Riggen einhalten muss, damit Unity klarkommt. Habe mir also Unity Rigs und Mixamo Rigs angesehen und ein eigenes sehr simples Rig gebaut, dass diese Konventionen einhält und von Unity als humanoid akzeptiert wird und bei dem Unity automatisch die Joints auf seinen Avatar mappen kann. Dann habe ich daraus ein Character-Template gemacht, damit das Rig an verschiedene humanoide Models angepasst werden kann.

Damit bin ich nun wieder etwa da, wo ich vor einem halben Jahr war - bevor mich die “Alles ändert sich immerzu” Depression erwischt hat.

Da ich in Unity immer noch alles andere als fit bin, habe ich halt diesen Thread gestartet in der Hoffnung, dass mir jemand beim Testen des Character-Templats hilft. Und ich habe ja auch schon sechs “Betatester” gefunden :slight_smile: Nehme aber gern noch ein paar!

Keuch, keuch…!! Sorry, ich kann einfach nicht kurz :frowning:

Wenn’s schon so lang ist… hier noch ein Bildchen von meinen PBR-in Cinema Experimenten (Metallness Workflow)

4 „Gefällt mir“

Hallo Petra,

ich beschäfftige mich ebenfalls seit paar Wochen mit Unity.

Ich würde gern mal einen Blick auf dein Rig werfen, weil ich mich selbst mit dem Thema, sobald ich die jetztige Geschichte in Unity erledigt habe, gern auseinandersetzen möchte.

Ich würde dir also mal eine Mail schicken. Bekommen wir dann auch nähere Informationen wie was zu tun ist und was dir wichtig ist zu erfahren?

Viele Grüße
rownn

Also es gibt Infos darüber, wohin man das Template speichern muss, damit C4Ds Character-Object darauf zugreifen kann.

Mir ist wichtig zu erfahren, ob man mit dem Rig ganz gut animieren kann, oder ob andere Controller/Userdata besser wären.
Und dann natürlich, ob nach einem Export als FBX (mit oder ohne “Backen” der Joint-Animationen) das Objekt gut in Unity ankommt und dort auch mit “Fremdanimationen” bestückt werden kann. Das heisst, dass Unity’s “Mecanim” System gut mit dem Rig klarkommt.
Ob es noch etwas wichtiges zu erfragen gibt, weiss ich eben nicht - weil ich ja selbst noch ganz am Anfang stehe. :slight_smile:

Schick mir Deine email und ich schick Dir das Template. Dann werden wir sehen, ob und was Du damit anfangen kannst.

Hallo Ihr Lieben,

hier bin ich nochmal mit meinem Character-Template für UNITY (habe es ganz frech „Petras_UNITY_Biped“ genannt.

Wozu das Ganze?

Ich möchte gerne mit C4D animierte Characters produzieren, die ich sowohl in Cinema, als auch in Unity benutzen kann.

Den Workflow für die Übergabe an UNITY möchte ich so einfach und schnell wie möglich gestalten und ich möchte,
dass der Character in UNITY ganz normal funktioniert wie ein nativer UNITY-Biped-Character. Also nicht über den „Legacy - Animation Type“,
sondern als „Humanoid“. Denn:

„Retargeting of Humanoid animations

One of the most powerful features of Mecanim is retargeting of humanoid animations. This means that with relative ease, you can apply the same set of animations to various character models. Retargeting is only possible for humanoid models, where an Avatar has been configured, because this gives us a correspondence between the models’ bone structure. „ Zitat aus UNITY Help-File.

Solltet Ihr also Lust haben, diesen Ansatz mal mit Eurem eigenen Character-mesh auszuprobieren: bei mir melden (ps@picturefactory.com) Ich schicke Euch dann das Character Template.

Wer beim Testen hilft darf das Template natürlich behalten und benutzen - nur nicht weitergeben.

Ich wüsste so gern, ob dieses Template und der Workflow halbwegs wasserdicht sind, oder ob ich ganz offensichtliche Probleme übersehen habe (wäre nicht das erste mal).

Auf jeden Fall schon mal danke fürs Lesen dieses Romans :wink:


Dies ist der Workflow, den ich getestet habe:

  1. Man braucht ein Model (mesh) von einem Zweibeiner - möglichst mit 4 Fingern und 1 Daumen.

  1. Ein C4D-Character-Object zur Scene hinzufügen und unter BUILD das „Petras_Unity_Biped“ auswählen und mit ein paar Klicks aufbauen.
    (geht genauso wie bei den komplexeren Templates - „Biped“ und „Advanced Biped“ - nur weniger Klicks, da die kompletten Hände mit den Armen mitgeliefert werden).

  1. Im Modus ADJUST das Rig dem Mesh anpassen.


  2. Im Modus BIND das mesh in das entsprechende Feld im Attribute-Fenster ziehen.

  1. Im Modus ANIMATE die Wichtungen der Joints korrigieren (viel Arbeit wie immer).

  2. Eine kleine Animation machen und die Länge des Projekts auf die Länge der Animation begrenzen (FBX exportiert das ganze Projekt).

  3. Ein Null-Objekt in der Position des Character-Objects generieren und sowohl das Mesh als auch das Character-Object unterordnen. Dem Null einen schönen Namen geben.

  4. Das Null-Objekt (mit dem schönen Namen :wink: ) als FBX (Versionen 2014 und 2016 funktionieren) ohne backen exportieren. Diesen Export macht am besten mit dem Plugin „CV-Smart Export“, denn da kann man angeben, dass nur das ausgewählte Objekt exportiert werden soll. Es geht aber auch mit dem Standard Export - da sollte man allerdings alle Objekte, die nicht zum Character gehören, vorher löschen.

————————————————————————————————————

in UNITY:

  1. Projekt öffnen (neu oder gespeichert).

  2. Das FBX in „Assets“ importieren. Wenn das FBX ausgewählt ist, zeigt einem UNITY den „Inspector“.
    Unter „Model“ gar nichts ändern.

Unter „Rig“ den Animation-Type auf „Humanoid“ setzten und Avatar Definition auf „Create from this model“ setzen.

„Apply“ klicken. Wenn alles gut gegangen ist, gibt es nun ein Häkchen vor der „Configure“ Taste.

  1. Wenn man will, kann man nun unter „Configure“ sehen, dass alle joints grün dargestellt sind, dass heisst, dass UNITY sie einem Avatar zugeordnet hat. Unter „Muscles and Settings“ kann man nun noch die „Beweglichkeit“ der einzelnen joints festlegen. Für diesen Test habe ich das alles nicht getan, sondern habe die Standard-Einstellungen gelassen.

  2. Unter „Animation“ sollte man eine Animation mit dem Namen „CINEMA_4D_Main“ finden. Und am unteren rechten Rand des Standard-Layouts in UNITY sollte ein preview der Animation sein.


5) Abspielen und sich kaput lachen!

Alles klar soweit??

Demnächst zeige ich Euch den Test mit “Retargeted Animation”. Muss aber erst ein Filmchen machen und auf YouTube bringen, da ich hier ja offenbar ausser .gif nichts Film-mässiges hochladen kann.

4 „Gefällt mir“

Hallo Petra, wie besprochen oder besser geschrieben setz ich mich am WE ran.
Meld mich per email.

von meiner Seite: TOPP. Danke für dein Vertrauen und die Umsetzung des open source Gedanken.
Stephan