跳轉到內容

Trainz/refs/texture.txt 檔案

來自華夏公益教科書
logo
Trainz 註釋參考頁

Trainz 資源維護與建立
TOC | 開始趣味 | AM&C | 建立 | 書內參考 ORP 參考:  • 索引 • 容器 • 種類 • 標籤 | 附錄  • 版本

*.texture.txt 為字尾和副檔名的文字檔案被用作指定幾乎所有資源中的圖形檔案選項和處理過程的首選方法,包括那些採用包含烘焙紋理對映的較新技術的內容 網格,帶有法線貼圖和反射率(UV 貼圖)——因為它們旨在配置 Trainz 中的紋理行為。這些檔案也可以控制紋理如何由 內容管理器 處理,特別是透過提供 路徑規範,並觸發額外的驗證以最佳地生成健康的資源。此外,具有法線或 UV 對映的較新的 LOD 網格集將有自己的 texture.txt 檔案來控制其應用。

這些檔案通常位於與紋理源影像檔案相同的資料夾中,通常是 .bmp、.tga 或 .jpg 檔案,因為 texture.txt 檔案的工作是引用它們並指導網格 (.im 檔案) 指向它們,但 texture.txt 可以位於其他地方,因為它可以利用短形式的 DOS/Windows 檔案結構導航,在資料夾級別上移除一個資料夾,但不移除兩個資料夾[註釋 1].

紋理檔案...

在 Trainz 社群中,三種相互關聯的檔案型別被稱為 '紋理檔案',甚至 N3V 程式設計人員也被觀察到將每種檔案型別稱為“紋理檔案”。該術語既適用於具有 .texture 副檔名的檔案,也適用於與控制 .texture.txt 檔案 配對的 圖形顯示檔案型別。請注意,該術語在某些情況下也可能被用來指代 texture.txt 檔案,它是一種控制檔案或 INI 檔案,包含控制其對應影像檔案處理的指令,這兩者在資源透過錯誤測試並被提交時,都會被內容管理器處理並壓縮成 .texture 檔案

  • 避免對此感到困惑的秘訣是認識到它們都是紋理檔案,一個是以原始可編輯形式存在的(一個檔案對,包含 texture.txt 和圖形檔案元素)
  • 另一個,那個奇怪的 檔名.texture執行時就緒(已壓縮、處理並準備載入)兩個原始檔的組合形式,由 CM 在故障檢查後,以及作為資源被 提交 的一部分生成。
  • .texture 檔案可以使用 PevSoft(Pev)的 Images2TGA.exe 工具實用程式解壓縮。CM/CMP 的某些版本在編輯資源時會保留它們,有些 CM 會在提交或檢查資源時抱怨它們的存在,而有些 CM 則無所謂。一般來說,如果它們在匯入 cdp 檔案、解壓縮 .chump 檔案或開啟資源進行編輯後仍然存在,則可以安全地刪除它們。



實際上,texture.txt 檔案必須位於與尋找它的網格相同的資料夾中!。影像檔案可以被多個 texture.txt 檔案和網格引用共享。這些是控制檔案,由 Trainz 匯出器或匯入器自動生成(即從 GmaxBlender 和 AutoDesk 的 3dsMax 格式到 Trainz 資料需求的翻譯軟體——Auran/N3V 偶爾會更新這些檔案),但可以在需要特殊化時手動編輯。

每個令牌在單獨一行指定。在“=”符號兩側沒有空格。空值有時有效。語法為

<token>=<value>

Texture.txt 檔案可以使用 C++ 的“雙斜線”註釋風格進行註釋

// This file was created for TRS2006-SP1 then retrograded to trainz-build 2.0 for TRS2004

以下是支援的令牌列表。任何其他值都不應使用。

  • 此外,必須理解
  1. 網格和 texture.txt 檔案始終放在同一個資料夾中。
  2. 紋理(影像檔案)本身可以位於一個公共位置,並由資源的多個網格引用(蒸汽機車的 8 個或更多網格需要多少個 black.tga 紋理?),但引用是透過 texture.txt 檔案進行的,其名稱必須與網格引用的名稱匹配。即網格引用texture.txt 檔案的名稱,該名稱不必與列出的作為主紋理的實際影像/紋理的名稱匹配。
  3. 假設一個公共紋理檔案、不同的網格名稱和/或位置,以及來自額外圖形的不同“外觀”
    1. 以上示例中的八個網格中的四個每個都有一個不同的名稱,可以引用相同的紋理並使用相同的處理“令牌”,但每個都必須存在以支援其在 網格檔案中進行引用。
    2. 剩餘的兩個可能引用一個完全不同的“black2.tga”
    3. 而其他的引用相同的紋理,但使用上面複合示例中列出的、下面詳細描述的不同令牌組合。
  4. 需要掌握的關鍵點是 texture.txt 檔案和網格檔案之間的 Onto 關係,以及紋理名稱和位置可能截然不同——它們沒有理由與網格或 texture.txt 檔案共存。後者的任務是將兩者結合起來,並定義該網格渲染紋理影像的方式。

