Referenz Cinema 4D Grundfunktionalitäten BodyPaint 3D Die Austausch-Plugins
Funktion verfügbar in CINEMA 4D Prime, Visualize, Broadcast, Studio & BodyPaint 3D

BodyPaint 3D und Maya

Das Austausch-Plugin unterstützt die Maya-Versionen ab 2012.

Bevor es losgehen kann, beachten Sie diese Punkte:

Beachten Sie, dass im Folgenden immer von BodyPaint 3D die Rede ist, obwohl es dieses als Produkt garnicht mehr gibt. Es ist dann immer der BodyPaint 3D-Funktionskomplex innerhalb von Cinema 4D gemeint.

Das Maya-BodyPaint 3D Austausch Plugin ermöglicht das Texturieren von Maya-Objekten in BodyPaint 3D. Die zu texturierenden Objekte werden direkt aus Maya heraus nach BodyPaint 3D gesendet, dort bearbeitet und anschließend zurück exportiert. Dazu übermittelt das Plugin die Geometrie-, Material-, Licht-, UV- und eventuell schon vorhandene Texturdaten nach BodyPaint 3D. Beim Zurücksenden nach Maya werden die Textur- und Materialdaten übertragen und in der Szene aktualisiert.

Maya -> BodyPaint 3D (BodypaintExchange.mll/bundle)

Zuerst müssen in Maya die Objekte mit Materialien versehen werden. Bitte beachten Sie, dass die verwendeten Materialien schon die gewünschten Eigenschaften aufweisen, da in BodyPaint 3D der Materialtyp nicht geändert werden kann (wenn beispielsweise in BodyPaint 3D einem Lambert-Material eine Spiegeltextur zugewiesen wird, kann nach dem Zurücksenden an Maya diese Textur nicht automatisch im Material gesetzt werden). Die Objekte selbst werden alle als Polygon-Objekte exportiert. Dazu wandelt das Plugin NURBS- und SubdivSurface-Objekte mittels der MEL-Commandos nurbsToPoly und subdivToPoly in polygonale Objekte um. Alle Geometriedaten werden entsprechend dem angegebenen Faktor skaliert. Die Objektachsen zentriert der Exporter innerhalb der Objekte, um das weitere Handling innerhalb von BodyPaint 3D zu vereinfachen (Drehen der Kamera um das Objekt). Alle UV-Sets legt das Exchange-Plugin auch in BodyPaint 3D an. Bei per-face Materialien werden Selektions-Tags erzeugt und diesen das jeweilige Material zugewiesen. Die aktuelle Kameraposition wird übernommen und im BodyPaint 3D Editor gesetzt. Alle Lichtobjekte überträgt das Plugin mit den entsprechenden Eigenschaften (soweit möglich). Alle Materialeigenschaften werden auf BodyPaint 3D Materialien übertragen (s. Transfer-Beschränkungen). Polygone mit mehr als 4 Punkten trianguliert das Exchange-Plugin und versteckt diese neu erzeugten Kanten in BodyPaint 3D. Den Befehl für das Exportieren von Objekten Send to Bodypaint finden Sie im Menü von Maya unter BodyPaint 3D. Beim Klick auf das rechte Icon öffnet sich der Austausch-Dialog.

Der Austausch-Dialog

Für das Austauschen der Objekte steht Ihnen eine Anzahl von Einstellmöglichkeiten zur Verfügung.

BodyPaint 3D Path (BodyPaint 3D Pfad)

Hier müssen Sie angeben, wo sich die Cinema 4D Applikation befindet. Geben Sie den vollen Pfad des Programms an.



    Wählen Sie die entsprechende Datei:

    • Cinema 4D.exe (bzw. Cinema 4D.app)

Hinweis:
Unter macOS muss die Auswahl von Cinema 4D unter Verwendung der Taste "Select" erfolgen. Ein Doppelklick auf den Dateinamen funtioniert nicht.

Default Texture Path (Standard-Textur-Verzeichnis)

Dieser Pfad gibt den Ort an, wo BodyPaint 3D neu erzeugte Texturen standardmäßig speichert. Bitte überprüfen Sie, ob der Pfad gültig und nicht schreibgeschützt ist, da sonst der Dateiaustausch nicht funktioniert.

Austausch-Objekte (Objects to Exchange)

Mit dieser Option können Sie bestimmen, ob die gesamte Szene oder nur die selektierten Objekte nach BodyPaint 3D gesendet werden.

