feat: 50 игр на Lua + импорт Roblox для всех + поддержка Lua в плеере #39

Merged
min merged 215 commits from feat/lua-50-games-bundle into main 2026-06-09 21:59:25 +00:00
Showing only changes of commit 364726481f - Show all commits

View File

@ -506,12 +506,12 @@ export class PrimitiveManager {
_applyMaterial(mesh, typeDef, color, material, textureUrl) {
const matName = `${mesh.name}_mat`;
const mat = new StandardMaterial(matName, this.scene);
mat.diffuseColor = Color3.FromHexString(color || '#888888');
// ambient НЕ выставляем — иначе scene.ambient (0.3) + ambient(0.4-1.0)
// приплюсовывается к diffuse и цвета становятся пересвеченными
// (особенно белые/серые становятся пересветлёнными).
// Babylon default (0,0,0) даёт чистый Lambert: освещённый цвет=diffuse,
// тень=чёрная (что в Roblox смягчается scene.ambient).
const dc = Color3.FromHexString(color || '#888888');
mat.diffuseColor = dc;
// ambient = СОБСТВЕННЫЙ цвет (умеренный). Это даёт цвет в тени
// равный ~30% от собственного, а не белый (как делал ambient=(1,1,1)).
// На светлом полу: белые цвета остаются белыми, тёмные грани не чёрные.
mat.ambientColor = dc;
// Если задан textureUrl — подгружаем PNG как diffuseTexture. Это
// используется для GD-скинов куба (например /gd/skins/cube_smile.png).