Der Resource-Editor

Allgemeines

Der "Resource-Editor" ist zum Konfigurieren von Benutzerschnittstellen bei Nodes gedacht. Hier können Sie eigene Parameter und Datentypen definieren, die dem Nutzer im "Material-Editor" angezeigt werden sollen, wenn ein Node-Material editiert wird. Dabei können auch verschiedene Strings für die verschiedenen Sprachversionen von Cinema 4D hinterlegt werden.

Ein Anwendungsbeispiel können Sie bereits beim Übermaterial sehen, das zwar ein auf Nodes basierendes Material ist, jedoch den von Standardmaterialien gewohnten Dialog im "Material-Editor" bietet.

Die verschiedenen Gruppen und Parameter dieser Einstellungen wurden über den "Resource-Editor" definiert.

Wenn Sie bereits ein Node-Material oder einen Node-Shader im "Node-Editor" geöffnet haben, lässt sich nach einem Rechtsklick in den "Node-Editor" und Auswahl von Resource bearbeiten direkt der "Resource-Editor" als separates Fenster öffnen.

Im Bereich der Ziffer 1 finden Sie eine Übersicht über alle bereits vorhandenen Attribute bzw. Eigenschaften. Im "Vorlagen"-Bereich bei Ziffer 2 steht eine Liste gängiger Datentypen für neue Attribute und oft benötigter Ordnungselemente (Gruppen und Separatoren) zur Verfügung. Der mittlere Teil des "Resource-Editors" bei der Ziffer 3 zeigt die verfügbaren Einstellungen zur ausgewählten Eigenschaft an. Schließlich ist ganz rechts bei Ziffer 4 noch ein "Attribute-Manager" integriert, über den direkt die angelegten Ports, Attribute und Eigenschaften in ihrer Darstellung und Funktion überprüft werden können.

Der "Resource-Editor" ist in verschiedene Arbeitsbereiche aufgeteilt. Links befindet sich eine Spalte, die eine Übersicht über die bereits vorhandenen und die selbst angelegten Eigenschaften und Datentypen liefert. Das Prinzip ist dabei vergleichbar mit dem Anlegen eigener Benutzerdaten über das "Benutzer"-Menü des "Attribute-Managers". Einträge lassen sich dabei in Gruppen organisieren.

Der untere Teil der linken Spalte zeigt die "Vorlagen". Damit sind die bereits standardmäßig von Cinema 4D verwendeten Datentypen und Benutzerinterfaces für Eingaben gemeint, die ebenfalls für die eigenen Parameter zur Verfügung stehen. Hier finden Sie z.B. Farbfelder, Texteingabefelder oder Optionen-Checkboxen. Über einfaches Drag&Drop lassen sich einzelne Einträge aus den "Vorlagen" direkt in den darüber liegenden Arbeitsbereich ziehen.

Die mittlere Spalte des "Resource-Editors" zeigt die Beschreibung des aktuell ausgewählten Parameters an. Hier können sie z.B. bei Zahlenwerten die zulässigen minimalen und maximalen Beschränkungen oder die Nutzung eines Reglers im Interface aktivieren. Auch speziellere Eigenschaften, z.B. ob ein Parameter überhaupt sichtbar sein oder mit welchen Einheiten er hantieren soll, können hier vorgegeben werden.

Die rechte Spalte des "Resource-Editors" zeigt schließlich alle aktivierten Parameter und Eigenschaften des Nodes an, so wie sie ein Benutzer des Nodes dann im "Attribute-Manager" oder im "Material-Editor" angezeigt bekommt.

Beispielhafter Workflow

In vielen Fällen werden Sie zuerst ein neues Node-Material erzeugen und dieses im "Node-Editor" öffnen. Sie können nun bereits das Material mithilfe der diversen Material-Nodes konstruieren oder sich zumindest Gedanken über sinnvolle Eingänge zum Material machen, über die dessen Aussehen zu steuern sein soll. In einfachen Fällen sind dies z.B. Farbwerte oder Helligkeiten, die vorgegeben werden können, aber auch Möglichkeiten zum Verknüpfen von Texturen und anderer Zahlenwerte zum Steuern von Intensitäten sind sinnvoll.

Je komplexer die Eigenschaften eines Materials sind, desto mehr macht es Sinn, die Bedienung des Materials zu vereinfachen, um es auch zukünftig bei anderen Projekten einsetzen zu können. Wie dies einmal aussehen kann, können Sie am Übermaterial von Cinema 4D sehen. Es handelt sich dabei um ein normales Node-Material, das jedoch nicht über den Node-Editor bedient werden muss, sondern nach einem Doppelklick den von Standardmaterialien gewohnten "Material-Editor" zur Verfügung stellt.

Hierfür gehen Sie so vor, dass Sie alle Nodes Ihres Materials selektieren und dann in einer Gruppe zusammenfassen. Dazu können Sie das Tastenkürzel Alt+G verwenden oder aber im "Erzeugen"-Menü des "Node-Editors" den Befehl "Nodes gruppieren" aufrufen, der zusätzlich als Icon in der Kopfleiste des "Node-Editors" zur Verfügung steht.

