一個 Texture 是您可以放置在任何 部件 或 聯合 的任意面上的圖像,並且在表面大小上 重複 水平和垂直。相比之下,一個 Decal 是一個會 拉伸 以適應部件或聯合表面的圖像。添加 Texture 或 Decal 對象到部件或聯合後,您可以:
變更紋理或貼圖的 Color3 屬性,以使用 RGB 顏色代碼設置顏色色調。
將紋理或貼圖的 Transparency 屬性更改為介於默認的 0(完全可見)和 1(不可見)之間的值。




創建紋理或貼圖
要創建紋理或貼圖,您必須將 Texture 或 Decal 對象添加到部件或聯合中。您可以 導入 用於紋理和貼圖的圖像到 Studio,方便在不同遊戲間使用,並將其 分發 到 創作者商店。導入圖像後,Studio 會為其賦予一個唯一的資產 ID。
選擇 ColorMapContent 屬性並通過以下任何方法應用一張圖像:
- 選擇您之前上傳的任何紋理或貼圖。
- 在字段中輸入一個 資產 ID。
自訂紋理
與貼圖不同,紋理 提供提升的功能,可用於縮放、偏移和動畫源圖像。
縮放紋理
部件的大小不影響紋理。相反,縮放部件僅會增加或減少紋理的重複次數。
StudsPerTileU 和 StudsPerTileV 屬性決定每個 "瓷磚" 在 stud 中的大小。StudsPerTileU 決定紋理的水平大小,而 StudsPerTileV 決定紋理的垂直大小。

偏移紋理
如果您希望對紋理的位置有更多控制,通過調整 OffsetStudsU(水平)和 OffsetStudsV(垂直)屬性來偏移紋理。這對於 動畫 也很有幫助。

動畫紋理
使用 TweenService,您可以將紋理屬性如 OffsetStudsU 和 StudsPerTileV 進行插值,實現動畫表面。例如,如果您將兩個霧狀紋理應用於一個容器並用以下腳本進行動畫,您可以實現層次移動霧的外觀。
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()
紋理串流
紋理串流 根據距離和相機視野動態加載紋理,這使您可以更自由地使用紋理,而不必擔心跨設備的縮放。引擎首先加載基線質量的紋理,根據重要性排序,然後逐步提高每個紋理的質量,直到設備可用的內存為止。紋理串流會自動啟用,因此您不必採取任何行動即可受益於此功能。

優勢
- 感知的加載時間更快,下載量更小:紋理幾乎立即以基線質量出現,引擎僅下載所需的細節,並在傳輸和本地磁碟快取中進行壓縮。
- 在重要的地方有更高的質量:引擎不斷評估每個物件的重要性,例如根據它佔據了多少屏幕空間,並將內存預算用於這些紋理,以便最顯著的物體獲得最高的細節。
- 更少的內存溢出崩潰:因為引擎保持在內存預算之內,並能在內存緊張時降低紋理質量,所以玩家更不可能因為紋理內存峰值而崩潰。
紋理串流可以與 MeshPart(皮膚和非皮膚)、SurfaceAppearance、Texture、Decal、MaterialVariant、Beam、ParticleEmitter 以及應用於 PartOperation 和 BasePart 實例的基礎材料一起工作。
最佳實踐
- 除非將圖集應用於可批處理的部件,否則應更偏好獨特、單一的紋理;對於圖集請求高解析度時,會將整個圖集以該解析度串流進去。
- 在您的 UV 映射網格中使用近乎均勻的像素密度,以便引擎可以選擇每個紋理的最佳解析度。
- 繼續仔細管理紋理內存,以適應紋理串流尚未支持的實例類型。