Objekt-Skalierung (Object Scale)

Dieser Skalierungsfaktor gibt an, wie stark das Objekt in BodyPaint 3D vergrößert wird. Das ist notwendig, da sonst in Maya erstellte Objekte aufgrund der verschiedenen 3D-Koordinatensysteme in BodyPaint 3D viel zu klein sein würden. Der voreingestellte Faktor von 100 sorgt für eine angemessene Größe.

NURBS -> Use Cage Points and Subdivision Surface

Mit dieser Option legen Sie fest, dass aus einem Nurbs-Objekt ein Low-Polygonmodell anhand der Cage-Punkte erzeugt wird.

In BodyPaint 3D wird dieses Polygon-Objekt in einem Subdivision-Surface-Objekt angelegt. Das resultierende Objekt entspricht weitestgehend dem NURBS-Objekt in Maya.

NURBS -> Use RebuildSurface

Verwenden Sie diese Option nur, wenn Sie Probleme mit den UV-Koordinaten haben. Damit werden NURBS-Objekte vor dem Senden mit dem MEL-Befehl rebuildSurface umgewandelt, um z.B. Überschneidungen im UV-Raum zu vermeiden.

SUBDIV -> Use Cage Points and Subdivision Surface

Hiermit erzeugt das Plugin aus Subdivision-

Surface-Objekten Low-Polygonmodelle, welche dann in BodyPaint 3D in ein Subdivision Surface gelegt werden.

Resize UVs to Fit Subdivision Surface

Durch die Use Cage Points and Subdivision Surface Umwandlung kann es vorkommen, dass sich die UV-Koordinaten auf einen viel zu großen Bereich erstrecken. Durch diese Option wird der gesamte UV-Raum automatisch auf den Bereich (0.0,0.0) – (1.0,1.0) skaliert.

Allow to modify UVs

Unter bestimmten Voraussetzungen können die UV-Koordinaten jetzt (bei älteren Maya-Versionen muss die UV-Bearbeitung in Maya selbst vorgenommen werden) in BodyPaint 3D geändert und zurück zu Maya geschickt werden. Dazu muss zuvor allerdings in Maya die "Construction History" gelöscht werden. Sollte dies nicht gemacht worden sein, gibt es eine Fehlermeldung in Maya. Die UVW-Tags werden dann in BodyPaint 3D gesperrt (manuelles Entsperren hilft hier aber auch nicht weiter, Maya weist die UV-Änderung dann zurück).

Do Not Wait for BodyPaint 3D (One Way)

Um Daten nur nach BodyPaint 3D zu schicken und nicht wieder zurück nach Maya, können Sie diese Option wählen. Maya wartet dann nicht auf die Rücksendung der Daten.

Hinweis:
Alle im Austausch-Dialog eingestellten Werte werden beim Speichern der Maya-Einstellungen mitgespeichert.

Nach dem Klicken auf Ok öffnet sich das Warte-Fenster in Maya.

Nach dem Starten von Cinema 4D kommt dieses Programm in den Vordergrund und Sie können sofort mit dem Bemalen der Objekte beginnen (wechseln Sie ggf. in das BodyPaint 3D Layout).

Zurücksenden an Maya

Um die bearbeiteten Objekte zurück nach Maya zu schicken, gehen Sie einfach im Datei-Menü auf Zurücksenden an Maya.

Jetzt werden alle Texturen gespeichert und die Texturpfade in Maya auf das neue Textur-Verzeichnis gesetzt. Alle Eigenschaften der Materialien werden aktualisiert. Nach dem Zurücksenden verschwindet das Warte-Fenster und Maya kommt wieder in den Vordergrund.

Hinweis:
An den Objekt- und Materialnamen sollten keine Änderungen vorgenommen werden; ansonsten könnte es vorkommen, dass die Szene nicht korrekt aktualisiert werden kann.

Transfer-Beschränkungen

Maya und Cinema 4D sind beides Programme mit einer unzähligen Anzahl von Features. Es bleibt deswegen nicht aus, dass sich Unterschiede ergeben in Hinsicht auf das Handling von Objekten, UV-Koordinaten, Materialien und Texturen. Als Konsequenz daraus gibt es einige Beschränkungen, die Sie kennen sollten.

Grundsätzlich werden nur Textur- und Material-Daten zurück nach Maya geschickt.

Materialien

