Una Texture es una imagen que puedes colocar en cualquier cara de una pieza o unión que se repite tanto horizontal como verticalmente en el tamaño de la superficie. En contraste, una Decal es una imagen que se estira para ajustarse al área de la superficie de una pieza o unión. Después de añadir un objeto Texture o Decal a una pieza o unión, puedes:
Cambiar la propiedad Color3 de la textura o calcomanía para establecer un tinte de color utilizando códigos de color RGB.
Cambiar la propiedad Transparency de la textura o calcomanía a un valor entre el predeterminado de 0 (totalmente visible) y 1 (invisible).
Para una textura, ajustar su escala y desplazamiento.




Crear texturas o calcomanías
Para crear una textura o calcomanía, debes agregar un objeto Texture o Decal a una pieza o unión. Puedes importar imágenes para texturas y calcomanías a Studio para usarlas entre juegos, y distribuir ellas en la Tienda de Creadores. Una vez que importas la imagen, Studio le asigna una ID de activo única.
Para agregar una textura o calcomanía a una pieza o unión:
En la ventana Properties, navega a la propiedad Face y elige una cara (Top, Bottom, Front, Back, Left, o Right).
- OPCIONALPara ayudar a elegir la cara correcta, haz clic derecho en la pieza/unión y selecciona Mostrar Indicador de Orientación. Esto mostrará un círculo 🅕, una línea azul unida a la cara frontal del objeto, y una flecha verde que apunta en la dirección de la cara superior del objeto.

Selecciona la propiedad ColorMapContent y aplica una imagen a través de cualquiera de los siguientes métodos:
- Selecciona cualquier textura o calcomanía que hayas subido previamente.
- Ingresa una ID de activo en el campo.
- OPCIONALEstablece la propiedad Transparency en cualquier valor entre el predeterminado de 0 (totalmente visible) y 1 (invisible).

Transparency: 0 
Transparency: 0.6
Personalizar texturas
A diferencia de las calcomanías, las texturas proporcionan más funcionalidad para escalar, desplazar y animar la imagen de origen.
Escalar texturas
El tamaño de la pieza no afecta la textura. En cambio, escalar una pieza solo aumenta o disminuye el número de veces que se repite la textura.
Las propiedades StudsPerTileU y StudsPerTileV determinan el tamaño de cada "baldosa" en studs. StudsPerTileU determina el tamaño horizontal de la textura, mientras que StudsPerTileV determina el tamaño vertical de la textura.

Desplazar texturas
Si deseas tener más control sobre la posición de una textura, desplaza la textura ajustando las propiedades OffsetStudsU (horizontal) y OffsetStudsV (vertical). Esto también es útil para animación.

Animar texturas
Usando TweenService, puedes animar las propiedades de textura como OffsetStudsU y StudsPerTileV para lograr superficies animadas. Por ejemplo, si aplicas dos texturas de niebla a un contenedor y las animas con el siguiente script, puedes lograr la apariencia de una niebla en movimiento en capas.
local TweenService = game:GetService("TweenService")local texture1 = script.Parent.Texture1local texture2 = script.Parent.Texture2local tweenInfo1 = TweenInfo.new(8, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut, -1)local tween1 = TweenService:Create(texture1, tweenInfo1, {OffsetStudsV=50})local tweenInfo2 = TweenInfo.new(7, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut, -1, true)local tween2 = TweenService:Create(texture2, tweenInfo2, {OffsetStudsU=50, StudsPerTileU=55, StudsPerTileV=45})tween1:Play()tween2:Play()
Transmisión de texturas
La transmisión de texturas carga dinámicamente texturas en función de la distancia y la vista de la cámara, lo que te permite utilizar texturas con más libertad sin preocuparte por la escala en los dispositivos. El motor carga primero las texturas de calidad base, en orden de importancia, y luego eleva progresivamente la calidad de cada textura hasta la memoria disponible en el dispositivo. La transmisión de texturas está habilitada automáticamente, por lo que no tienes que hacer ninguna acción para beneficiarte de ella.

Beneficios
- Tiempos de carga percibidos más rápidos y descargas más pequeñas: Las texturas aparecen casi de inmediato a una calidad base, y el motor descarga solo el detalle que necesita, comprimiéndolo tanto en tránsito como en el caché local.
- Mayor calidad donde importa: El motor estima continuamente cuán importante es cada objeto, como por cuánto espacio en pantalla ocupa, y utiliza el presupuesto de memoria en esas texturas para que los objetos más prominentes obtengan el mayor detalle.
- Menos bloqueos por falta de memoria: Debido a que el motor se mantiene dentro de un presupuesto de memoria y puede reducir la calidad de la textura cuando la memoria es baja, es mucho menos probable que los jugadores se bloqueen por picos de memoria de texturas.
La transmisión de texturas funciona con MeshPart (esqueletos y no esqueletos), SurfaceAppearance, Texture, Decal, MaterialVariant, Beam, ParticleEmitter, y los materiales base aplicados a las instancias de PartOperation y BasePart.
Mejores prácticas
- Preferir texturas únicas e individuales sobre atlas de texturas, a menos que el atlas se aplique a piezas aptas para lotes; solicitar una alta resolución para una textura en un atlas transmite todo el atlas a esa resolución.
- Utilizar una densidad de texel casi uniforme en tus mallas mapeadas UV para que el motor pueda seleccionar la mejor resolución para cada textura.
- Continuar gestionando la memoria de texturas cuidadosamente para tipos de instancias que aún no son compatibles con la transmisión de texturas.


