跳轉到內容

Trainz/AM&C/紋理檔案

來自華夏公益教科書
logo
Trainz 資產維護和建立

Trainz 註釋參考頁面
TOC | 開始趣味 | AM&C | 建立 | 書中參考 ORP 參考:  • 索引 • 容器 • 種類 • 標籤 | 附錄  • 版本
 詞彙表
 HKeys-CM
 HKeys-DVR
 HKeys-SUR
 HKeys-WIN
 滑鼠使用
 符號

主要文章: Trainz/references/texture.txt 檔案 (如果更詳細,此頁面應合併到該頁面,否則應重新編寫為入門和介紹,兩者(首先)用於錯誤修復,然後用於更簡單的內容建立形式。


範圍: 此指南適用於以下每個 Trainz 型別規範

KIND 紋理, KIND 地面紋理, , , 和 縮圖容器.
相關資料型別: "Texture-variants"_container "Texture-variants" 容器 (資產提供紋理的替代材質配置,以季節性變體顯示。)

 

Trainz 紋理檔案 是 ASCII 文字格式規範檔案,用於描述單個紋理(根據 N3V 的文章名稱[註釋 1]在常用用法中,Trainzer 可能會指的是諸如 texture.txt 檔案 控制的圖形格式檔案。這些 texture.txt 檔案不是下面描述的壓縮的 .texture 檔案,但與圖形紋理影像一樣,它們成為一對檔案的組成部分,強制合併並在 Auran 格式中壓縮,最終形成的 '.texture 檔案'CM 在提交資產時構建。當資產被開啟時,這些檔案有時是可見的,特別是在它是新的克隆時。

紋理檔案具有 ".texture.txt" 檔名副檔名,但是,當在 config.txt 檔案 中指定紋理檔案時,必須省略 ".txt",在標籤資料值欄位中只保留 ".texture" 副檔名。(這看起來很奇怪,而且似乎不直觀,但對 Trainz 來說,'.texture' 意味著 '.texture.txt',而最後一種形式(這是作業系統格式)在CM 操作資料時是理解的,但在 TrainzUtil、驅動程式、鐵路場或測量員使用已提交並處理過的可使用資料時則不是。( TrainzUtil 是一個後臺程序,執行由其他 Trainz 模組命令的許多資料庫操作。)


  帶有 *.texture.txt 字尾和副檔名的檔案用於在 Trainz 中配置紋理行為。這些檔案還可以控制 內容管理器 如何處理紋理。這些檔案位於與源紋理檔案相同的資料夾中,通常是 .bmp、.tga 或 .jpg 檔案(以及 TANE 中的 .png),並與它們建立 '路徑規範連線' 引用。修復這些路徑規範通常是修復有故障資產所需的唯一調整,因為在 TS09 之後,軟體對檔案引用的要求更加嚴格。這些 texture.txt 檔案由 CC 的資產原始檔夾中的相應 3D 圖形軟體匯出器或匯入器實用程式自動生成,但當需要對它們控制的效果進行專門化時,可以手動編輯它們——這在修復有故障內容時偶爾需要。

檔案格式

[編輯 | 編輯原始碼]

使用者可編輯的 *.texture.txt 檔案 是 ASCII 文字格式的鍵值對,具有以下選項。請注意,此格式與 Trainz 使用的其他基於文字的格式不同(儘管有一些相似之處)。請注意 檔名字元限制,在命名紋理和影像檔案時。

語法

每個標記都指定在新的行上。在 '=' 符號的兩側沒有空格。空值有時是有效的。語法是

<token>=<value>
示例
Primary=WayCoolTexture.tga
Alpha=WayCoolTexture.tga
Tile=st
AlphaHint=masked
Anisotropy=16
MagFilter=linear
MinFilter=linear
MipFilter=linear

(僅供示例,不建議使用此設定)


標記和值

[編輯 | 編輯原始碼]
Primary=diffusemap.bmp

此標籤指定表示紋理顏色 (R、G、B) 通道的影像檔案的名稱。影像檔案中的任何 alpha 通道都會被忽略。最終的紋理將具有純白色 (100%) alpha 通道。

主要,差異 Alpha

[編輯 | 編輯原始碼]
Primary=diffusemap.jpg
Alpha=diffusemap.bmp

此標籤組合指定了代表紋理顏色(R、G、B)通道的影像檔案的檔名,以及代表紋理 Alpha(A)通道的影像檔案的檔名。 Alpha 通道影像應為灰度。 兩個檔案均不應包含 Alpha 通道。

主要,相同 Alpha

[編輯 | 編輯原始碼]
Primary=diffusemap.tga
Alpha=diffusemap.tga

此標籤組合指定了代表紋理顏色和 Alpha(R、G、B、A)通道的單個影像檔案的檔名。 在這種情況下,兩個標籤必須引用相同的檔名。 影像檔案必須包含 Alpha 通道。

Compression=dxt1

此標籤強制使用特定的紋理壓縮方案。 如果省略,Trainz 將根據提供的影像檔案內容選擇合適的紋理壓縮方案。 如果你沒有特定的效果需要實現,請勿包含此標籤。 有效選項包括“none”、“dxt1”、“dxt3”、“dxt5”。 請參考 DXT 壓縮

法線貼圖提示

[編輯 | 編輯原始碼]
NormalMapHint=normalmap

“法線貼圖提示”標籤允許將紋理指定為 法線貼圖。 預設情況下,Trainz 將假設你的紋理是 漫反射貼圖,並將應用一些不適合法線貼圖的處理選項。 你必須為法線貼圖指定此選項。 有效選項包括“none”和“normalmap”。

修改貼圖

[編輯 | 編輯原始碼]
ModifyMap=flipgreen

“修改貼圖”選項允許翻轉紋理的綠色通道。 一些程式(如 3ds Max)會建立 法線貼圖,其 Y 軸方向與 Trainz 著色器預期方向相反。 此選項可用於使凹凸效果在 Trainz 中看起來正確。 此選項在提交時由 內容管理器 應用。 有效選項包括“none”和“flipgreen”。

Alpha 提示

[編輯 | 編輯原始碼]
AlphaHint=opaque

“Alpha 提示”標籤允許你強制對紋理應用特定的 Alpha 模式。 有效選項包括“opaque”(表示 Alpha 通道未被使用,實際上是純白色),“semitransparent”(表示 Alpha 通道是灰度混合)和“masked”(表示 Alpha 通道是純黑白色點陣圖)。 如果省略,Trainz 將根據 Alpha 通道提供此標籤的適當值。 指定此選項可以防止蒙版紋理中的輕微變色觸發混合 Alpha 路徑。

各向異性

[編輯 | 編輯原始碼]
Anisotropy=1

各向異性取樣質量。 數字越高,視覺質量越好,但效能成本也會大幅增加。 在需要紋理質量的地方,請指定較高的值。 Trainz 目前預設使用“非常高”各向異性過濾,隨後會受到遊戲內各向異性滑塊的限制。 有效值是整數“1”(預設) - 無各向異性過濾,“2” - 低,“4” - 中,“8” - 高,和“16” - 非常高

放大過濾器

[編輯 | 編輯原始碼]
MagFilter=linear

控制紋素放大的過濾樣式。 當紋素以大於實際大小的方式顯示時使用此選項(例如,單個紋素用多個畫素表示)。 放大過濾器的有效設定包括“nearest”、“linear”和“default”。 Trainz 目前預設使用線性插值。 選擇“nearest”將使用最近鄰過濾模式,這會導致“畫素化”輸出。

縮小過濾器

[編輯 | 編輯原始碼]
MinFilter=linear

控制紋素縮小的過濾樣式。 當紋素以小於實際大小的方式顯示時使用此選項(例如,單個畫素用多個紋素表示)。 縮小過濾器的有效設定包括“nearest”、“linear”和“default”。 Trainz 目前預設使用線性插值。 選擇“nearest”將使用量化過濾模式,這會導致“噪點”輸出。

Mip 過濾器

[編輯 | 編輯原始碼]
MipFilter=linear

控制紋理 mipmap 選擇的過濾樣式。 Mipmap 在縮小時用於幫助防止莫爾條紋圖案。 使用 mipmap 的代價是生成的影像會稍微模糊。 使用 mipmap 的好處是減少量化噪聲並減少記憶體佔用(因為當沒有使用時,可以解除安裝更高細節的 mip 層)。 Mip 過濾器的有效設定包括“nearest”、“linear”、“default”和“none”。 Trainz 目前預設使用三線性插值。 選擇“nearest”會導致硬體為每個畫素選擇單個 mipmap,這會導致在 mipmap 邊界處出現明顯的條帶。 選擇“none”將停用 mipmap,導致效能降低,記憶體使用量增加,以及“噪點”輸出。


Tile=st

平鋪是指將超出(0.0 .. 1.0)範圍的紋理座標視為無限平鋪紋理上的有效座標的能力。 當平鋪處於活動狀態時,超出紋理右側/底部的座標實際上會環繞回左側/頂部,依此類推。 有效選項包括“s”(水平平鋪),“t”(垂直平鋪),“st”(水平和垂直平鋪)和“none”(不平鋪影像)。


評論和建議

[編輯 | 編輯原始碼]

標記 Hint 旨在供內部使用,但自被發現以來,一直被善意人士使用和濫用。 Anisotropy 應用於提高紋理質量,而 MipFilter=none 應僅用於 介面紋理 來停用 mip 對映。


影像格式

[編輯 | 編輯原始碼]

以下影像格式可作為紋理檔案源資料的接受格式

  • Targa (.tga) 檔案。 Targa 是一種無損影像格式,具有可選壓縮和可選 Alpha 通道。
  • JPEG (.jpg) 檔案。 JPEG 是一種有損影像壓縮格式,不支援 Alpha 通道。
  • Windows 點陣圖 (.bmp) 檔案。 BMP 是一種無損影像格式,沒有壓縮,並具有可選 Alpha 通道。

這些影像與相應的 *.texture.txt 檔案一起,由 內容管理器 用於建立 Auran/N3V 二進位制紋理 (*.texture 檔案,沒有其他副檔名!),這些紋理在 Trainz 模擬器中使用。 N3V 二進位制紋理使用並 包含影像 LOD 資訊

  • 所有內建內容僅包含 N3V 二進位制紋理,無法使用普通影像軟體開啟。 頁面上提供了檢視這些紋理的適當工具。

任何大於 2048x2048 的影像都將被調整為該最大尺寸,因此在資產中使用大於該尺寸的影像毫無意義。 最好使用你喜歡的影像編輯程式中的首選重取樣選項來調整影像大小,而不是讓 內容管理器 調整影像大小。 實際上,影像的大小應不超過在最常見的檢視距離下提供適當細節級別所需的大小。 統一顏色影像應儘可能小 - 當然不超過 16x16。

關於影像編輯器的說明

[編輯 | 編輯原始碼]
  • 與某些舊版本的 Adobe Photoshop 一起提供的 Targa 匯出器外掛已損壞,會靜默破壞或丟棄 Alpha 通道; 現在提供免費更新,可以解決此問題。
  • 某些影像編輯器不支援 BMP 檔案的 Alpha 通道。


.txt 副檔名

[編輯 | 編輯原始碼]

紋理檔案具有“.texture.txt”的副檔名,但當紋理檔案在config.txt 檔案或類似檔案中指定時,必須省略“.txt”,保留“.texture”副檔名。例如,名為grass.texture.txt的紋理檔案在kind groundtexture配置檔案中使用語法texture "grass.texture"指定。

使用影像檔案代替紋理檔案

[編輯 | 編輯原始碼]

Trainz 歷史上一直支援使用任何支援的影像檔案型別來代替紋理檔案。這種技術有明顯的侷限性,並且不再推薦使用


  1. TrainzOnline wiki 同時使用“紋理檔案”和“texure.txt 檔案”作為主題標題,首席程式設計師 Chris Bergman 做出的修改表明他希望將這兩個頁面合併。實際上,這兩個頁面中的資訊幾乎完全相同,因此我們在此處在texture.txt 檔案頁面上覆制了這些資訊,只是注意到存在源“權威”的雙重位置,並且這種情況已經持續很長時間了。
華夏公益教科書