Files
D4rkst3randClaude Opus 4.8 a8ca7a6453 v2.2.0: Textur-Bake-Button (tileable, fuer Triplanar in UE) + UE-Material-Anleitung
- Bake BaseColor/Normal/Roughness/AO als PNG
- Nahtlos tileable via 4D-Torus-Projektion der UV (cos/sin u,v)
- Cycles-Bake mit Zustands-Restore, temporaere Bake-Plane + Cleanup
- docs/UE_Material_Triplanar.md: WorldAlignedTexture/Normal-Verdrahtung
- _deselect_all gegen transiente None-Refs nach Objekt-Removal gehaertet
- Live gegen Blender 5.1.2 getestet (4 Maps, Normal jetzt mit Struktur), Headless gruen

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-29 07:11:35 +02:00

102 lines
3.9 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Unreal-Material: Stylized Rock (Triplanar / World-Aligned)
Ziel: **ein** Material fuer **alle** Rocks. Dank Triplanar (world-aligned) wird die
Textur nach Weltposition projiziert unabhaengig von den UVs jedes einzelnen
Steins. Du musst also nichts pro Rock texturieren.
Die vier Maps kommen aus dem Addon (Panel *Rock Gen → Textur-Bake*):
| Datei | Inhalt | UE sRGB | Compression |
|------------------|-------------|---------|--------------------|
| `*_BC.png` | BaseColor | **an** | Default (BC7/DXT1) |
| `*_N.png` | Normal | aus | **Normalmap** |
| `*_R.png` | Roughness | aus | Default/Masks |
| `*_AO.png` | AO / Cavity | aus | Default/Masks |
> Die Normal Map ist OpenGL (+Y). In UE beim Import **„Flip Green Channel"**
> aktivieren (oder gruen einmalig invertieren), sonst wirkt das Relief eingedellt.
---
## 1. Texturen importieren
1. Die vier PNGs in den Content Browser ziehen.
2. Fuer `_N`: Compression = **Normalmap**, sRGB aus, **Flip Green Channel** an.
3. Fuer `_R` und `_AO`: sRGB **aus** (lineare Daten), Compression „Masks" ist ok.
4. `_BC`: sRGB **an** (Standard).
*(Optional, spart Samples: `_AO`, `_R` und ggf. Metallic in eine „ORM"-Textur
packen R=AO, G=Roughness, B=Metallic. Dann unten die einzelnen Sampler durch
einen ORM-Sampler + Component-Mask ersetzen.)*
---
## 2. Material anlegen
Neues Material `M_Rock_Stylized`, *Two Sided* aus, *Shading Model* Default Lit.
### Parameter (fuer Instanzen)
- **ScalarParameter** `WorldSize` (Default `256`) → Weltgroesse einer Kachel in
cm. Kleiner = Textur wirkt groesser/detaillierter.
- (optional) **ScalarParameter** `NormalIntensity` (Default `1.0`).
### BaseColor / Roughness / AO (World Aligned Texture)
Fuer jede der drei Maps einen **`WorldAlignedTexture`**-Node:
```
TextureObject(T_..._BC) ─┐
WorldSize (Scalar) ──────► WorldAlignedTexture ─► XYZTexture ─► BaseColor
```
- `WorldAlignedTexture` → Eingang **TextureObject** = die jeweilige Textur
(als *TextureObject*-Node, nicht *TextureSample*).
- Eingang **WorldSize** = `WorldSize`-Parameter.
- Ausgang **XYZTexture** verbinden:
- `T_..._BC`**Base Color**
- `T_..._R`**Roughness**
- `T_..._AO`**Ambient Occlusion**
### Normal (World Aligned Normal)
Normalen brauchen den speziellen Node **`WorldAlignedNormal`**:
```
TextureObject(T_..._N) ─► WorldAlignedNormal ─► XYZNormal ─► (FlattenNormal / Normal)
WorldSize ─────────────►
```
- Ausgang **XYZTexture (Normal)****Normal**.
- Intensitaet optional ueber `FlattenNormal` (Flatness = `1 - NormalIntensity`)
oder einen Multiply auf den XY-Anteil.
> `WorldAlignedTexture`/`WorldAlignedNormal` haben einen Haken
> **„Use World Space Normal to Blend"** bzw. eine `WorldSpaceNormal`-Eingabe
> Default passt fuer Rocks. Der Node blendet automatisch die drei Projektions-
> achsen (Triplanar).
---
## 3. Feinschliff (optional)
- **Farbvariation pro Instanz:** BaseColor mit `PerInstanceRandom` * einer leichten
Tint-Range multiplizieren → jeder Rock leicht anders, gleiche Textur.
- **Nahtlos in der Hoehe:** Da die Bake-Textur bereits nahtlos tilet, entstehen bei
Triplanar keine sichtbaren Kanten.
- **LODs:** Beim FBX-Import „Import LODs" an das Material gilt automatisch fuer alle
LOD-Stufen.
- **Lightmaps:** Der UV1-Kanal (Lightmap) aus dem Addon wird von UE fuer statische
Beleuchtung genutzt; das Triplanar-Material nutzt ihn nicht, das ist korrekt so.
---
## Kurzfassung der Verdrahtung
```
WorldSize(Scalar)
├─► WorldAlignedTexture(BC) ─► XYZTexture ─► BaseColor
├─► WorldAlignedTexture(R) ─► XYZTexture ─► Roughness
├─► WorldAlignedTexture(AO) ─► XYZTexture ─► Ambient Occlusion
└─► WorldAlignedNormal(N) ─► XYZNormal ─► Normal
```
Ein Material, liegt auf jedem Rock. Fertig.