Nach dem Gruppieren der Material-Nodes legen Sie in dem dunklen Streifen am linken Rand des Nodegraphen die Ports an, die dem Nutzer im Attribute-Manager oder Material-Editor zur Verfügung gestellt werden sollen. Am einfachsten gelingt dies, wenn Sie die entsprechenden Eingang-Ports Ihrer Nodes in den linken Randstreifen des Nodegraphen ziehen.

Öffnen Sie anschließend diese neue Nodes-Gruppe über einen Klick auf das Pfeil-Icon unterhalb des Vorschaubereichs am Gruppe-Node. Sie können nun wieder die Material-Nodes sehen, die innerhalb der Gruppe problemlos um weitere Nodes erweitert oder editiert werden können. Auch das Anlegen weiterer Gruppen innerhalb der umfassenden Gruppe ist kein Problem und kann Ihnen bei komplexen Materialien helfen, die Übersicht über separate Berechnungszweige eines Materials zu bewahren.

Immer wenn Sie nun Daten an die Nodes innerhalb dieser Gruppe leiten möchten, die später im Material-Editor zum einfachen Editieren zur Verfügung gestellt werden sollen, legen Sie dafür Eingang-Ports innerhalb der obersten Node-Gruppe an. Dies kann auf unterschiedlichen Wegen umgesetzt werden:

  1. Die einfachste Option besteht darin, den Eingangs-Port, den Sie im Benutzerinterface zur Verfügung stellen möchten, per Drag&Drop auf den linken grauen Streifen des Node-Bereichs im "Node-Editor" zu ziehen. Es erscheint anschließend ein Kontextmenü in dem Sie "Port herausführen" auswählen. Es entsteht dadurch ein neuer Eingang-Port direkt am Material, der mit dem ursprünglich gezogenen Port verbunden wird. Der neue Eingang-Port übernimmt automatisch den Namen, den Standardwert und den Datentyp des gezogenen Ports.
  2. Wenn Sie einen Eingang-Port erzeugen möchten, der noch keine Verbindung zu Ports innerhalb Ihres Node-Materials aufweist, führen Sie einfach einen Rechtsklick auf den linken grauen Streifen im Node-Bereich des "Node-Editors" aus und wählen aus dem Kontextmenü "Eingang hinzufügen > Eingang hinzufügen". Es wird dadurch ein Eingang-Port an der Gruppe erzeugt, der noch keinen Wert oder Datentyp hat und über keine Verbindungen zu Nodes verfügt. Dies kann dann sinnvoll sein, wenn Sie bereits wissen, welche Daten in das Material geleitet werden sollen, das Node-Material aber noch nicht vollständig definiert wurde und daher noch nicht alle Nodes bereit zum Verschalten der Eingänge sind. Den Standardwert, den Datentyp und die Art des Benutzerinterfaces für diesen manuell erzeigten Eingang-Port am Material können Sie über den "Resource-Editor" festlegen. Führen Sie dazu einen Rechtsklick in den "Node-Editor" aus und wählen Sie "Resource bearbeiten". In der linken Spalte des "Resource-Editors" finden Sie dann den neuen Port und können diesen nach dem Selektieren konfigurieren.
  3. Eine dritte Option zum Hinzufügen von Eingang-Ports am Material bietet sich direkt im geöffneten "Resource-Editor". Ziehen Sie dort aus den "Vorlagen" den gewünschten Datentyp direkt in den darüber liegenden Verwaltungsbereich für die Eingänge oder wählen Sie im "Eigenschaften"-Menü des "Resource-Editors" den Punkt "Eigenschaften hinzufügen" aus.

Nach dem Hinzufügen der gewünschten Eingänge werden deren Datentypen und Einstellungen im "Resource-Editor" ggf. angepasst und bezüglich des Benutzerinterfaces konfiguriert. Wir gehen auf diese Optionen im Anschluss noch ein.

Nachdem alle Eingang-Ports angelegt und mit passenden Eingängen an den Material-Nodes in der Gruppe verbunden wurden, verlassen Sie die Darstellung der Gruppe, indem Sie im "Verlauf" des "Node-Editors" bis auf die "Node"-Ebene des Materials zurückspringen. Selektieren Sie den Gruppe-Node und wählen anschließend "Als Start-Node definieren" im "Node"-Menü des "Node-Editors". Sie finden diesen Befehl auch als Icon in der Titelleiste des "Node-Editors".

Wird nun das Node-Material im "Material-Editor" doppelt angeklickt, öffnet sich statt des "Node-Editors" der "Material-Editor" und bietet dort die angelegten Eingang-Ports an.

Ist das Material so gut gelungen, dass Sie es öfter auch in anderen Projekten nutzen möchten, können Sie es zusätzlich als Asset unter einem individuellen Namen speichern lassen. Es wird dann z.B. in der Voreinstellungen-Datenbank für Materialien abgelegt und kann bequem über den "Assets"-Bereich des "Node-Editors" abgerufen werden.

Über den "Resource-Editor" lassen sich die Datentypen, die grafischen Benutzerinterfaces und die Namen von angelegten Ports editieren. Ebenso können hier auch direkt neue Ports bzw. Attribute erstellt und in Gruppen strukturiert werden. Das Ergebnis kann sofort im rechten Teil des Editors in einem Attribute-Manager überprüft werden. Das Bild zeigt beispielhaft die Einstellungen für eine Gruppe, über die sich Ports strukturieren und in der Bedienung übersichtlicher gestaltet lassen.

