Anleitung für PBR Materialien
Das Aussehen von 3D Modellen wird von deren Materialien bestimmt. Die Materialien die in Overte verwendet werden können sind Physically-based Rendering (PBR). Das bedeutet, das Materialien ungefähr so viel Licht absorbieren oder reflektieren, wie im echten Leben.
Einführung in Materialien, Texturen und Schattierungen
Das Aussehen eines 3D-Modells wird durch seine Materialien gesteuert. Bei einem 3D-Modell eines Schlüssels wird beispielsweise ein Material verwendet, das seine Farbe bestimmt, wie metallisch es aussieht und ob seine Oberfläche uneben oder glatt ist. Ein 3D-Modell einer Backsteinmauer hat ein Material, das seine Rauheit und Farbe bestimmt.
Da Overte Physik-basierte-Rendering-Materialien (PBR) unterstützt, verhält sich Ihr Modell bei Lichteinfall wie ein reales Objekt. Ein 3D-Modell eines Schlüssels wird beispielsweise glänzen und jedes Licht reflektieren, das auf ihn fällt. Das 3D-Modell einer Ziegelmauer glänzt nicht, reflektiert aber genug Licht, damit Sie die Farben und die Oberfläche des Objekts sehen können.
Ein Material enthält Textur- und Schattierungsinformationen.
Texturen
Texturen sind flache Bilder, die auf 3D-Modelle angewendet werden. Sie verleihen dem Material eines 3D-Modells ein detailliertes Aussehen. Bei einem 3D-Modell eines Baumstamms wird zum Beispiel eine Rinden-Textur verwendet, um zu zeigen, wie die Oberfläche aussieht.
Overte unterstützt die Verwendung der folgenden Texturformate:
PNG (empfohlen)
JPEG, JPG (empfohlen)
TGA
TIFF, TIF
For best performance, we recommend baking all 3D models (including textures) before loading them into Overte.
Schattierung
Da Overte PBR-Materialien unterstützt, stellt die verwendete Schattierung eine genaue Darstellung der Interaktion von Licht mit verschiedenen Materialoberflächen dar. Das bedeutet, dass Ihr 3D-Modell bei unterschiedlichen Lichteinstellungen nicht gleich aussieht. Die PBR-Schattierung verfügt über eine Reihe von Materialparametern oder Kanälen, die geändert werden können, um verschiedene Arten von Materialien zu erstellen.
Bemerkung
Sie können Shader mit Materialentitäten auf Form- und Zonenentitäten kombinieren, um Shader auf Modelle und Avatare anzuwenden. Diese Funktion wurde als experimentelle Funktion veröffentlicht und wurde noch nicht gründlich getestet. Wenn Sie die Anwendung prozeduraler Materialien auf Modelle oder Avatare auf eigene Gefahr ausprobieren möchten, finden Sie weitere Informationen unter Prozedurale Shader für Modelle und Avatare.
Materialkanäle
Materialkanäle bestimmen verschiedene Parameter wie die Glätte oder die Farbe eines Materials. Sie können den Wert eines jeden Kanals auf zwei Arten bestimmen:
- Setting a Value: The value of a channel is a value set on a slider. Setting a value is like turning off or turning on a switch.
Wenn Sie z. B. Ihr Telefon betrachten, sind einige Teile davon glänzend und andere matt. Wenn Sie einen Wert verwenden, spiegelt das gesamte Objekt diesen Wert wider. Wenn Sie möchten, dass verschiedene Teile eines Objekts unterschiedliche Rauhigkeiten widerspiegeln, müssen Sie eine Texturkarte verwenden.
- Using a Map: The map is an image which you can import to define a property. You may use a map to apply a texture to your 3D model.
For instance, your phone may have a case that is matte, while the rest of your phone is shiny. You can use a map to set the case as matte and the phone as shiny.
Alle Materialien in Overte haben die folgenden Kanäle, über das Ihr Aussehen bestimmt wird:
Kanal-Typ |
Beschreibung |
Value |
Map |
---|---|---|---|
Albedo |
Dieser Kanal definiert die Farbe des Materials. Sie können einen beliebigen Farbwert Ihrer Wahl verwenden. |
sRGB |
sRGB |
Metallisch |
This channel determines how metallic the material is. Metal refracts light different than other materials. |
[0,1] |
[0,1] |
Roughness |
This determines how rough/matte or glossy/shiny an object is. |
[0,1] |
[0,1] |
Normal |
"Normal" ist ein Kanal, der ein Objekt so wiedergibt, als ob es eine tatsächliche Geometrie hätte. Mit Normalen werden beispielsweise Unebenheiten und andere Unregelmäßigkeiten auf einem Stein oder Rillen auf einer Muschel hinzugefügt. |
xyz |
Beule (bump) |
Opacity |
Die Opazität bestimmt, ob ein Objekt transparent oder undurchsichtig ist. |
[0,1] |
Maske (mask), Alpha |
Okklusion |
Mit dieser Eigenschaft wird die Schattierung so natürlich wie möglich nachgebildet. Das bedeutet, dass die Interaktion von Licht mit Objekten nachgebildet wird. |
--- |
[0,1] |
Emittierend |
This channel controls the amount of light that is coming from an object. |
sRGB |
sRGB |
Streuung |
Die Streuung bestimmt, wie sich das Licht verhält, wenn es auf die menschliche Haut trifft. Dieser Kanal simuliert, wie Licht vom menschlichen Körper reflektiert oder absorbiert wird. |
[0,1] |
[0,1] |
Material-Typ |
This channel decides if an object is impacted by light. |
[normal (lit) , nicht beeinflusst (unlit)] |
--- |
Notes:
If you set transparency with a texture, the transparency (alpha) must be in the material’s albedo texture, as a file with transparency and not as a separate transparency texture.
Der Overte-Renderer kann zwei verschiedene Arten von Transparenz zeichnen: „Alpha“ (255 Stufen der Transparenz, keine Schattierung auf der Oberfläche, wirft keine Schatten) und ‚Maske‘ (binäre Transparenz, volle Schattierung der undurchsichtigen Oberfläche, die ganze Oberfläche wirft Schatten.)
Um festzustellen, ob eine Textur als Maske oder als Alpha behandelt wird, sucht die Engine nach Alpha-Werten zwischen 2% und 98%.
Wir unterstützen die Verwendung eines zweiten UV-Sets nur mit den folgenden Texturkanälen: Emissive Textur, Normal-Map und Ambient Occlusion.
Beispielmaterialien und ihre Texturen und Schattierungen
Overte unterstützt verschiedene Arten von Materialien. Wir haben Beispielobjekte mit jedem Materialtyp erstellt. Sie können jedes Objekt aus diesem Repository <https://github.com/overte-org/hifi_tests/tree/master/assets/models/material_matrix_models/fbx/blender>`_ auf GitHub herunterladen oder dieses Skript <https://raw.githubusercontent.com/overte-org/hifi_tests/master/assets/models/material_matrix_models/material_matrix.js>`_ in Overte ausführen, um alle Beispielobjekte in Ihre Domain hochzuladen.
Wir haben alle Materialinformationen (einschließlich Texturen, Schattierung und Channel-Werte und -Maps) für diese Beispielobjekte hier aufgelistet.
Materialwerte in Blender einstellen
Warnung
Dieser Abschnitt ist veraltet.
Wenn Sie ein Modell in Blender erstellen, müssen Sie es im FBX-, glTF-, GLB- oder OBJ-Format exportieren, um es in Overte zu verwenden. Außerdem müssen Sie die Materialeigenschaften und Texturen in Blender ändern, damit sie mit den PBR-Materialtexturen in Overte übereinstimmen.
Auf diese Weise wird sichergestellt, dass Ihr Modell so aussieht, wie Sie es sich vorstellen.
By default, any material property set with a texture will override a property set with a value. The only exception to this is in the case of vertex color and a texture, in which case the vertex color and texture will multiplied together. This can be useful for creating highly performant colored models using grey-scale textures and vertex colors.
We've included images where the fields corresponding to each supported PBR channel in Blender are highlighted, along with details about which values and colors correspond to the range corresponding with that channel. It should be noted that models exported as OBJ may not have full PBR material support in Overte yet.
Set Material Values in Maya
Warnung
This section hasn't been tested in a long while and might be outdated.
Use the graphics below to set the right material values and textures in Maya.
Siehe auch