Topic mit Navigation öffnen

# Beschreibung der Direct Link-Funktionen

Übersicht

- Nutzung von Direct Link in Cinema 4D

- Importeinstellungen für den Direct Link-Austausch

- Redshift Lichtquellen
- Redshift Kameras
- Importeinstellungen der Advanced-Rubrik

- Datenaustausch über das Datasmith-Datenformat

Hinweis

Die Erläuterungen auf dieser Seite betreffen den direkten Austausch von Daten, wobei in Cinema 4D geöffnete Projekte direkt an die Unreal Engine geschickt werden können. Veränderungen in Cinema 4D lassen sich synchronisieren und dadurch unmittelbar auch in Unreal sichtbar machen. Informationen zum klassischen Import von gespeicherten .c4d-Szenen in Unreal sind auf dieser Seite beschrieben.

## Nutzung von Direct Link in Cinema 4D

Sind die hier beschriebenen Plugin-Komponenten zur Direct Link-Funktion in Cinema 4D und dem Unreal Editor installiert, lassen sich in Cinema 4D geöffnete Projekte direkt zu Unreal schicken. In Cinema 4D vorgenommene Änderungen können anschließend synchronisiert und somit auch im Unreal Editor sichtbar gemacht werden, ohne die Cinema 4D-Szene jedes Mal erneut manuell speichern zu müssen. Dabei gehen Sie so vor:

1. Erstellen oder laden Sie die gewünschten Objekte, Materialien und Animationen in Cinema 4D. Dabei wird mindestens Cinema 4D Version 2025 benötigt.
2. Falls das Projekt noch nicht gesichert wurde, speichern Sie es in Cinema 4D z. B. über Datei/Projekt inkl. Assets speichern... oder einfach über Datei/Projekt speichern als..., falls keine externen Assets verwendet werden.
3. Rufen Sie Direct Link/Direct Link Sync im Erweiterungen-Menü auf. Hierdurch wird das aktuelle Projekt in dem Datasmith-Format gespeichert und für Unreal entsprechend als Direct Link-Projekt markiert. Beachten Sie, dass auch mehrere Projekte gleichzeitig in Cinema 4D geöffnet und nacheinander für den Direct Link aktiviert sein können. Sie erhalten dann im Unreal Editor die Option, die gewünschten Projekte zu selektieren, die dort neu geladen oder synchronisiert werden sollen.
   Beachten Sie, dass für diesen Austausch auch Einstellungen zur Verfügung gestellt werden, z. B. um Animationen ein- oder auszuschließen oder die Intensitäten der Lichtquellen oder der Lichtempfindlichkeit an der Kamera zu beeinflussen. Hierfür steht das unter Punkt 4 beschriebene Zahnrad-Symbol hinter Direct Link Sync zur Verfügung.

   Speichern eines Projekts in Cinema 4D für den synchronisierten Austausch mit dem Unreal Editor.

4. Für diesen Datenaustausch lassen sich auch einige Voreinstellungen tätigen, die Sie durch einen Klick auf das Zahnrad-Symbol hinter Direct Link Sync aufrufen können:

   - Animation: Aktivieren Sie diese Option, um ggf. vorhandene Animationen mit zu übergeben. Beachten Sie dabei, dass Simulationen vorher als Caches gespeichert oder zu Keyframes gebacken werden müssen.
   - Light Intensity Scale: Ein Multiplikator für die Intensitäten aller Lichtquellen. Passen Sie diesen Wert ggf. ab, falls Sie Ihre Lichter generell heller (Werte über 1.0) oder dunkler (Werte unter 1.0) an die Unreal Engine übergeben möchten.
   - Camera ISO Scale: Ein Multiplikator für den ISO-Wert der Kameras, also deren Lichtempfindlichkeit. Größere ISO-Werte lassen die aufgenommene Szene für Kameras heller erscheinen. So können Sie auch hier mit Werten über 1.0 die Bildhelligkeit in der Unreal Engine verstärken und mit Werten unter 1.0 die Szene für die Kameras dunkler erscheinen lassen.

     Optionen beim Öffnen der Direct Link-Verbindung.

     Nach Bestätigung dieser Einstellungen über die OK-Schaltfläche wird die Szene ebenfalls für den Austausch mit der Unreal Engine gespeichert.

5. In der Unreal Engine können Sie nun die Datei entgegennehmen. Dazu rufen Sie über das Schnellzugriff-Icon den Befehl Datasmith/Direct Link Import... auf.

   Aufruf der Direct Link-Funktion in Unreal.