Material-Ressourcen

Nachdem ein Node-Material im "Node-Editor" geöffnet und der "Resource-Editor" aufgerufen wurde, finden sich im Verwaltungsbereich bereits einige Einträge, die jedes Material bereits mitbringt. Dazu gehört z.B. der "Vorschau"-Bereich, der aus den beiden Vorschaurenderings besteht, die bei Material-Nodes die eigene Funktion sowie das am Ende verknüpfte Gesamtmaterial darstellen.

Ebenso immer vorhanden ist die "Basis"-Rubrik, über die dem Asset oder der Gruppe ein individueller Name gegeben werden kann.

Darunter finden Sie eine Auswahlmöglichkeit für die Asset-Version, um ggf. überarbeitete Versionen einfacher verwalten zu können. Wird eine Node-Gruppe oder ein Asset erstmalig über den "Resource-Editor" konfiguriert, kann hier nur "Neueste" als Asset-Version ausgewählt werden.

Die übrigen Einstellungen der "Basis"-Rubrik sind dann eher kosmetischer Natur, denn durch Aktivieren von Benutzerdefinierte Node-Farbe können sie dem Asset über den Node-Farbe Farbwähler noch eine individuelle Färbung geben.

Die Einträge für "Eingänge" und "Ausgänge" stehen stellvertretend für alle Ein- und Ausgangsports der Gruppe bzw. des Assets. Hier können Sie später ggf. eigene Ports unterordnen, aber an den Einstellungen dieser Kategorien selbst kann nichts editiert werden.

Voreinstellungen

Alle folgenden Einstellungen für die individuellen Benutzerdaten und Ports einer Gruppe oder eines Assets können direkt in verschiedenen Sprachen konfiguriert werden, damit auch nach dem Umschalten der Sprache in Cinema 4D möglichst eine passende Übersetzung Ihrer Parameter angezeigt werden kann. In der Regel wird es so sein, dass zumindest die englische Sprache als Basis installiert wurde. Zusätzlich könnte dann z.B. auch noch Deutsch bei Ihnen installiert sein. Es macht in solchen Fällen Sinn, zuerst alle Einstellungen für das universelle, englische Layout vorzunehmen und danach die Namen der Parameter z.B. für die deutsche Spracheinstellung zu ergänzen.

Sprache

Wählen Sie hier zuerst "en-US – English" als Basissprache von Cinema 4D aus, um alle benötigten Nutzerdaten und Ports anzulegen und zu beschreiben. Ist das geschafft, schalten Sie in diesem Menü z.B. auf "de-DE – Deutsch" um, um sinnvolle deutsche Namen für Ihre Parameter einzutragen. Sind noch weitere Sprachen bei Ihnen installiert, kann dieser Vorgang entsprechend oft durch Umschalten der Sprache wiederholt werden, um beliebig viele Sprachversionen Ihrer Nutzerdaten anzulegen. Sind Sprachen mit noch nicht übersetzen Strings vorhanden, werden diese durch Symbole mit einem kleinen Warnzeichen markiert (s. diese Abbildung).

Datenbank

Die Daten verschiedener Programmteile, Module oder Plug-Ins werden in unabhängigen Datenbanken gespeichert. Diese Datenbanken werden beim Programmstart automatisch vom Modul/Plug-In angemeldet und stehen dann hier zur Auswahl.

ID

Intern werden verschiedene Objekte durch einzigartige Nummern, die sogenannten IDs unterschieden. Das Dropdown-Menü erlaubt die Auswahl des entsprechenden Objekts. Wird über den Resource-Editor ein Objekt bearbeitet, bleiben dafür die Datenbank und die ID gesperrt.

Anlegen und Verwalten von Eigenschaften

In der Regel werden Sie nicht nur einen einzelnen Parameter zur Steuerung der Materialeigenschaften verwenden, sondern eine größere Anzahl von Werten, die thematisch gruppiert werden sollten. Sie kennen dieses Prinzip bereits von anderen Materialien her, wo z.B. eine Gruppierung entsprechend der zu steuernden Materialeigenschaft erfolgt. So sollten Eigenschaften für die Farbe, das Relief, die Spiegelung oder das Displacement sauber getrennt in eigenen Gruppen verwaltet und dem Nutzer angeboten werden, um die Übersichtlichkeit zu erhöhen. Zudem ergibt sich dann auch die Option, Teile der Einstellungen nur optional zur Verfügung zu stellen. So ist z.B. die Berechnung von Displacement oder Leuchten nicht in jedem Material gewollt. Entsprechend können diese Einstellungen dann auch nur bei Bedarf angezeigt werden. In der Regel nutzt Cinema 4D hierzu eine Liste von Optionen in der linken Spalte des "Material-Editors", um dort die bei der Materialberechnung gewünschten Materialkanäle aktivieren zu können.

Die Gruppe

Eine Gruppe kann zum Zusammenfassen mehrerer Eingänge und zur Steuerung von Layoutoptionen für Ihre Parameter verwendet werden.

