fix(import): ambient = 40% от цвета (без пересвета)

ambient=diffuse (100%) суммировался с прямым светом и
давал пересвет (особенно на дорогах/полу с #cccccc).

40% — баланс: тень окрашена (видна как цвет, не чёрная),
прямой свет = чистый diffuse без пересвета.
This commit is contained in:
min 2026-06-08 17:03:17 +03:00
parent 364726481f
commit 67851820a9

View File

@ -508,10 +508,9 @@ export class PrimitiveManager {
const mat = new StandardMaterial(matName, this.scene); const mat = new StandardMaterial(matName, this.scene);
const dc = Color3.FromHexString(color || '#888888'); const dc = Color3.FromHexString(color || '#888888');
mat.diffuseColor = dc; mat.diffuseColor = dc;
// ambient = СОБСТВЕННЫЙ цвет (умеренный). Это даёт цвет в тени // ambient = 40% от цвета. Roblox-look: тень окрашена, но не
// равный ~30% от собственного, а не белый (как делал ambient=(1,1,1)). // суммируется с прямым светом в пересвет. Белые остаются белыми.
// На светлом полу: белые цвета остаются белыми, тёмные грани не чёрные. mat.ambientColor = new Color3(dc.r * 0.4, dc.g * 0.4, dc.b * 0.4);
mat.ambientColor = dc;
// Если задан textureUrl — подгружаем PNG как diffuseTexture. Это // Если задан textureUrl — подгружаем PNG как diffuseTexture. Это
// используется для GD-скинов куба (например /gd/skins/cube_smile.png). // используется для GD-скинов куба (например /gd/skins/cube_smile.png).