6. Es öffnet sich ein Auswahldialog, in dem alle für den Direct Link markierten Cinema 4D-Projekte aufgelistet werden. In der Source-Spalte finden Sie die Namen der Cinema 4D-Projekte, was die Auswahl der richtigen Szene vereinfacht, falls mehrere zur Wahl stehen sollten. Klicken Sie auf die gewünschte Reihe und anschließend auf die Select-Schaltfläche. Sollten in der Auflistung Szenen fehlen, können Sie das Refresh-Icon in der linken unteren Ecke des Auswahlfensters betätigen, um die Liste aktualisieren zu lassen.

   Auswahlmöglichkeit für Direct Link-Projekte in der Unreal Engine.

7. Nach Auswahl des gewünschten Direct Link-Projekts werden Sie nach der Platzierung dieser Daten innerhalb Ihrer Unreal-Projektstruktur gefragt und es werden Ihnen die Optionen für die Dateiübernahme angezeigt (siehe nachfolgende Abbildung). Nach Betätigung der Import-Schaltfläche werden die entsprechenden Daten geladen. Im nachfolgenden Abschnitt erfahren Sie mehr zu diesen Importeinstellungen.

   Importeinstellungen für den Direct Link-Austausch

8. Wenn Sie die Daten in Cinema 4D aktualisieren möchten, nehmen Sie dort die gewünschten Änderungen vor und rufen anschließend erneut Direct Link/Direct Link Sync im Erweiterungen-Menü auf. Die Daten werden dadurch automatisch im Unreal Editor aktualisiert.

### Importeinstellungen für den Direct Link-Austausch

Die folgenden Optionen und Einstellungen stehen beim Laden einer synchronisierten Direct Link-Datei zur Wahl:

Geometry | Es werden Objekte und deren Geometrie als statische Meshes importiert. Beachten Sie, dass standardmäßig nur die Vorderseite der Polygone in Unreal sichtbar ist. Um beide Polygonseiten sichtbar zu machen, muss in Unreal für das Material der Geometrie die Option für Material Property Overrides>Two Sided aktiviert werden. Zudem werden aktuell noch keine mit Szenen-Nodes erstellten Objekte oder Geometrien beim Import unterstützt.
Materials & Textures | Materialien und die darin verwendeten Texturen werden geladen. Die dabei verwendete Auflösung für das Backen der Materialeigenschaften in Bitmap-Texturen kann separat in der Gruppe Node Material Textures gewählt werden. Beachten Sie, dass nicht alle nativen Cinema 4D-Shader und Nodes als Textur gebacken und importiert werden können. Sie sollten daher möglich bereits vor dem Speichern in Cinema 4D alle parametrischen Materialinformationen selbst als Texturen anlegen, sofern möglich. Zudem werden auch Redshift Node-Materialien unterstützt (keine XPresso-Materialien), wobei aktuell keine Displacement-Einstellungen übernommen werden. Materialien werden in der Regel in Unreal mit dem Default LIT Shading Model umgesetzt. Eine Ausnahme dazu bilden Redshift-Materialien, die über aktives Subsurface Scattering (SSS) verfügen, dessen Weight-Einstellung über 0 liegt. Bei diesen Materialien kommt entsprechend auch das Subsurface Scattering Shading Model in Unreal zum Einsatz.
Lights | Die Lichtquellen der Cinema 4D-Szene werden als Light Actors importiert. Beachten Sie, dass nicht alle Konfigurationsmöglichkeiten auch in Unreal verfügbar sind. Fläche-Lichter können z. B. nur rechteckig, scheibenförmig, zylinderförmig oder kugelförmig sein und werden im Unreal Editor dann generell als rechteckige Flächenlichter importiert. Auch die Verwendung mehrerer unendlicher Lichtquellen kann problematisch sein im Hinblick auf das Shading in der Unreal Engine. Grundsätzlich werden dabei auch Redshift-Lichtquellen unterstützt. Hier finden Sie weitere Informationen dazu.
Cameras | Importiert die Kamera-Objekte der Cinema 4D-Szene als Cine Camera Actors. Grundsätzlich werden dabei auch Redshift-Kameras unterstützt. Hier finden Sie weitere Hinweise dazu.
Animations | Animierte Eigenschaften werden importiert. Darunter fallen z. B. die klassischen Position-, Winkel- und Größe-Keyframesequenzen, aber auch die Rendersichtbarkeit der Objekte, um deren Sichtbarkeit zu animieren. Über Scripte oder z. B. XPresso-Schaltungen umgesetzte Animationen müssen vor dem Speichern in Cinema 4D als Keyframes gebacken werden. Animationen, bei denen sich die Anzahl, Reihenfolge oder Position von Oberflächenpunkten verändern, können als Geometry Cache importiert werden. Dies gilt auch für Simulationen, die als Cache gesichert wurden. Das Prinzip entspricht dabei der Nutzung des Allembic-Speicherformats, bei dem Animationen bildweise gesichert werden. Sie finden dazu eine separate Option in der Gruppe Geometry Caches, wodurch dann z. B. auch PLA-Keys importiert werden können. Durch Nutzung der Custom Frame Range-Option in der Animations-Rubrik kann auch nur ein Teil der C4D-Animation geladen werden.