Der "Resource-Editor" bietet Ihnen genau diese Möglichkeit durch die Nutzung von Gruppen an, in denen Sie Ihre Nutzerdaten und Eigenschaften organisieren können. Die einfachste Option zum Erstellen einer Gruppe bietet sich durch das Ziehen des "Group"-Eintrags aus dem "Vorlagen"-Bereich des "Resource-Editors" in das darüber liegende Verwaltungsfenster. Eine Gruppe bietet selbst noch keine Einflussmöglichkeit durch den Nutzer, stellt jedoch wichtige Optionen zur Verfügung, wie dem späteren Nutzer die Einträge dieser Gruppe angezeigt werden sollen.

Gruppen erleichtern die Ordnung von Parametern bei der Darstellung im Attribute-Manager oder im Material-Manager. In diesem Beispiel wurden die Einstellungen für große und feine Kratzer in zwei getrennten Gruppen verwaltet, um die ansonsten gleichlautenden Portnamen voneinander trennen zu können.

Allgemein

Hier finden Sie Einstellungen, die sich normalerweise direkt aus der Art der gewählten Eigenschaft ergeben und daher nicht editiert werden können.

Befehl

Hier wird der Typ der gewählten Eigenschaft angezeigt. Bei einer Gruppe lesen Sie hier z.B. "group" oder bei einem Eingabewert "attribute". Bei anderen Spezialtypen von Eigenschaften kann es sich um den Befehl "separator" handeln, der einfach nur einen Trennstrich im Nutzerdialog erzeugt und dadurch die Lesbarkeit komplexer Einstellungen verbessern kann. Ebenso möglich ist z.B. auch der Befehl "preset", falls es sich bei dem Element um ein Auswahlmenü für Voreinstellungen handelt, wie es z.B. bei der Auswahl eines Fresnel-Brechungsindex verwendet wird.

Identifikator

Jede Eigenschaft erhält eine eindeutige Identifikation, die aus einer Serie von Buchstaben, Zeichen und Ziffern besteht und automatisch vergeben wird. Mithilfe dieser Kennung können später auch Beziehungen zwischen Gruppen und Attributen hergestellt werden, um z.B. Gruppen nur dann anzuzeigen, wenn eine entsprechende Aktivierungsoption angeschaltet wurde. Ein Identifikator kann selbst nicht über das Textfeld editiert oder selektiert werden, aber Sie können den Identifikator durch einen Rechtsklick auf sein Namensfeld und die Auswahl von "Kopieren" in der Zwischenablage sichern lassen und so an anderer Stelle einfügen lassen.

UI

In dieser Einstellungsgruppe finden Sie hauptsächlich Optionen, mit denen die Darstellung der gewählten Eigenschaft und das Layout im "Material-Editor" gesteuert werden kann.

Gruppen-ID

Falls gewünscht können Sie hier einen eigenen Identifikator für die Gruppe hinterlegen. Dies kann eine beliebige Kombination aus Kleinbuchstaben, Punkt, Unterstrich und Ziffern sein. Die Gruppen-ID darf jedoch nicht mit einer Ziffer beginnen. Zudem sollte auf Großbuchstaben verzichtet werden.

Wenn Sie dieses Feld leer lassen, wird automatisch der Identifikator aus den "Allgemein"-Einstellungen als Kennung verwendet.

Gruppe in Portliste anzeigen

Nur wenn diese Option aktiv ist, wird die Gruppe selbst auch als Eintrag in der Portliste des "Node-Editors" angezeigt. Diese Steuerungsmöglichkeit lässt sich unabhängig von den Einträgen in der Gruppe nutzen. Das Ausschalten dieser Option lässt also die Darstellung der in der Gruppe vorhandenen Eigenschaften in der Portliste unverändert.

Anzeigebedingung

Die Darstellungen der Gruppe lässt sich von Optionen abhängig machen. Hierfür tragen Sie einfach den Namen der jeweiligen Option in geschweiften Klammern in dieses Feld ein. Beispiele könnte so aussehen: {Checkbox} oder {Value}<5.0 oder {Text}=="text" oder {Enum}=="enumvalue". Zusätzlich steht ein Formelparser hinter dieser Funktion, der auch Klammerterme erlaubt. Alternativ funktioniert auch das Kopieren und Einfügen des Identifikators der entsprechenden Option.

Voreinstellungsmäßig geöffnet

Wie von XPresso-Benutzerdaten bekannt, lassen sich Gruppen von Einstellungen über ein vorangestelltes Dreiecksymbol auf- und zuklappen. Ist diese Option aktiv, wird die Gruppe automatisch aufgeklappt dargestellt, sodass alle untergeordneten Einträge in der Portliste sichtbar sind.

Titelleiste anzeigen

Jede Gruppe beginnt standardmäßig mit einem in der Helligkeit abgesetzten Titelbereich, in dem der Name der Gruppe zu lesen ist. Wenn Sie diese Darstellung nicht möchten, schalten Sie diese Option aus. Die in der Gruppe enthaltenen Parameter werden dann nicht länger eingerückt im "Attribute-Manager" angezeigt.

Spalten

Dieser Zahlenwert steuert die Anzahl der Spalten für diese Gruppe. Bei zwei Spalten werden dann z.B. immer bis zu zwei Eigenschaften nebeneinander angezeigt.