並排示例

[編輯 | 編輯原始碼]
大多數 texture.txt 檔案只有兩到四行,就像下面左側和中間的兩個示例。Alpha 通道資料通常由與作為主紋理列出的檔案相同的檔案傳遞,前提是影像型別支援此功能。最常見的是 BMP 和 TGA 檔案,深度為 32 位,儘管還有一些其他現代型別正在開發中。在最後一個示例中,前四行類似於中間的示例。許多較舊的資源沒有 AlphaHint 修飾符,也不支援其他擴充套件,例如右側所示的擴充套件。

最常見的示例

Primary=SunBurn_Red.bmp
Tile=st

 

下一個最常見的示例

Primary=SemiCoolTexture.tga
Alpha=SemiCoolTexture.bmp [或者
Alpha=SemiCoolTexture.tga]
Tile=st
AlphaHint=masked [或者
AlphaHint=Semitransparent]


複合示例

Primary=WayCoolTexture.tga
Alpha=WayCoolTexture.tga
Tile=st
AlphaHint=masked
Anisotropy=16
MagFilter=linear
MinFilter=linear
MipFilter=linear
(僅示例,不推薦設定)

 

 

  • 在下面,我們將在一節中列出“示例行”。並用括號“()”括起補充說明。


首先,我們提供這些示例以與上面和下面的文字進行比較...

主紋理

[編輯 | 編輯原始碼]

指定紋理檔名

  • <texture name> - 主紋理。包含副檔名的檔名,三個示例。