#### Redshift-Lichtquellen

Durch eine Aktivierung der oben genannten Lights-Option lassen sich auch Lichtquellen aus Cinema 4D-Projekten in den Unreal Editor übernehmen. Dies gilt auch für Redshift-Lichtquellen, wobei davon jedoch nur diese Typen unterstützt werden:

- RS Point Light (Punktlichtquelle)
- RS Spot Light (Spotlichtquelle)
- RS Area Light (Flächenlichtquelle): Hierbei werden nur rechteckige Lichtformen direkt in Unreal unterstützt (Light Type Rect). Sonderformen, wie z. B. ein Redshift Dome Light oder auch eine Geometrie, die in Verbindung mit einem Redshift Area Light zur Beleuchtung verwendet wird, müssen in der Unreal Engine manuell umgebaut werden.
- RS Infinite Light (unendliche Lichtquelle)

Da in der Unreal Engine Lumen und Lux als Einheiten zur Bestimmung der Lichtleistungen verwendet werden und diese abhängig sind von der Größe einer Lichtquelle oder eines Lichtkegels, müssen Lichthelligkeiten und -Intensitäten umgerechnet werden.

Für Punktlichter (RS Point Light) gilt:

Redshift Einheit | Umrechnung in Unreal
--- | ---
Image | Intensity (lm) = Intensity / pi
Luminous Power | Intensity (lm) = Intensity
Luminance | Intensity (lm) = Intensity / (pi * 1000)
Radiant Power | Intensity (lm) = Intensity * LuminousEfficacy
Radiance | Intensity (lm) = Intensity * LuminousEfficacy / (pi * 1000)

Für Spotlichter (RS Spot Light) gilt das gleiche wie für Punktlichter, nur dass die Lichtintensität zusätzlich noch vom Öffnungswinkel des Spots beeinflusst wird:
Intensity (lm) = Intensity * (1 - cos(Winkel des Lichtkegels) * 0.5)

Für Flächenlichter (RS Area Light) gilt:

Redshift Einheit | Umrechnung in Unreal
--- | ---
Image | Intensity (lm) = Intensity * Area / 2pi
Luminous Power | Intensity (lm) = Intensity * Area
Luminance | Intensity (lm) = Intensity / (pi * 1000)
Radiant Power | Intensity (lm) = Intensity * LuminousEfficacy * Area
Radiance | Intensity (lm) = Intensity * LuminousEfficacy / (pi * 1000)

Für unendliche Lichter (RS infinite Light) gilt:

Redshift Einheit | Umrechnung in Unreal
--- | ---
Image | Intensity (lux) = Intensity * 500
Luminous Power | Intensity (lux) = Intensity * 200
Luminance | Intensity (lux) = Intensity / 10
Radiant Power | Intensity (lux) = Intensity * LuminousEfficacy / 17
Radiance | Intensity (lux) = Intensity * LuminousEfficacy / 17

#### Redshift Kameras

Auch in Cinema 4D-Projekten enthaltene Redshift-Kameras können übernommen werden. Dabei werden die folgenden Einstellungen übernommen:

- Der Wert für Brennweite (mm), so wie er in den Objekt-Einstellungen der Kamera zu finden ist.
- Die Breite der Sensorgröße, so wie sie über den X-Anteil des Größe (mm)-Werts in den Objekt-Einstellungen der Kamera eingestellt wird. Die Höhe des Sensors ergibt sich aus dem Seitenverhältnis-Wert aus der Ausgabe-Rubrik der Rendervoreinstellungen in Cinema 4D.
- Die Fokusdistanz aus der Optisch-Rubrik der Redshift-Kamera.
- Die Verschlusszeit (s), so wie sie in der Optisch-Rubrik der Redshift-Kamera zu finden ist.
- Belichtung (EV) oder Empfindlichkeit (ISO), je nach gewähltem Belichtungsart-Modus in der Optisch-Rubrik der Kamera.
- Die Blende (f/#) aus der Optisch-Rubrik der Redshift-Kamera.
- Ein zugewiesenes Ziel-Objekt innerhalb einer Ausrichten-Expression für die automatische Ausrichtung der Kamera auf einen Actor. Das entsprechende Ziel-Objekt wird als Actor to Track innerhalb der Lookat Tracking Settings in Unreal verwendet.
  Um das Nachführen einer Scharfstellung (zugewiesenes Objekt in den Schärfentiefe-Einstellungen der Redshift-Kamera) auch in Unreal nutzen zu können, müssen Sie in an der importierten Redshift-Kamera in deren Focus Settings manuell auf Focus Method Tracking umschalten und dann dort für Actor to Track das entsprechende Objekt manuell zuweisen.

#### Importeinstellungen der Advanced-Rubrik

Min Lightmap Resolution | Unreal kann bereits an den Objekten vorhandene oder selbst berechnete UV-Abwicklungen zum Backen von Beleuchtungsinformationen (sogenannte Lightmaps) nutzen. Dadurch kann die Darstellung von statischen Objekten unter statischer Beleuchtung beschleunigt und qualitativ höherwertig umgesetzt werden. Mit dieser Einstellung wird dabei die kleinstmögliche Auflösung für eine der entstehenden UV-Inseln vorgegeben. Generell entstehen immer quadratische UV-Map Kacheln.
Max Lightmap Resolution | Hiermit legen Sie die maximale Auflösung für die Erzeugung von Lightmaps fest. Beachten Sie, dass Sie diesen Wert auch nachträglich noch individuell für jeden Geometry Actor anpassen können. Für den Import sollten Sie daher hier einen Durchschnittswert ansetzen.
Generate Lightmap UVs | Aktivieren Sie diese Option, damit Unreal beim Import selbst UV-Abwicklungen der Geometrie erstellt, die zum Backen von Lightmaps verwendet werden können. Falls die importierten Objekte bereits über passende UV-Abwicklungen verfügen, die auch für das Backen der Lightmaps verwendet werden sollen, kann diese Option ausgeschaltet bleiben. Dadurch wird nicht nur die benötigte Zeit zum Importieren verkürzt, sondern auch Speicher gespart, der ansonsten für die zusätzlich angelegten UV-Koordinaten benötigt würde. Bereits vorhandene UV-Koordinaten, die z. B. für die Zuweisung von Materialien genutzt werden, bleiben in jedem Fall erhalten.

## Datenaustausch über das Datasmith-Datenformat

Für den Austausch von Daten zwischen Cinema 4D und Unreal kann auch das Datasmith-Format verwendet werden. Dazu bereiten Sie Ihre Daten in Cinema 4D vor und speichern dort das Projekt normal z. B. über Projekt speichern als... im Datei-Menü. Werden externe Assets verwendet, wie z. B. Texturen in Materialien, sollten Sie für das erste Sichern stattdessen Projekt inkl. Assets speichern...nutzen, das Sie ebenfalls im Datei-Menü finden. Dadurch werden alle verwendeten Assets gesammelt und zusammen mit der Projektdatei in einem Ordner abgelegt. Dies minimiert das Risiko, dass z. B. durch das Verschieben oder Löschen von Asset-Dateien auf Ihrem Rechner, die Verknüpfungen zu Ihrem Projekt verloren gehen.

Export der Szene als Datasmith-Datei

Anschließend können Sie Export to File (*.udatasmith) unter Erweiterungen/Unreal Direct Link aufrufen und eine Datasmith-Datei für die Unreal Engine speichern lassen (siehe obige Abbildung). Diese Datei kann im Unreal Editor direkt über das Schnellzugriff-Menü durch Aufruf von Datasmith/File Import... geladen werden. Die Optionen des Imports einer solchen Datei wurden hier für das Datasmith-Format ausführlich beschrieben.

Auch hierbei stehen wieder einige Voreinstellungen für den Export zur Verfügung, die Sie über das Zahnrad-Icon hinter dem Befehl Export to File (*.udatasmith) finden können. Diese Optionen sind identisch mit denen von Direct Link Sync:

- Animation: Aktivieren Sie diese Option, um ggf. vorhandene Animationen mit zu speichern. Beachten Sie dabei, dass Simulationen vorher als Caches gespeichert oder zu Keyframes gebacken werden müssen.
- Light Intensity Scale: Ein Multiplikator für die Intensitäten aller Lichtquellen. Passen Sie diesen Wert ggf. ab, falls Sie Ihre Lichter generell heller (Werte über 1.0) oder dunkler (Werte unter 1.0) an die Unreal Engine übergeben möchten.
- Camera ISO Scale: Ein Multiplikator für den ISO-Wert der Kameras, also deren Lichtempfindlichkeit. Größere ISO-Werte lassen die aufgenommene Szene für Kameras heller erscheinen. So können Sie auch hier mit Werten über 1.0 die Bildhelligkeit in der Unreal Engine verstärken und mit Werten unter 1.0 die Szene für die Kameras dunkler erscheinen lassen.

  Optionen beim Speichern der Szene im Datasmith-Format.

  Nach Bestätigung dieser Einstellungen über die OK-Schaltfläche wird die Szene ebenfalls im Datasmith-Format der Unreal Engine gespeichert.

Alternativ hierzu ermöglicht Cineware for Unreal auch, dass der Unreal Editor direkt Cinema 4D-Dateien öffnen kann (.c4d). Auch dieser Art der Zusammenarbeit wurde hier bereits beschrieben.