Ausblenden, wenn Inline

Diese Option versteckt einen Parameter und zeigt dessen Wert und Interface nicht länger an, wenn das zugehörige Objekt im Attribute-Manager unter einem Linkfeld ausgeklappt wird.

Text

Siehe Text.

Attribute definieren

Attribute bilden die eigentlichen Parameter oder Einstellungen, die Sie einem Nutzer des Materials zur Einstellung zur Verfügung geben möchten. Um Attribute übersichtlich und in einem ansprechenden Layout zu präsentieren, kann das "Group"-Element verwendet werden, über das u.a. auch der zweispaltige Aufbau eines "Material-Editors" realisiert werden kann.

Ein neues Attribut können Sie auf mehreren Wegen erzeugen. Entweder Sie ziehen direkt den gewünschten Eintrag aus dem "Vorlagen"-Bereich des "Resource-Editors" in die darüber liegende Liste oder Sie wählen im "Eigenschaften"-Menü des "Resource-Editors" den Eintrag "Eigenschaften hinzufügen". Attribute stehen in diversen Datentypen zur Verfügung. Es ist daher sinnvoll, dass Sie sich bereits vor dem Aufruf oder dem Erzeugen eines neuen Attributes Gedanken zu dessen Typ machen.

Die Datentypen eines Attributs bzw. Ports entscheiden über die Art der Eingabe und auch über die Bedienelemente. Aus diesem Grund sollte den Daten-Einstellungen einer Eigenschaft besonders viel Aufmerksamkeit geschenkt werden. Die gängigsten Datentypen lassen sich bereits als Voreinstellung über den Vorlagen-Bereich des Resource-Editors oder über das Eigenschaften-Menü abrufen.

Die Datentypen

Der Datentyp eines Attributs bestimmt darüber, wie diese Eigenschaft später angezeigt, ausgewertet und vom Nutzer bedient werden kann. Eine Farbe nutzt nun einmal andere Parameter als ein Textfeld. Entsprechend unterschiedlich fallen die Bedienelemente aus. Schauen wir daher kurz auf die gängigsten Datentypen bei Parametern bzw. Attributen, so wie Sie diese auch in den "Vorlagen" des "Resource-Editors" finden können.

Daten

In dieser Einstellungsgruppe können Sie jederzeit den Datentyp eines selektierten Attributs verändern oder andere Einstellungen, z.B. zur Einheit oder zu Begrenzungen des zugelassenen Wertebereichs vornehmen.

Datentyp

Hier können Sie den aktuellen Datentyp ablesen oder auch umschalten

Einstufung

Diese Einstellung legt die Art des Attributs fest. Sofern Sie sich hier auf eine Einstufung festgelegt haben, kann diese Eingabe nicht länger korrigiert werden. In der Regel werden Sie hier "input" wählen, damit ein Eingangsport entsteht, über den der vom Nutzer eingetragene Wert an das Material durchgereicht werden kann. Alternativ hierzu kann auch "output" gewählt werden. Das Attribut wird dadurch ebenfalls ein Port, diesmal jedoch an der Ausgangsseite der Gruppe oder des Assets. So lassen sich dann nutzerdefinierte Werte auch aus der Node-Gruppe hinausleiten.

Eine dritte Wahlmöglichkeit nennt sich "data" und stellt das konfigurierte Attribut ebenfalls für den Nutzer als Eingabe zur Verfügung, bietet dafür jedoch keinen Port an.

Die neutrale Einstufung nennt sich "none" und lässt das Attribut vorerst unbestimmt.

Einheit

Hier können Sie die gewünschte Einheit z.B. eines Zahlenwerts vorgeben. Die Einheit entscheidet dann z.B. auch darüber, ob es sich bei einem Zahlenwert um einen Winkel oder eine Maßangabe handelt. Zur Wahl stehen hier "Prozent (%)", Grad (°), "Meter" und "Zeit". Bei Auswahl von "Keine" bleibt der Zahlenwert ganz ohne Einheit.

Standardwert

Hier wählen Sie die Farbe, Einstellung oder den Wert aus, der beim ersten Aufruf des Dialogs für diesen Parameter verwendet werden soll. Dies stellt sicher, dass ein Material z.B. auch ohne dass ein Nutzer zuerst alle Einstellungen vornimmt, schon ein Ergebnis anzeigt. Das Format des Standardwerts verändert sich je nach gewähltem Datentyp. Bei Bool-Parametern wird nur ein Optionsfeld angeboten, bei Farben ein Farbfeld oder bei Float-Parametern z.B. ein Zahlenfeld.

Wertbeschränkung

Diese Option aktiviert zusätzliche Eingabefelder, über die sich eine zulässige Ober- und Untergrenze für Eingaben definieren lässt.

Minimalwert / Maximalwert

Je nach gewähltem Datentyp und Gui-Typ-ID können hier voneinander unabhängige Vorgaben gemacht werden, zwischen denen sich Nutzereingaben am Attribut bewegen müssen. Vom Betrag her kleinere Eingabe werden auf den Minimalwert erhöht, größere Eingaben werden auf den Maximalwert beschränkt.

