Trainz/refs/texture.txt 檔案
檔名以 *.texture.txt 字尾和副檔名結尾,是幾乎所有資產中指定圖形檔案選項和過程的首選方法,包括那些採用包含烘焙紋理對映的較新技術,網格 具有法線和反射率(UV 對映)——因為它們的目的是在 Trainz 中配置圖形紋理的行為。這些檔案還可以控制紋理如何由 內容管理器 處理,特別是透過提供 路徑規範,並觸發額外的驗證以最佳地生成健康的資產。此外,具有法線或 UV 對映的較新 LOD 網格集將有自己的 texture.txt 檔案控制它們的應用。
這些檔案通常位於與紋理源影像檔案相同的資料夾中,通常為 .bmp、.tga 或 .jpg 檔案,因為 texture.txt 檔案的工作是引用它們並將網格指向它們 (.im 檔案),但 texture.txt 可以位於其他地方,因為它可以使用簡短的 DOS/Windows 檔案結構導航,比一資料夾級別更遠,但不能比兩資料夾級別更遠[注 1]。
|
實際上,texture.txt 檔案必須與尋找它的網格位於同一個資料夾中!。影像檔案可以被多個 texture.txt 檔案和網格引用共享。這些是由 Trainz 匯出器或匯入器(即來自 Gmax、Blender 和 AutoDesk 的 3dsMax 格式到 Trainz 資料需求的轉換器軟體——Auran/N3V 不時地對這些軟體進行原始碼和更新)自動生成的控制檔案,但如果需要專業化,可以手動編輯。
每個標記都在新的一行上指定。在 '=' 號兩側沒有空格。有時空值有效。語法是
<token>=<value>
Texture.txt 檔案可以使用 C++ 'hack-hack' 註釋風格進行註釋
// This file was created for TRS2006-SP1 then retrograded to trainz-build 2.0 for TRS2004
這是一個支援的標記列表。任何其他值都不應使用。
- 此外,必須理解
- 網格和 texture.txt 檔案始終放在同一個資料夾中。
- 紋理(影像檔案)本身可以位於一個公共位置,並被資產中的多個網格引用(蒸汽機車的 8 個或更多網格需要多少個 black.tga 紋理?),但是引用是透過 texture.txt 檔案進行的,其名稱必須與網格引用的名稱匹配。即,網格引用texture.txt 檔案的名稱,該名稱不必與實際影像/紋理的名稱匹配,該影像/紋理在其中列為主要紋理。
- 假設一個公共紋理檔案,不同的網格名稱和/或位置,以及來自附加圖形的不同的“外觀”
- 上述示例中的八個中的四個每個都有不同的名稱' 可以引用相同的紋理並使用相同的處理 '標記',但每個必須存在以支援它從 網格檔案內部進行引用。
- 其餘的兩個可能引用一個完全不同的 'black2.tga'
- 以及其他相同但具有不同組合的上述合成示例中提供的標記,並在下面詳細說明。
- 需要掌握的關鍵點是 texture.txt 檔案和網格檔案之間的 Onto 關係,以及紋理名稱和位置可以非常不同——沒有理由讓它們與網格或 texture.txt 檔案位於同一個位置。後者負責將兩者結合起來,並定義該網格渲染紋理影像的方式。
| 大多數 texture.txt 檔案只有兩到四行,就像下面左邊和中間的兩個示例。Alpha 通道資料通常由與列為主要紋理相同的檔案傳遞,當影像型別支援此類資料時。最常見的是 BMP 和 TGA 檔案,深度為 32 位,儘管其他幾種現代型別正在開發中。在最後一個示例中,前四行類似於中間示例。許多較舊的資產不會有 AlphaHint 修飾符,也不支援其他擴充套件,例如下面右邊所示的擴充套件。 | ||
|
最常見的示例
|
下一個最常見的示例
|
合成示例
|
- 在下面,我們將提供與上面和下面的文字進行比較的“示例行”。並在後面的 () 中放大註釋。
首先,我們提供這些示例與上面和下面的文字進行比較...
指定紋理檔名
- <紋理名稱> - 主要紋理。包括副檔名的檔名,三個示例。
Primary=Whitehorse_pub.tga
- (這個示例在非火車車廂資產中非常常見,也就是說,大多數物體、建築物、動物和樹木都不連線到軌道或打算在軌道上行駛。簡單的軌道類資產——包括道路、電力線和柵欄——也共享這種位置的簡單性。對於帶有燈光(夜間模式)的杆子和建築物,通常會有一個夜間或夜間模式子容器,這是一種來自早期資料模型實踐的方法。
Primary=PRR40'1910sBoxcar_body\PRR40'1910sBoxcar_body.tga
- (此示例在火車車廂資源中非常常見,許多內容創作者仍然遵循相同的做法。早期的 資料模型 標準做法是至少擁有三個與資原始檔名匹配的子資料夾,這些子資料夾的字尾分別為:'_art'、'_body' 和 '_shadow'。這並不像看起來那麼奇怪,因為資原始檔名標籤也必須是使用者名稱和資源的主網格名稱。火車車廂是多網格資源,因此控制網格或參考網格位於根目錄中,而主體網格和陰影網格從資源根目錄中擁有可預測的路徑,這可以節省打字錯誤的時間,並使內容更加整潔。_art 資料夾支援各種涉及資源選擇或顯示的選單(參見:{{TL|Railyard 模組}})。)
Primary=common_textures\Red-roof-tiles.tga
- (此 資料夾\檔名 引用意味著 MESH 位置位於包含名為“common_textures”的子資料夾的資料夾中,因此該網格很可能位於資源的根資料夾中,CM 將在路徑“{{TBS|使用者名稱|p=..\editing\使用者名稱或 ..\..\editing\使用者名稱,在 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 通道。請注意,如果只有一個包含 RGB 和 A 通道的 32 位檔案,則仍必須使用與“Primary”中使用的相同名稱指定它。
- <紋理名稱> - Alpha 紋理,可能與主紋理相同或不同。
水平、垂直或同時包裹紋理定址。否則,紋理將被裁剪。
- <空> - (預設) 不包裹。
- 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 質量。也可能影響紋理壓縮和 mip 生成。
- opaque - (沒有 alpha 時預設) 不使用 alpha 通道。
- semitransparent - (有 alpha 時預設) alpha 混合。
- masked - alpha 遮罩 - 這提供了 8 位 灰度 著色,從完全透明到完全阻擋物件,具體取決於 alpha 通道或遮罩的畫素級值。
|
各向異性取樣質量。數字越大,視覺質量越好,但效能成本也會顯著增加。如果需要紋理質量,請指定更高的值。Trainz 現在可以透過滑塊控制各向異性,因此預設情況下使用最高設定。
- 1 - 無各向異性過濾。
- 2 - 低。
- 4 - 中等。
- 8 - 高。
- 16 - (預設) 非常高。
自動 mip 對映生成。Chris,這已棄用嗎?CMP 現在以最高質量生成 mip 對映,而不是在遊戲載入/執行時生成。
- none - 不要生成 mip 對映。
- default - (預設) 任何預設方法。
- fastest - 嘗試以犧牲質量為代價來提高載入時間。
- nicest - 嘗試提高質量,無論時間如何。
紋理放大時使用的紋理取樣過濾器。
- nearest - 不與相鄰紋素混合。
- linear - (遊戲預設) 與相鄰紋素混合,以獲得平滑的縮放效果。
- default - (預設) 遊戲預設。
紋理縮小時使用的紋理取樣過濾器。
- nearest - 不與相鄰紋素混合。
- linear - (遊戲預設) 與相鄰紋素混合,以獲得平滑的縮小效果。
- default - (預設) 遊戲預設。
在 mip 對映選擇中使用的紋理取樣過濾器。
- nearest - 不與其他 mip 對映混合。
- linear - (遊戲預設) 在 mip 對映之間平滑混合(注意,它獨立執行,但應與各向異性取樣結合使用)。
- default - (預設) 遊戲預設。
- none - 在 CMP 中停用 mip 對映生成,並在遊戲中使用。專門用於使用者介面元素。
- Hint 即使它僅用於內部使用,但也提到了它,因為自它被發現以來,它一直被好心人使用和濫用。Anisotropy 應該用於提高紋理質量,而 MipFilter=none 應該僅用於停用介面紋理的 mip 對映。
本參考頁面改編自TrainzOnline Wiki,根據CC-BY-SA 3.0 許可。本頁面可能包含比相同主題的源頁面更詳細的文字解釋、說明、歷史或示例。
TrainzOnline Wiki 主要由程式設計師或經驗豐富的內容創作者維護,可能包含有關當前trainz-build 程式碼標準的更新資訊,這些標準隨著軟體功能的新增而不斷變化。

