mirror of
https://github.com/DarkflameUniverse/DarkflameServer.git
synced 2026-10-07 05:13:44 +00:00
fix(ugc): each glitter brick gets its own fleck pattern
Every glitter brick had the same flecks in the same places: the UVs were the vertex positions projected on an axis plane, so bricks a whole tile apart (and every brick of the same shape at the same spot in its own model) looked identical. Each brick now has a number of its own (UgcGlitter::BrickSeed, from the model's id and the brick's index, kept per vertex in Mesh::brickSeeds) that turns the projection by an angle and moves it by an offset under a tile, differently for each axis plane. A model made again gets the same patterns; every LOD of a brick the same one. The icon now draws the flecks on the UVs the .nif has (Mesh::uvs read back by FromNif). New setting glitter_random (1; 0 puts the same pattern on every brick as before). Non-glitter models are byte-identical (hash tests unchanged). Check in game: reprocess a model with several glitter bricks of the same shape; the fleck patterns differ from brick to brick. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -95,6 +95,7 @@ brushed_colors=298,300,1002,1004
|
||||
# over the color and moves it. 0: off, glitter stays plastic.
|
||||
# glitter_size: the fleck texture's tile in model units (a stud is 0.8); glitter_density: flecks in a tile;
|
||||
# glitter_speed: 1 moves the flecks a tile in 7 s one way and 11 s the other, 0 keeps them still.
|
||||
# glitter_random: 1 places each brick's flecks its own way (turned and moved by the brick), 0 the same on every brick.
|
||||
# glitter_colors: LEGO color ids that are glitter whatever their type (empty: the default, 114,117, which LEGO's color
|
||||
# data calls glitter; none: no colors)
|
||||
shader_glitter=21
|
||||
@@ -103,6 +104,7 @@ glitter_colors=114,117
|
||||
glitter_size=1.6
|
||||
glitter_density=50
|
||||
glitter_speed=1
|
||||
glitter_random=1
|
||||
# Satin (opal) colors stay transparent plastic (the client has no satin shader) but are made milky:
|
||||
# satin_colors: color ids (empty: the default, LEGO's satin colors 360,362,363,364,365,366,367,376; none: off),
|
||||
# satin_opacity: their transparent bricks' opacity in percent (instead of transparent_opacity),
|
||||
|
||||
Reference in New Issue
Block a user