Primary=Whitehorse_pub.tga
(這個例子在非火車車廂資產中非常常見,也就是說大多數物體、建築物、動物和樹木不附著在軌道上或不適合在軌道上行駛。簡單的軌道類資產(包括道路、電力線和圍欄)也具有這種位置上的簡單性。在有照明(夜間模式)的杆子和建築物的情況下,通常會有一個夜間或夜間模式子容器,這是一種來自早期資料模型實踐的方法。


Primary=PRR40'1910sBoxcar_body\PRR40'1910sBoxcar_body.tga
(這個例子在火車車廂資產中非常常見,許多內容創作者仍然遵循相同的做法。早期的資料模型標準做法是至少有三個子資料夾與資產檔名匹配,這些子資料夾有後綴:'_art', '_body', & '_shadow'。這並不像看起來那麼奇怪,因為資產檔名標籤也必須是使用者名稱和資產的主要網格名稱。火車車廂是多網格文物,所以控制或參考網格位於根目錄,而主體和陰影網格從資產根目錄具有可預測的路徑,這節省了鍵入錯誤的時間,並使事情更加整潔。_art 資料夾支援涉及資產選擇或顯示的各種選單(參見:{{TL|Railyard module]}).)
Primary=common_textures\Red-roof-tiles.tga
(這個folder\filename引用意味著 MESH 位置在包含名為 'common_textures' 的子資料夾的資料夾中,因此網格可能位於資產的根資料夾中,CM 將在路徑 '{{TBS|username|p=..\editing\username or ..\..\editing\username, 在 N3V 將資料塞入 ..\UserData 資料夾的後期實踐中,其中 \editing 存在.[注 2]'.)
Primary=..\green-siding.tga
  • (MESH 位置位於子資料夾中,'common_textures' 位於上層,可能是資產的根資料夾)
Primary=..\traincar_left_door\brass-window-trim.tga
  • (MESH 位置可能位於 '..\traincar_right_door\' '姐妹資料夾' 中,該資料夾包含 'shared_texture'。這兩個資料夾都可能是 '\traincar_asset-name_body' 資料夾的子資料夾。這個例子來自使用 Randall Whitepass Pullman 客車和 brass.tga 紋理進行的測試。

 

Alpha 通道

[編輯 | 編輯原始碼]

指定紋理的 Alpha 通道。請注意,如果只有一個帶有 RGB 和 A 通道的 32 位檔案,則仍然必須使用與主紋理中使用的相同名稱指定它。

  • <texture name> - Alpha 紋理,可能與主紋理相同或不同。


水平、垂直或兩者都包裹紋理定址。否則紋理將被鉗制。

  • <empty> - (預設) 不包裹
  • s - 水平包裹
  • t - 垂直包裹
  • st - 水平和垂直都包裹


紋理的維度數。由於當前僅支援 2D 紋理,因此不需要。

  • two - (預設) 二維
  • cube - (不支援)
  • volume - (不支援)
  • one - (不支援)


CMP 使用的壓縮格式。如果未提供此引數,則將自動選擇格式

  • none - 不壓縮。警告:未壓縮的紋理會消耗大量的記憶體並降低效能。
  • dxt1 - 適用於不透明或 Alpha 遮罩紋理
  • dxt3 - 如果紋理包含明顯對比度,則可以作為 Alpha 混合紋理的最佳選擇。請先嚐試 DXT5。
  • dxt5 - 通常最適合 Alpha 混合紋理


紋理使用提示,僅供內部使用。請注意,不應使用此選項來嘗試停用 mip 對映。

  • static - (預設) 標準紋理資源
  • dynamic - 紋理將在記憶體中修改


法線貼圖提示

[編輯 | 編輯原始碼]

有關紋理是否是法線貼圖的提示。使用它很重要,因為它會影響最終紋理質量。壓縮、mip 對映生成和 XYZ(RGB)的重新歸一化都會受到影響。

  • none - (預設) 這不是法線貼圖
  • normalmap - 這是一張法線貼圖


修改貼圖

[編輯 | 編輯原始碼]

允許在讀取 texture.txt 檔案時修改紋理。目前,這是為了允許法線貼圖的綠色通道(Y 軸)翻轉。

  • none - (預設) 不要修改紋理
  • flipgreen - 翻轉綠色通道,即法線貼圖的 Y 軸


Alpha 提示

[編輯 | 編輯原始碼]

指定 Alpha 通道的使用方式。影響最終 Alpha 質量。也可能影響紋理壓縮和 mip 生成。

  • opaque - (沒有 Alpha 的預設值) 不使用 Alpha 通道。
  • semitransparent - (有 Alpha 的預設值) Alpha 混合
  • masked - Alpha 遮罩 - 這會從完全透明到完全阻止物體產生 8 位灰度陰影,具體取決於 Alpha 通道或遮罩的逐畫素值。
警告:  TS09 之前的 Trainz 版本會從 AlphaHint 標記生成故障,並且可能還會生成下面大多數標記。PEVtool Images2tga 在 2010 年釋出,現在可供下載 (這裡) 即使在來自這些舊 Trainz 資產的資產中也可能生成它們。解決方法是用 '//' 註釋掉這些行,資產應該可以在 TRS 時代的軟體中執行。




各向異性

[編輯 | 編輯原始碼]

各向異性取樣質量。數字越大,視覺質量越好,但效能成本也會大幅增加。如果需要紋理質量,請指定更高的值。Trainz 現在可以透過滑塊控制各向異性,因此預設情況下使用最高設定。

  • 1 - 無各向異性過濾
  • 2 - 低
  • 4 - 中等
  • 8 - 高
  • 16 - (預設) 非常高

自動Mip

[編輯 | 編輯原始碼]

自動 mip 對映生成。Chris,這已經過時了嗎?CMP 現在以最高質量生成 mip 對映,而不是在遊戲載入/執行時生成。

  • none - 不要生成 mip 對映
  • default - (預設) 任何預設方法
  • fastest - 嘗試以質量為代價提高載入時間
  • nicest - 嘗試提高質量,無論時間如何


放大過濾

[編輯 | 編輯原始碼]

紋理放大時使用的紋理取樣過濾器

  • nearest - 不與相鄰紋素混合
  • linear - (遊戲預設) 與相鄰紋素混合以實現平滑縮放效果
  • default - (預設) 遊戲預設


縮小過濾

[編輯 | 編輯原始碼]

紋理縮小時使用的紋理取樣過濾器

  • nearest - 不與相鄰紋素混合
  • linear - (遊戲預設) 與相鄰紋素混合以實現平滑縮小效果
  • default - (預設) 遊戲預設


Mip 過濾

[編輯 | 編輯原始碼]

紋理 mip 對映選擇時使用的紋理取樣過濾器

  • nearest - 不與其他 mip 對映混合
  • linear - (遊戲預設) mip 對映之間平滑混合(注意,它獨立執行,但應與各向異性取樣結合使用)
  • default - (預設) 遊戲預設
  • none - 停用 CMP 中的 mip 對映生成,並在遊戲中使用。專門用於使用者介面元素。


評論與建議

[編輯 | 編輯原始碼]
  • Hint 儘管旨在僅供內部使用,但由於它被善意的人發現後被使用和濫用,因此仍然被提及。Anisotropy 應用於提高紋理質量,而 MipFilter=none 應僅用於停用介面紋理的 mip 對映。


華夏公益教科書