Varios materiales y efectos
Script completo listo para copiar.
local Cristal = { properties = {} }
function Cristal:Start()
self.malla = Mesh.cube(1)
-- Dos submallas: las caras de arriba y abajo brillan, el resto es piedra con textura.
local tris = self.malla.triangles
local lados, tapas = {}, {}
for i = 1, #tris, 3 do
local destino = (i > 12 and i <= 24) and tapas or lados -- caras 3 y 4 del cubo: +Y y -Y
table.insert(destino, tris[i]); table.insert(destino, tris[i + 1]); table.insert(destino, tris[i + 2])
end
self.malla:setTriangles(lados, 0)
self.malla:setTriangles(tapas, 1)
self.malla:setMaterial(0, { texture = "Textures/piedra.png", normalMap = "Textures/piedra_n.png", tiling = Vec3(2, 2, 0) })
self.malla:setMaterial(1, { color = Vec3(0.2, 0.6, 1), emission = Vec3(0.2, 0.6, 1), emissionIntensity = 4 })
self.entity.mesh = self.malla
end
function Cristal:Update(dt)
-- El brillo late: solo factores, no se vuelve a subir la malla.
self.malla:setMaterial(1, { emissionIntensity = 3 + math.sin(Time.time * 4) * 2 })
end
return Cristal
¿Algo no queda claro o falta algo? Pregunta en el Discord.