Wenn die Gui-Typ-ID "net.maxon.ui.data" zum Einsatz kommt, lassen sich zusätzlich zu den Minimal- und Maximalwerten auch noch die Datentypen für das zulässige Minimum und Maximum bestimmen.

Enum Liste

Dieses Element steht Ihnen z.B. beim Datentyp "Int" oder bei "InternedId" zur Verfügung und erlaubt das individuelle Anlegen einer Liste von Einträgen, die am Attribut als Menü angeboten werden. Im Fall des Datentyps "Int" füllen Sie die Liste mit den Identifikationsnamen der Menüeinträge und setzen jeweils einen Doppelpunkt gefolgt von einer fortlaufenden Ziffer dahinter.

Überschreibbar (für Takes)

Eine Vorgabe, um diesen Wert auch über das Take-System von Cinema 4D überschreiben zu können.

Ist variadisch

Hiermit kann dem Attribut über Anzahl variadische Ports eine beliebige Anzahl von Unterwerten zugewiesen werden. Per Variadische Befehle lassen sich Befehle registrieren, die dann als Schaltflächen, wie z.B. "Hinzufügen" oder "Entfernen" erscheinen und in ihrer Funktion als Programmcode ausgeführt werden müssen.

Ist-Konstant-Parameter

Falls aktiviert, kann dieser Port nur mit einem statischen Wert belegt werden. Der Wert darf sich also z.B. während des Renderings nicht verändern. So dürfte so ein Port dann z.B. nicht länger mit dem Ausgang eines Farbverlauf- oder Noise-Nodes verbunden werden.

Ist-Vorlage-Parameter

Hiermit wird die Variable als sogenannte "Template Variable" gekennzeichnet, so wie sie auch in C++ existiert. So eine Variable verfügt über keinen festgelegten Datentyp und kann zur Speicherung von statischen Werten verwendet werden. Ein typisches Beispiel wäre eine Variable für die Kreiszahl π, die als Float ausgelesen dann 3.1415… liefern würde und als Integer schlicht die Zahl 3.

Ist-Konvertierungs-Port

Wenn diese Option aktiv ist, werden andere an diesen Port angeschlossene Datentypen nach Möglichkeit in das native Format des Ports umgerechnet.

Ist-Standard-Vorschau-Port

Diese Option sollte jeweils nur für einen Ausgangsport am Node gesetzt werden, denn darüber wird dieser Port bevorzugt für die Berechnung des Vorschaubilds am Node verwendet.

Einheiten vom Ausgang kopieren

Wenn diese Option gesetzt ist, übernimmt ein Eingang-Port automatisch die Einheit eines damit verknüpften Ausgang-Ports.

UI

Bei den Einstellungen in der UI-Gruppe geht es hauptsächlich um die Darstellung des Attributs im Material-Editor und im Attribute-Manager.

In dieser Einstellungsrubrik finden Sie hauptsächlich Darstellungsoptionen für das Attribut, dessen Port und seine Abhängigkeit von anderen Gruppen oder Attributen.

Port in Nodegraph verbergen

Diese Option entspricht dem Befehl "Port verbergen" des "Node-Editors" und blendet den Port des Attributs in der Darstellung des Nodes standardmäßig aus. Verborgene Port lassen sich aber jederzeit wieder einblenden und sind zu jeder Zeit im Attribute-Manager sichtbar.

Material-Editor – auf linker Seite anzeigen

Diese Option ist vorrangig für die Optionen gedacht, die unterhalb der Materialvorschau in der linken Spalte des "Material-Editors" für die Aktivierung der Materialkanäle angezeigt werden.

Material-Editor – Gruppenaktivierungs-ID

Mithilfe dieser Option lassen sich andere Gruppen in Abhängigkeit zum Zustand einer Option ein- oder ausschalten. Denken Sie dabei an die Materialkanäle im "Material-Editor". Erst durch das Aktivieren der "Relief"-Option wird dann z.B. die Einstellungsgruppe mit den Relief-Parametern aktiviert. Diese Option kann nur bei Attributen vom Typ "Bool" verwendet werden. Als Gruppenaktivierungs-ID verwenden Sie den Identifikator einer Gruppe.

Gui-Typ-ID

Oft stehen zu dem gewählten Datentyp verschiedene Interfaceelemente zur Verfügung, die Sie hier auswählen können. Zur Wahl stehen:

Gruppen-ID

Sobald ein Attribut in eine Gruppe gelegt wird, finden Sie hier automatisch den Identifikator der Gruppe wieder. In der Regel ist dieses Feld daher nicht manuell auszufüllen.

Anzeigebedingung

Hier können Sie den Namen oder den Identifikator z.B. einer Option eintragen. Nur wenn die Option aktiviert wurde, ist dann dieses Attribut auch im Nutzerdialog sichtbar. Bei komplexeren Datentypen können auch konkrete Werte überprüft werden, wie z.B. mit der Bedingung {Mein Wert}==2. Das Attribut wird in diesem Fall nur dann angezeigt, wenn der Parameter mit dem Namen "Mein Wert" den Zustand oder Wert "2" annimmt. Aber auch Strings lassen sich auf diese Weise auswerten, wenn diese entsprechend in Anführungszeichen gesetzt werden, also z.B. {Mein Text}=="Hallo". Wenn mehrere Bedingungen gleichzeitig zutreffen müssen, verwenden Sie die Zeichen "&&", um das logische "und" zu simulieren und legen die zu überprüfenden Terme in eine umfassende runde Klammer, wie z.B. hier:

({Mein Wert}==2 && {Mein Text}=="Hallo")

Aktivierungsbedingung

Dieser Parameter funktioniert genau wie Aktivierungsbedingung, nur dass das Attribut hierbei nicht ausgeblendet, sondern nur ausgegraut wird, wenn die verknüpfte Option deaktiviert wurde.

Übergeordneter Ordner: ID

Ermöglicht das Erstellen von aufklappbaren Gruppen im Attribute-Manager. Die Gruppe, die aufklappbar sein soll, muss eine eindeutige ID erhalten. Alle Parameter die über Übergeordneter Ordner: ID diese ID zugewiesen bekommen, werden dann zusammen ein- oder ausgeblendet.

Enum-Liste

Im Fall der Gui-Typ-Id "net.maxon.ui.enum" tragen Sie hier die Identifikatoren aus der Enum Liste des "Daten"-Bereichs ein, so wie sie im Menü des Attributs erscheinen sollen.

Optionale Unterobjekt-Strings

Wenn aktiv, werden die Strings aus Listeneinträgen nicht zur Übersetzung vorgeschlagen.

Schieberegler anzeigen

Aktiviert die zusätzliche Einblendung eines Schiebereglers neben dem Eingabefeld für eine Zahl.

Wertbeschränkung

Die Option aktiviert zusätzliche Vorgaben für einen Minimalwert und einen Maximalwert, die vor allem bei Verwendung eines Schiebereglers zum Einsatz kommen und begrenzen dann den vom Schieberegler steuerbaren Wertebereich.

Minimalwert / Maximalwert

Diese Einstellungen definieren die obere und untere Wertgrenze für interaktive Steuerelemente an einem Zahlenwert. Beachten Sie, dass diese Werte nicht zwingend mit der Wertbeschränkung aus der "Daten"-Einstellungsgruppe übereinstimmen müssen, da sie sich nur z.B. auf den direkt durch einen Regler ansteuerbaren Wertbereich beziehen. Kleinere oder größere Werte lassen sich innerhalb des "Daten"-Wertbereichs jederzeit durch direkte Zahleneingabe am Attribut verwenden.

Schrittweite

Hier legen Sie die Schrittweite fest, mit der sich der Attributwert durch Anklicken der kleinen Pfeile am Eingabefeld oder durch Verwenden des Scrollrads verändern lässt.

Mehrzeiliges Feld

Diese Option steht bei String-Attributen zur Verfügung und aktiviert die vergrößerte Eingabemaske für Texte.

Nur Lesen

Diese Option sperrt das Textfeld eines String-Attributs für die Eingabe und stellt den Standardwert des Strings ausgegraut dar.

Text

Im Textbereich der Attributeinstellungen finden Sie hauptsächlich ein Eingabefeld für den Namen des Attributs. Beachten Sie, dass sich dabei das Textfeld immer auf die aktuell gewählte Sprache bezieht, die Sie im linken oberen Teil des Resource-Editors umschalten können. So lassen sich verschiedene Übersetzungen für die unterschiedlichen Sprachversionen von Cinema 4D definieren, die Sie unterstützen möchten.

In dieser Einstellungsgruppe finden Sie hauptsächlich den Namen für die gewählte Eigenschaft. Für eine Gruppe kann also hier z.B. der Name eingetragen werden, der in der Überschrift der Gruppe bzw. für den Reiter im "Attribute-Manager" verwendet werden soll. Bei Attribut-Eigenschaften kann hier der Name eines Farb- oder Zahlenwerts vorgegeben werden. Beachten Sie, dass diese Eingaben abhängig sind von der gewählten Sprache. Beginnen Sie möglichst mit der Sprache "en-EN – English" und tragen Sie dafür den gewünschten Namen der Gruppe oder des Attributs bei Text ein. Anschließend schalten Sie die Sprache auf einen anderen Eintrag um, und ergänzen für Text die sprachlich passende Übersetzung des Parameter- oder Gruppennamens.

Mehrzeiliges Textfeld

Erlaubt nach Aktivierung die Eingabe mehrzeiliger Texte für die Parameter Text und Referenztext.

Text

Eingabefeld für den Namen der selektierten Gruppe oder des gewählten Attributs.

Referenztext

Nach dem Umschalten der Sprache finden Sie hier als Referenz den Gruppen- oder Parameternamen, so wie er z.B. für die Einstellung "en-EN – English" getätigt wurde. So fällt Ihnen das Eintragen der zur gewählten Sprache passenden Übersetzung leichter.

Alter Referenztext

Hier finden Sie einen ggf. früher vergebenen Namen für den Parameter, der mittlerweile durch einen neuen Text ersetzt wurde. Um den aktuellen Text tatsächlich für die gewählte Eigenschaft und Sprache übernehmen zu lassen, müssen Sie die Schaltfläche für Übersetzung bestätigen betätigen. Ansonsten kann es vorkommen, dass Warn-Icons in der Eigenschaftsliste angezeigt werden, um auf noch nicht bestätigte Übersetzungen hinzuweisen.

