紋理與貼圖

*此內容是使用 AI(Beta 測試版)翻譯,可能含有錯誤。若要以英文檢視此頁面,請按一下這裡

一個 Texture 是您可以放置在任何 部件聯合 的任意面上的圖像,並且在表面大小上 重複 水平和垂直。相比之下,一個 Decal 是一個會 拉伸 以適應部件或聯合表面的圖像。添加 TextureDecal 對象到部件或聯合後,您可以:

  • 變更紋理或貼圖的 Color3 屬性,以使用 RGB 顏色代碼設置顏色色調。

  • 將紋理或貼圖的 Transparency 屬性更改為介於默認的 0(完全可見)和 1(不可見)之間的值。

  • 對於紋理,設置其 比例偏移

一個淺藍色六角形圖像置於深藍色背景上的範例紋理。
紋理圖像
在一個方塊部件上重複八次的相同紋理。
應用於部件的紋理(重複)
一個淺紫色六角形圖像置於深紫色背景上的範例貼圖。
貼圖圖像
相同貼圖在一個方塊部件上拉伸。
應用於部件的貼圖(拉伸)

創建紋理或貼圖

要創建紋理或貼圖,您必須將 TextureDecal 對象添加到部件或聯合中。您可以 導入 用於紋理和貼圖的圖像到 Studio,方便在不同遊戲間使用,並將其 分發創作者商店。導入圖像後,Studio 會為其賦予一個唯一的資產 ID。

要將紋理或貼圖添加到 部件聯合

  1. 資源管理器 窗口中,將 TextureDecal 添加到部件或聯合。一個空的紋理或貼圖對象會在部件或聯合上顯示橙色輪廓。

  2. 屬性 窗口中,導航到 Face 屬性並選擇一個面(TopBottomFrontBackLeft、或 Right)。

    • 可選
      為了幫助選擇正確的面,右鍵單擊部件/聯合並選擇 顯示方向指示器。這會顯示一個圓圈 🅕、一條附加在物件前面的藍色線條,以及一個指向物件頂面方向的綠色箭頭。

  3. 選擇 ColorMapContent 屬性並通過以下任何方法應用一張圖像:

    • 選擇您之前上傳的任何紋理或貼圖。
    • 在字段中輸入一個 資產 ID
  4. 可選
    通過點擊 Color3 屬性左側的小框或輸入 RGB 顏色代碼來設置顏色色調。

    Color3 屬性的特寫,左側的小顏色框突出顯示。
    Color3 屬性的特寫,RGB 代碼突出顯示。
    一個方塊部件的上面面有重複的藍色六角形紋理。
    Color3: [255, 255, 255]
    相同的方塊部件的上面面有重複的六角形紋理,但六角形在深紫色背景上是粉紅色的。
    Color3: [255, 0, 100]
  5. 可選
    Transparency 屬性設置為介於默認的 0(完全可見)和 1(不可見)之間的任何值。

自訂紋理

與貼圖不同,紋理 提供提升的功能,可用於縮放、偏移和動畫源圖像。

縮放紋理

部件的大小不影響紋理。相反,縮放部件僅會增加或減少紋理的重複次數。

StudsPerTileUStudsPerTileV 屬性決定每個 "瓷磚" 在 stud 中的大小。StudsPerTileU 決定紋理的水平大小,而 StudsPerTileV 決定紋理的垂直大小。

在 8x6 studs 表面上的紋理,每個瓷磚大小為 2x2。

偏移紋理

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

在 8x6 studs 表面上的 2x2 紋理,沒有偏移。

動畫紋理

使用 TweenService,您可以將紋理屬性如 OffsetStudsUStudsPerTileV 進行插值,實現動畫表面。例如,如果您將兩個霧狀紋理應用於一個容器並用以下腳本進行動畫,您可以實現層次移動霧的外觀。

兩個在地面附近的動畫紋理,用來模擬移動霧的效果

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()

紋理串流

紋理串流 根據距離和相機視野動態加載紋理,這使您可以更自由地使用紋理,而不必擔心跨設備的縮放。引擎首先加載基線質量的紋理,根據重要性排序,然後逐步提高每個紋理的質量,直到設備可用的內存為止。紋理串流會自動啟用,因此您不必採取任何行動即可受益於此功能。

顯示有無紋理串流的遊戲的視覺化。
相同場景,開啟與關閉紋理串流

優勢

  • 感知的加載時間更快,下載量更小:紋理幾乎立即以基線質量出現,引擎僅下載所需的細節,並在傳輸和本地磁碟快取中進行壓縮。
  • 在重要的地方有更高的質量:引擎不斷評估每個物件的重要性,例如根據它佔據了多少屏幕空間,並將內存預算用於這些紋理,以便最顯著的物體獲得最高的細節。
  • 更少的內存溢出崩潰:因為引擎保持在內存預算之內,並能在內存緊張時降低紋理質量,所以玩家更不可能因為紋理內存峰值而崩潰。

紋理串流可以與 MeshPart(皮膚和非皮膚)、SurfaceAppearanceTextureDecalMaterialVariantBeamParticleEmitter 以及應用於 PartOperationBasePart 實例的基礎材料一起工作。

最佳實踐

  • 除非將圖集應用於可批處理的部件,否則應更偏好獨特、單一的紋理;對於圖集請求高解析度時,會將整個圖集以該解析度串流進去。
  • 在您的 UV 映射網格中使用近乎均勻的像素密度,以便引擎可以選擇每個紋理的最佳解析度。
  • 繼續仔細管理紋理內存,以適應紋理串流尚未支持的實例類型。
©2026 Roblox Corporation、Roblox、Roblox 標誌及 Powering Imagination 是我們在美國及其他國家地區的部分註冊與未註冊商標。