跳轉到內容

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、Driver、Railyard 或 Surveyor使用已提交 和已處理的準備使用 資料 時則不是。(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

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

ModifyMap

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

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

AlphaHint

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

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

Anisotropy

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

各向異性取樣質量。數字越大,視覺質量越好,但效能成本會顯著增加。在需要紋理質量的地方指定更高的值。Trainz 目前預設為超高各向異性過濾,然後由遊戲內的各向異性滑塊進行限制。有效值為整數“1”(預設值) - 無各向異性過濾,“2” - 低,“4” - 中,“8” - 高,以及“16” - 超高。

MagFilter

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

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

MinFilter

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

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

MipFilter

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

控制紋理mipmap 選擇的過濾樣式。Mipmap 在縮小時使用,以幫助防止摩爾紋圖案。使用 mipmap 的成本是生成的影像會稍微模糊。使用 mipmap 的好處是減少量化噪聲並減少記憶體佔用(因為當不使用時可以解除安裝更詳細的 mip 等級)。mipmap 過濾器的有效設定是“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”副檔名。例如,在kind groundtexture 配置檔案中,使用語法texture "grass.texture" 指定名為grass.texture.txt 的紋理檔案。

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

[編輯 | 編輯原始碼]

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


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