Nächster nicht Übersetzter

Springt zum nächsten, nicht übersetzen Text einer Fremdsprache (nicht en-US). Jede Änderung an der Basissprache Englisch führt dazu, dass alle anderen Sprachen als unübersetzt markiert werden.

Vorschläge...

Öffnet ein Popup-Fenster mit ähnlichen Übersetzungen.

Externes Diff-Tool öffnen...

Besonders bei langen Texten kann das Vergleichen von zwei Texten unter Zuhilfenahme eines separaten Tools hilfreich sein. Dazu muss die Umgebungsvariable oder der Commandline-Parameter "g_externalCompareTool" gesetzt sein. Z.B.: g_externalCompareTool="C:\Program Files (x86)\Beyond Compare 4\BCompare.exe"

Noch nicht bestätigte Benennungen eines Attributs werden durch ein Warn-Icon markiert. Überprüfen Sie in diesen Fällen die Eingabe des Text-Felds in den verschiedenen Sprachen und bestätigen Sie diese durch Return oder den Button Übersetzung bestätigen.

Übersetzung bestätigen

Die Betätigung dieser Schaltfläche übernimmt die Text-Eingabe als aktuelle Übersetzung des Parameternamens in der gewählten Sprache. Ausstehende Bestätigungen werden in der Eigenschaftsliste des "Resource-Editors" durch Warn-Icons angezeigt.

Entwicklung

In dieser Rubrik finden Sie bei Attributen zusätzliche Optionen, die bei der Verwaltung mehrerer Versionen eines Assets und dessen Ressource hilfreich sein können.

Kommentar

Hier können Sie z.B. Beschreibungstexte zu einem Attribut hinterlassen, um dessen Aufgabe zu dokumentieren. Dies kann bei einer späteren Ergänzung oder Veränderung an dem Material eine hilfreiche Gedächtnisstütze sein. Die hier abgelegten Informationen bleiben vor dem normalen Nutzer des Materials verborgen.

Ignorieren in Headerdatei

Für Entwickler werden C++-Headerdateien direkt aus dem Tool exportiert. Falls diese Option gesetzt ist, wird dieses Attribut nicht nach C++ exportiert.

String vererben

Erlaubt bei includes den String zu vererben, ohne dass er neu übersetzt werden muss.

Optionaler Text

Wenn ausgewählt, werden Übersetzer nicht dazu gezwungen, den Text zu übersetzen.

Menüeinträge im Resource-Editor

In den Menüs des Resource-Editors finden Sie Einträge zum Anlegen eigener Datentypen und zum Erstellen, Kopieren und Löschen von Attributen.

Datenbank-Menü

Alle Datenbanken speichern

Sichert alle Datenbanken auf der Festplatte.

Datentyp-Menü

Datentyp hinzufügen

Hiermit erstellen Sie einen eigenen Datentyp, der Sie zur Eingabe eines Namens auffordert. Nach der Bestätigung leert sich der "Resource-Editor" und Sie können dem neuen Datentypen neue Eigenschaften z.B. aus dem "Vorlagen"-Bereich oder dem "Eigenschaften"-Menü zuweisen.

Datentyp umbenennen

Es öffnet sich für den aktuell selektierten Datentyp ein Dialog, über den Sie dessen Namen editieren können.

Datentyp duplizieren

Erstellt eine Kopie des ausgewählten Datentyps.

In Datenbank verschieben

Legt den selektierten Datentyp in einer Datenbank ab, deren Namen Sie in einem sich öffnenden Dialog eintragen können.

Datentyp löschen

Entfernt den aktiven Datentyp aus der Datenbank.

Eigenschaften-Menü

Über dieses Menü lassen sich Attribute, also z.B. Gruppen und Ports, erstellen, kopieren und löschen. Die verfügbaren Typen von Eigenschaften entsprechen denen des "Vorlagen"-Bereichs im "Resource-Editor".

Eigenschaften hinzufügen

Es öffnet sich ein Menü, über das Sie den gewünschten Typ des neuen Attributs, bzw. eine Gruppe oder einen Separator aufrufen können.

Kopieren / Einfügen

Speichert das selektierte Attribut in der Zwischenablage, bzw. kopiert das Attribut aus der Zwischenablage in den "Resource-Editor". Die gleichen Befehle finden Sie auch nach einem Rechtsklick auf eine Eigenschaft in einem Kontextmenü. Dort sind zudem zwei zusätzliche Varianten zu finden. Über Copy ID kann der Identifikator der entsprechenden Eigenschaft gemerkt werden. Über den Befehl Paste (keep Ids) wird eine perfekte Kopie des kopierten Attributs eingefügt. Es erfolgt also keine Aktualisierung des Identifikators. Dies sollte die Ausnahme bei speziellen Anwendungen bleiben, da normalerweise alle Identifikatoren eindeutig sein sollten.

Löschen

Entfernt die selektierte Eigenschaft und somit dessen Port aus dem "Node-Editor. Den gleichen Effekt hat ein Rechtsklick auf eine Eigenschaft und die Auswahl von "Entfernen". Beachten Sie, dass diese Aktion nicht Rückgängig gemacht werden kann!