feat(world): Bordstein bekommt gebürsteten Beton von Poly Haven
Auf Wunsch des Nutzers: brushed_concrete_04 statt der Textur aus modular_sidewalk_curb_kit. Die Wand ist 18 cm hoch, da trägt eine Textur mit waagerechter Struktur mehr als das Modulmuster des Kits. Damit ist das Kit nirgends mehr im Spiel: Die Geometrie des Bordsteins war von Anfang an selbst gebaut, der Gehweg nimmt seit der Platzhalter-Korrektur concrete_pavement, und der Bordstein jetzt brushed_concrete_04 - beides Poly Haven (CC0). Der Kit-Import in tools/assets/textures.mjs entfällt samt sharp-Abhängigkeit, die drei kopierten Kit-Texturen sind entfernt, und die Namensnennung im Manifest nennt Just8 nicht mehr, weil nichts davon mehr benutzt wird. Der Kit-Ordner des Nutzers bleibt unangetastet. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
50eee9281a
commit
f226bc2c95
10 files changed
+14
-46
No files matched your search
@@ -2,11 +2,10 @@
|
||||
// unangetastet, damit ein neuer Eintrag die übrigen Texturen nicht still ändert.
|
||||
import { existsSync } from "node:fs";
|
||||
import { mkdir, writeFile } from "node:fs/promises";
|
||||
import sharp from "sharp";
|
||||
|
||||
const UA = { "User-Agent": "leonida-assets/0.1 (local hobby project)" };
|
||||
const SLUGS = ["asphalt_02", "concrete_pavement_03", "white_stucco", "sand_01", "leafy_grass", "grass_path_2", "palm_bark",
|
||||
"concrete_pavement"];
|
||||
"concrete_pavement", "brushed_concrete_04"];
|
||||
const MAPS = ["Diffuse", "nor_gl", "arm"];
|
||||
|
||||
await mkdir("public/textures", { recursive: true });
|
||||
@@ -24,42 +23,7 @@ for (const slug of SLUGS) {
|
||||
}
|
||||
}
|
||||
|
||||
// Der Bordstein kommt aus modular_sidewalk_curb_kit (Just8, CC BY 4.0). Der Ordner gehört dem
|
||||
// Nutzer und liegt nicht im Repo — das Skript darf deshalb nicht von ihm abhängen, sondern
|
||||
// überspringt den Schritt mit einer verständlichen Meldung, wenn er fehlt. Die drei erzeugten
|
||||
// Dateien sind versioniert, danach braucht niemand mehr den Ordner.
|
||||
// Korrektur: sidewalk_baseColor.jpeg (-> sidewalk_Diffuse.jpg) ist raus. Die Datei war das
|
||||
// Platzhalterbild des Kits, keine Betontextur (roter Schriftzug "Tru-planar Sidewalk texture",
|
||||
// im Browser geprüft) - der Gehweg benutzt jetzt concrete_pavement von Poly Haven, s.
|
||||
// src/world/materials.js.
|
||||
// Über CURB_KIT umstellbar, damit der Fall "Kit fehlt" geprüft werden kann, ohne den Ordner
|
||||
// des Nutzers zu verschieben.
|
||||
const KIT = `${process.env.CURB_KIT ?? "modular_sidewalk_curb_kit"}/textures`;
|
||||
const KIT_MAPS = [
|
||||
// glTF packt Rauheit nach G und Metall nach B — dasselbe Schema wie die arm-Karten von
|
||||
// Poly Haven, deshalb ist die metallicRoughness-Karte hier direkt das arm-Ziel.
|
||||
{ from: "CurbMat_baseColor.jpeg", to: "curb_Diffuse.jpg" },
|
||||
{ from: "CurbMat_normal.png", to: "curb_nor_gl.jpg" },
|
||||
{ from: "CurbMat_metallicRoughness.png", to: "curb_arm.jpg" },
|
||||
];
|
||||
|
||||
async function importCurbKit() {
|
||||
if (!existsSync(KIT)) {
|
||||
console.log(`${KIT} fehlt — Bordstein-Texturen übersprungen. Das Kit gehört dem Nutzer `
|
||||
+ "und ist nicht im Repo; die erzeugten Dateien liegen bereits unter public/textures.");
|
||||
return;
|
||||
}
|
||||
for (const { from, to } of KIT_MAPS) {
|
||||
const target = `public/textures/${to}`;
|
||||
if (existsSync(target)) {
|
||||
console.log(`${to} ist schon da`);
|
||||
continue;
|
||||
}
|
||||
// 1024 wie alle übrigen Texturen: die 2048er des Kits wären für ein 15 cm hohes
|
||||
// Wandband Verschwendung.
|
||||
await sharp(`${KIT}/${from}`).resize(1024, 1024).jpeg({ quality: 90 }).toFile(target);
|
||||
console.log(`${to} erzeugt`);
|
||||
}
|
||||
}
|
||||
|
||||
await importCurbKit();
|
||||
// modular_sidewalk_curb_kit (Just8, CC BY 4.0) wird nicht mehr gebraucht. Der Gehweg nimmt seit der
|
||||
// Gehwegtextur-Korrektur concrete_pavement, der Bordstein seit dem Bordstein-Befund
|
||||
// brushed_concrete_04 - beide von Poly Haven (CC0) und beide oben in SLUGS. Die Geometrie des
|
||||
// Bordsteins war ohnehin selbst gebaut (s. src/world/geometry.js, kerbGeometry).
|
||||
Reference in new issue
Block a user