title | description |
---|---|
Textures and Decals |
Textures and decals are images you can place on object surfaces. |
A Class.Texture
is an image you can place on
any face of a part or union that
repeats both horizontally and vertically on the size of the surface. In contrast, a Class.Decal
is an image that stretches
to fit the area of a part or union's surface. After you
add a Class.Texture
or
Class.Decal
object to a part or union, you
can:
-
Change the texture or decal
Class.Decal.Color3|Color3
property to set a color tint using RGB color codes. -
Change the texture or decal
Class.Decal.Transparency|Transparency
property to a value between the default of 0 (fully visible) and 1 (invisible). -
For a texture, set its scale and offset.
Texture image Texture applied to a part (repeating) Decal image Decal applied to a part (stretched)
To create a texture or decal, you have to add either a Class.Texture
or Class.Decal
object to a part or union. You can import images for textures and decals to Studio for use between experiences, and distribute them to the Creator Store. Once you import the image, Studio assigns it a unique asset ID.
To add a texture or decal to a part or union:
-
In the Explorer window, add a
Class.Texture
orClass.Decal
to the part or union:-
Hover over the part or union and click the ⊕ button. A contextual menu displays.
-
From the menu, insert a Texture or Decal. An empty texture or decal object displays on the part or union with orange outlining.
-
-
In the Properties window, navigate to the Face property and choose a face or keep the default face.
-
Select the Texture property and apply an image through any of the following methods:
- Select any texture or decal you've uploaded previously.
- Enter an asset ID into the Texture field.
- Upload a new image through the Add Image... button.
-
(Optional) Set a color tint by clicking the small box to the left of the Color3 property or by entering a RGB color code.
Default Color3 = [255, 0, 100] -
(Optional) Set the Transparency property to any value between the default value of 0 (fully visible) and 1 (invisible).
Default Transparency = 0.6
A face is a surface on a part/union that displays a texture or decal: Top, Bottom, Front, Back, Left, or Right. The direction of each face depends on the part or union's orientation. In the following example images, the camera faces the block's Front face, so the block's Left face is on the right from the camera's perspective.
Front TopTo choose a face:
-
(Optional) To assist in choosing the correct face, right-click the part/union and select Show Orientation Indicator. This displays a blue circle with an F and a line attached to the object's Front face, and a green arrow that points in the direction of the object's Top face.
-
Select a texture or decal that is a child of the part or union.
-
In the Properties window, click the Face property and choose a face.
Unlike decals, textures provide further functionality to scale, offset, and animate an image.
The size of the part doesn't affect the texture. Instead, scaling a part only increases or decreases the number of times the texture repeats.
The Class.Texture.StudsPerTileU|StudsPerTileU
and Class.Texture.StudsPerTileV|StudsPerTileV
properties determine the size of each "tile" in studs. Class.Texture.StudsPerTileU|StudsPerTileU
determines the texture's horizontal size while Class.Texture.StudsPerTileV|StudsPerTileV
determines the texture's vertical size.
To scale a texture:
-
Select a texture that is a child of a part.
-
In the Properties window, set StudsPerTileU and StudsPerTileV to the number of studs you'd like the texture to occupy horizontally and vertically. The larger the number, the larger the image.
If you want more control over a texture's position, offset the texture by adjusting the Class.Texture.OffsetStudsU|OffsetStudsU
and Class.Texture.OffsetStudsV|OffsetStudsV
properties. This is also helpful for animation.
To offset a texture:
-
Select a texture that is a child of a part.
-
In the Properties window, set OffsetStudsU and OffsetStudsV to the number of studs you'd like to offset the texture horizontally and vertically.
Using Class.TweenService
, you can tween texture properties like Class.Texture.OffsetStudsU|OffsetStudsU
and Class.Texture.StudsPerTileV|StudsPerTileV
to achieve animated surfaces. For example, if you apply two fog textures to one container and animate them with the following script, you can achieve the appearance of a layered moving fog:
local TweenService = game:GetService("TweenService")
local texture1 = script.Parent.Texture1
local texture2 = script.Parent.Texture2
local 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()