feat(world): Rasen grün tönen statt roh sandfarben
leafy_grass ist roh sandfarben (Mittel der Diffuse-Kachel R 151, G 131, B 89). Seit der Park seine echte Fläche als eigene Schicht trägt (102 790 statt 16 798 m² im Parkrechteck), las er sich aus der Vogelperspektive wie eine Brache, während ihn die Minimap grün zeichnet. PARK_TINT 0xb4dc94 tönt Rot und Blau stärker ab als Grün; die Felder behalten ihren helleren FIELD_TINT und heben sich weiter ab. Im Browser abgestimmt (Task 12, Schritt 7) und vom Nutzer so gewählt. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
a7271d2331
commit
4f68a3f625
1 file changed
+8
-3
@@ -32,8 +32,13 @@ const FALLBACK_COLORS = {
|
|||||||
// also wird hier die hellere Straße (und die jetzt identisch texturierte Brücke)
|
// also wird hier die hellere Straße (und die jetzt identisch texturierte Brücke)
|
||||||
// abgetönt statt die Stadtfläche zu verändern.
|
// abgetönt statt die Stadtfläche zu verändern.
|
||||||
const ROAD_TINT = 0x999999;
|
const ROAD_TINT = 0x999999;
|
||||||
// Felder heben sich vom Rasen ab. material.color kann nur abdunkeln, also Rot und Blau stärker als Grün;
|
// leafy_grass ist roh sandfarben (Mittel der Diffuse-Kachel: R 151, G 131, B 89): aus der
|
||||||
// abgestimmt wird im Browser.
|
// Vogelperspektive las sich der Park wie eine Brache, während ihn die Minimap (overview.py) grün
|
||||||
|
// zeichnet. material.color kann nur abdunkeln, also Rot und Blau stärker als Grün. Im Browser
|
||||||
|
// abgestimmt (Task 12, Schritt 7).
|
||||||
|
const PARK_TINT = 0xb4dc94;
|
||||||
|
// Felder heben sich vom Rasen ab: dieselbe Textur, aber heller getönt als PARK_TINT — gemähter Platz
|
||||||
|
// im Rasen. material.color kann nur abdunkeln, also Rot und Blau stärker als Grün.
|
||||||
const FIELD_TINT = 0xc8f0b0;
|
const FIELD_TINT = 0xc8f0b0;
|
||||||
// Klone statt zweiter Ladevorgang: dieselben Texturen, eigene Tönung und eigener polygonOffset.
|
// Klone statt zweiter Ladevorgang: dieselben Texturen, eigene Tönung und eigener polygonOffset.
|
||||||
const CLONES = { field: { from: "park", tint: FIELD_TINT }, parking: { from: "roads" } };
|
const CLONES = { field: { from: "park", tint: FIELD_TINT }, parking: { from: "roads" } };
|
||||||
@@ -138,7 +143,7 @@ export function applyPolygonOffsets(materials) {
|
|||||||
|
|
||||||
export async function createMaterials(maxAnisotropy) {
|
export async function createMaterials(maxAnisotropy) {
|
||||||
const loader = new TextureLoader();
|
const loader = new TextureLoader();
|
||||||
const tints = { roads: ROAD_TINT, bridges: ROAD_TINT };
|
const tints = { roads: ROAD_TINT, bridges: ROAD_TINT, park: PARK_TINT };
|
||||||
const textured = MATERIAL_KEYS.filter((key) => !CLONES[key] && !SURFACE_COLORS[key]);
|
const textured = MATERIAL_KEYS.filter((key) => !CLONES[key] && !SURFACE_COLORS[key]);
|
||||||
const entries = await Promise.all(
|
const entries = await Promise.all(
|
||||||
textured.map(async (key) =>
|
textured.map(async (key) =>
|
||||||
|
|||||||
Reference in new issue
Block a user