Vor dem Exportieren nach BodyPaint 3D müssen Sie Ihre Objekte in Maya mit Materialien versehen. Jedes Material wird mit allen Eigenschaften in BodyPaint 3D entsprechend erzeugt, soweit die jeweilige Materialeigenschaft vorhanden bzw. in ihrer Interpretation nicht zu unterschiedlich ist. Einem Material wie beispielsweise Lambert, welches keinen Spiegelungskanal besitzt, kann nach dem Zurücksenden an Maya eine in BodyPaint 3D erstellte Reflektivitäts-Textur nicht automatisch zugewiesen werden. Hierzu müssen Sie das Material mit einem ersetzen, welches die gewünschte Eigenschaft besitzt, und im dort vorhandenen Kanal die jeweilige Textur von Hand einstellen (alle Texturen werden bei Zurücksenden im angegebenen Texturverzeichnis gespeichert). Shading-Gruppen werden nicht unterstützt.

Das Plug-in nimmt die Zuordnung der Texturkanäle folgendermaßen vor:

Maya BodyPaint3D
ColorFarbe
DiffusionDiffusion
IncandensenceLeuchten
TransparencyTransparenz
Reflected ColorReflektivität< (Spiegelungs-Ebene)
Ambient ColorUmgebung
Bump (nur Textur)Relief
Specular ColorReflektivität (Glanzlicht-Ebene)

Texturen

Schon vorhandene Texturen, die Sie in Maya zugewiesen haben, werden beim Senden an BodyPaint 3D in den angegebenen Texturordner kopiert. In BodyPaint 3D können Sie Texturen beliebig hinzufügen oder entfernen. Für neue Texturen werden in Maya File-Nodes im Material angelegt und dort der jeweilige Texturname gesetzt. Bei nicht vorhandenen Texturen werden die File-Nodes gelöscht. Spezielle Shader oder Texturkanäle können nicht übertragen werden. Sofern aber ein Farb-Kanal vorhanden ist, wird dieser übermittelt. Um eine Textur in einem unbekannten Kanal zu erstellen, können Sie z.B. den Farb-Kanal benutzen und die Textur nach dem Zurücksenden per Hand dem eigentlichen Kanal zuweisen.

UVs

Die UV Koordinaten werden von allen Objekten nach BodyPaint 3D übertragen.

Hinweis:
UV-Koordinaten werden wegen technischer Beschränkungen nur begrenzt berücksichtigt. Benutzen Sie zur UV-Bearbeitung stattdessen die ebenbürtigen UV-Werkzeuge von Maya.

Troubleshooting

Error: Cannot find command BodypaintExchange

Die Datei BodyPaintExchange.mll (PC) bzw. BodyPaintExchange.lib (macOS) fehlt im ../Maya/bin/plug-ins/ Verzeichnis oder im Plugin-Manager wurde das Plugin nicht geladen. Dazu überprüfen Sie bitte, ob sich die MEL-Scripte im angegebenen Ordner befinden (Installationsanleitung).

Error: Execute BodyPaint 3D

Der Exporter kann die ausführbare Datei von Cinema 4D nicht finden. Bitte setzen Sie den Cinema 4D-Pfad auf die entsprechende Datei.

Es kommt nicht die gesamte Szene in BodyPaint 3D an

Dies geschieht aufgrund eines MEL-Bugs, der bei Select all nicht alle Objekte selektiert. In diesem Fall müssen Sie alle Objekte der Szene manuell selektieren und dann die Selektion statt der ganzen Szene transferieren.

Anmerkung für Macintosh-Anwender

Unter ungünstigen Bedingungen (z.B. zu kleiner Speicher auf der Grafikkarte, OpenGL-Version, etc.) kann es nach dem Zurücksenden eines Projekts nach Maya zu Darstellungsfehlern bei einer in BodyPaint 3D neu erzeugten Textur kommen. Zum Beispiel wird statt der gemalten Textur der aktuelle Bildschirminhalt auf das Objekt gemappt. Dies ist kein Fehler von BodyPaint 3D.

Das Problem kann behoben werden, indem man in Mayas Material-Einstellungen unter Hardware-Texturing die Texture-Resolution z.B. auf Medium stellt.

Hinweis:
Bei Verwendung von macOS kann es zu Abstürzen von Maya kommen, wenn die bei Verwendung des Austausch-Plugins benutzten Festplatten/Ordner bzgl. Lese- und Schreibrechten nicht vollständig freigegeben sind.