跳轉到內容

Trainz/Blender 教程

來自華夏公益教科書

新手從這裡開始

[編輯 | 編輯原始碼]

Blender 是一款複雜的專業級 3D 建模工具,用於建立靜態和動畫模型,電腦遊戲 以及 動畫短片。您可以直接前往下面的 Trainz 特定的移動房屋教程,或者您可能希望花時間學習熟練使用該軟體,然後再嘗試為 Trainz 建立內容。關於 Blender 的資訊來源很多,包括高中和大學級別的課程、論壇和教程。

  • 由賓夕法尼亞州哈里斯堡中央道芬高中的詹姆斯·克羅尼斯特建立的免費 高中課程
  • 由塔夫茨大學的尼爾·希爾斯格建立的免費 大學課程

幫助來源

[編輯 | 編輯原始碼]

除了可以下載軟體的官方 Blender 網站,使用者可以在該網站上找到 論壇教程,還有許多第三方網站提供支援 Blender 的教程或論壇。截至 2013 年第一季度,這些網站包括(但不限於):

YouTube 還託管了許多建立 Blender 教程的人員的頻道。

其他注意事項

[編輯 | 編輯原始碼]
  • 由於 Trainz 專門使用照片紋理,因此希望建立內容的使用者最好具備對影像處理軟體的熟練知識,該軟體能夠以 jpeg 和未壓縮的 ~.tga 格式寫入影像檔案。

Blender 在 2010 年 7 月釋出的 2.50 版本中進行了重大更新,該更新徹底改變了使用者介面。不幸的是,許多 Trainz 教程是使用舊介面建立的,雖然精通最新版 Blender 的使用者可以完成這些教程,但想要使用舊介面的不太熟練的使用者仍然可以從 下載網站 獲取教程中使用的該軟體版本。


您要做的第一件事是安裝 Blender。因此,請直接前往 https://wikibook.tw/wiki/Trainz/Tutorial_for_Blender#Getting_started 並按照有關安裝 Blender 和匯出器的說明操作。

Trainz 特定的移動房屋教程

[編輯 | 編輯原始碼]

建議在嘗試基本房屋教程之前觀看影片教程 https://wikibook.tw/wiki/Trainz/Tutorial_for_Blender#Video_tutorials_from_Blender.org,但這並非必需。

接下來,您需要建立一些東西並將其匯出。

要對這所房子進行紋理化,請下載 kuid:86627:2491 或其任何版本,例如 kuid2:86627:2491:3。您需要其中的紋理檔案 (Terrace one.tga)。使用該檔案和紋理教程對房屋進行紋理化。這是一個 3.25 MB 的下載檔案,因此,如果您沒有頭等車票,最好從 TrainzProRoutes.com 下載。該物件名為 帶前院和路面的利奧波德巷板岩屋頂

要匯出房屋

要將其轉換為移動房屋

如果我們改變形狀,我們實際上可以得到一個合理的基本貨車。


另外請注意,Paul Hobbs 在這裡有三個 Blender 教程:http://www.44090digitalmodels.co.uk/

這些教程涵蓋了很多材料,而且 Paul 知識淵博。

關於本頁

[編輯 | 編輯原始碼]
本頁的目的是幫助人們使用 Blender Exporter for Trainz 將他們的 Blender 作品直接匯出到 Trainz。這裡只描述與匯出器相關的專案。如果你在 Blender 中遇到問題,或者對內容創作本身有疑問,那麼你可以在以下連結中找到很多解釋和經驗豐富的人。
Blender 文件
Blender 社群
TRS2006 內容創作指南
Trainz 討論論壇

教程


來自 Blender.org 的影片教程。

[編輯 | 編輯原始碼]

Interface.avi 開始,然後接著 3dview.avi

Blender 入門教程
Blender 影片教程
Blender 動畫影片教程 檢視這個影片,瞭解如何製作屋頂。


紋理 標題下有一個基本教程,它將指導你如何在 Blender 中建立圓柱體,然後將其匯出為場景物件和貨車到 Trainz。圓柱體的示例 config.txt 檔案可在 DLS 上獲取。請先完成影片入門教程。

Blender 是一個龐大而複雜的軟體,但我們只需要一小部分功能來構建 Trainz 的模型,所以從紋理下的教程開始,然後瀏覽入門影片,尤其是介面部分。


在使用 Blender 時你可能會發現有用的東西。

在檔案下是“載入工廠設定”,在 Blender 中可以更改預設設定,這個選項可以讓你恢復到正常狀態。

當使用外部 .tga 檔案進行紋理貼圖時,匯出器需要特定型別的紋理貼圖。即使你可以在 Blender 中看到它,它也可能無法匯出。按 F6,選擇紋理型別為“影像”,然後載入你的影像檔案。

b 用於框選,即選中框內的所有內容。

Trainz 需要絕對尺寸和位置。輸入“N”開啟屬性對話方塊,以便直接輸入尺寸。請注意,名稱是在這裡輸入的 OB:a.limback 等。你可以在大綱視窗/檢視中選擇或搜尋並選擇一個物件,然後將滑鼠懸停在 3D 檢視上,在那裡你可以使用 Tab 鍵進行編輯。你可能需要在大綱中進行實驗,以找到允許你進行選擇的檢視。

使用四個 3D 視窗(在按鈕視窗上方)是有意義的。如果你進入使用者偏好設定(點選檔案新增標籤下方,然後下拉),點選檢視名稱按鈕,每個象限將被標記。

數字鍵盤 0 是攝像機檢視,其他分別是 1 3 7。<Ctrl>3 或 <Shift>3 給出相反的一側等。5 在正交檢視和透視檢視之間切換。

fa: 在 www.blender.org 2.46 旁邊顯示面的數量,乘以 2 得到多邊形數量。M 將選中的專案移動到不同的級別,以檢視選定專案的頂點數。可以透過選擇不可見的表面並刪除它們來減少頂點數。

F9 開啟雙面按鈕,用於關閉雙面紋理。

使用追加 (<Shift><F1>) 從兩個檔案組合內容。 http://wiki.blender.org/index.php/Manual/Using_Linked_Libraries

要更改紋理檔名,按 F6,然後在靜止狀態下更改檔名。

要按名稱選擇專案,請使用大綱。

在建立動畫負載時,請注意第一幀和最後一幀似乎會相互影響,因此最高負載應該是倒數第二幀,否則沒有負載的貨車在空載時可能會顯示高負載。此外,請將幀號設定為最高數字進行匯出。

要在 Blender 中平鋪紋理,“選擇你的平面,按 F,按 A 直到所有面都被選中,然後在 UV 影像編輯器中按 A 幾次,直到所有內容都被選中。按 S 並向上縮放。就是這樣……只需將其縮放至大於 UV 紋理視窗,它就會自動為你平鋪。”


以下連結顯示如何(使用)將藍圖匯入 Blender。

http://www.the-blueprints.com/index.php?tutorials/blender/

從 GMAX 匯入 Blender

過程如下

http://www.44090digitalmodels.co.uk/

第一個教程是設定 GMAX。

第 6 頁和第 7 頁參考了 Tempest 遊戲包,它可以讓你進行 MD3 匯出。它還告訴你在哪裡下載 Tempest 遊戲包。如果你絕望了,我想我應該在某個地方有它。從 GMAX 中退出是最困難的部分。

然後訪問這裡:https://svn.sourceforge.net/svnroot/...trunk/blender/

將所有指令碼複製到你的 Blender 指令碼資料夾中。

匯入 md3。

參考資料

http://blenderartists.org/forum/showthread.php?t=91838

https://wikibook.tw/wiki/Blender...pts/md3_import


[1]
使用 Blender 為 Trainz 建立內容,你顯然需要 Blender 本身,注意 2.49b 版本,許多 Trainz 特定教程使用該版本,可以在這裡獲得 Blender2.49b Blender Exporter for Trainz。該指令碼由 Torsten 為 Blender 2.45 開發,但任何更高版本都應該可以使用。要使用 Blender Exporter for Trainz,你需要解壓縮存檔並將包含的檔案 trainz_exporter.py 複製到 Blender 的指令碼目錄中。這通常是位於子目錄 .blender 中的資料夾 scripts,因此,如果你使用預設路徑在 Windows 系統上安裝 Blender,則必須將檔案 trainz_exporter.py 從存檔複製到資料夾 C:\Program Files\Blender Foundation\Blender\.blender\scripts 中。在一些 Blender 安裝中,它可能位於文件和設定下的 Application Data\Blender Foundation\Blender\.blender\scripts 中,應用程式資料可能是 Windows 中的隱藏資料夾/目錄,這使得定位它變得很困難,尤其是在 Windows 7 機器上,你可能需要關閉 UAC 才能訪問它。或者,如果你安裝了兩個不同版本的 Blender,或者從一個版本升級到另一個版本,你會在“\Application Data\Blender Foundation\Blender”位置找到額外的資料夾。開啟你正在使用的 Blender 當前版本的資料夾,例如“Application Data\Blender Foundation\Blender\2.60\scripts\addons\”。

對於 Blender 2.5 及更高版本,你需要在 bitbucket 上獲取 Torsten 提供的匯出器 bitbucket.org。在撰寫本文時,可供下載的指令碼適用於 blender 2.65。

你還需要複製 Auran XML 匯入器,這是 Blender 等所需的。 http://online.ts2009.com/mediaWiki/index.php5/Downloads 然後下載 Trainzimporter.rar。

每次 Blender 啟動時,它都會掃描此目錄並將找到的任何指令碼包含到其選單結構中。因此,如果你在複製匯出器指令碼後啟動或重新啟動 Blender,那麼你可以使用 Blender 選單 檔案 > 匯出 > Trainz 匯出 呼叫它。在選擇要匯出內容後,如果沒有任何問題,你會發現自己位於 Blender 的檔案儲存對話方塊中。選擇所需位置和檔名,然後按 儲存 最終建立資原始檔。你應該始終檢查 Blender 控制檯以獲取資訊或警告,因為匯出器只在出現致命錯誤時才會停止。

Blender 的幫助資訊在這裡: http://blenderartists.org/forum/

此論壇主題包含大量有用資訊。 http://forums.auran.com/trainz/showthread.php?89501-Blender-Exporter-for-Trainz&highlight=Blender

Blender 設定

[編輯 | 編輯原始碼]

我們仍在試驗 Blender 設定,以獲得 Trainz 中的最佳結果。然而,以下建議應該引起注意。

  • 在 Blender 中,無法為 Blender 單位設定參考比例,這與 GMAX 不同,在 GMAX 中我們可以指定一個 GMAX 單位等於例如一米。在 Blender 中,只需假設一個 Blender 單位 (BU) 等於一米。這是 Trainz Blender 匯出器中內建的假設。如果你想使用英制單位,那麼你可能需要探索 Blender 網格屬性編輯器 指令碼。
  • 如果你想將物件移動到絕對位置,請透過 Tab ↹ 切換到物件模式,然後按 N。變換屬性視窗將出現,然後你可以輸入所需的數值。但是,要注意:LocXLocYLocZ 指的是區域性座標系中的座標。這些僅在物件沒有父級時才指的是世界座標系中的座標。如果你已經分配了父級,那麼你必須輸入相對於該父級的座標。
  • 並非所有在 Blender 中視覺化的材料屬性都會在 Trainz 中產生效果,而 Trainz 中可以實現的一些效果無法在 Blender 中視覺化。因此,請務必在 Trainz 中檢視你的模型,不要相信你在 Blender 中看到的內容。
  • 關於紋理:只有漫射、不透明度、反射和法線貼圖在 Trainz 中有效。你也可以匯出沒有紋理的網格。
  • 如果您的安裝資料夾位於引導驅動器上的“程式檔案”中,您還需要確保您的臨時資料夾(在使用者首選項中設定)位於其他地方,否則 Blender 將無法寫入臨時檔案。
網格是您將在 Trainz 中看到的 Blender 物件。您可以透過操作 Blender 基本體或甚至放置頂點並建立面來構建物件。請記住以下幾點
  • 將您的創作居中於原點,因為 Trainz 在您插入資源時將此點放置在游標位置
  • 面可以是雙面的或單面的,在 Blender 中,這是一個網格,而不是材質選項。您只會注意到 Trainz 中的差異,因為 Blender 始終雙面渲染面。
  • 每個網格都需要一個材質;您可以對不同的網格使用一個材質
  • 注意頂點和麵的數量
匯出器僅識別在匯出期間可見的網格。確保您要匯出的所有物件都可見,並且您還選擇了所有必要的圖層!此行為有兩個原因:首先,您看不到的任何內容都不會被匯出(可能是一個長期遺忘的測試網格)。第二個原因是,您可以將大型或動畫物件儲存在一個 Blender 檔案中,並透過更改可見性(圖層在此發揮作用)來僅匯出必要的部件。
本節中的術語骨骼通常代表幫助物件來構建層次動畫系統。它與 Blender 骨骼中包含的子物件骨骼無關。到目前為止,Blender 匯出器只識別格子為有效的骨骼物件。
以下是有關 Blender 中動畫基礎知識的兩個教程
• 首先觀看此影片教程以瞭解動畫,例如幀號在哪裡。[2]
• 接下來,對於 Trainz 中使用的簡單動畫,請觀看此教程。[3]
一旦您想要為您的資源製作動畫,就無法避免使用骨骼。您可以透過放置一個格子(新增 > 格子)並將其重新命名為類似於b.r.something的內容來建立骨骼,正如 CCG 中描述的骨骼命名約定所述。
請注意,動畫是透過使骨骼 b.r.rot 等成為物件的父級來實現的,然後將動畫應用於骨骼。
如果您使用骨骼,則需要構建一個完整的層次結構,這意味著從根骨骼開始,所有其他骨骼或網格都需要是此根骨骼或任何從屬骨骼的子級。如果您有鬆散的網格或骨骼,則匯出器將失敗,因為未繫結的網格不會顯示在 Trainz 中。
根骨骼應位於原點,並且不應旋轉。最佳實踐可能是將其放置在頂檢視(熱鍵NumPad 7)中,並保持不動。根骨骼也不應該被動畫化;它用作此資源中任何未動畫化網格和任何不受動畫父級驅動/依賴的骨骼的父級。
要匯出骨骼,它們必須可見;因此請檢視您的大綱和圖層。

附件點

[編輯 | 編輯原始碼]
附件點用於在 Trainz 中附加效果、軌道甚至其他網格。要建立 AP,您必須先新增一個空物件(新增 > 空物件)。之後,根據需要放置並旋轉它,併為它起一個遵循 CCG-Rules for APs 的名稱(a.whatsoever,您還記得嗎?)。AP 不需要父級,因為此資訊將在匯出期間丟失。雖然使動畫成為可能,但 Trainz 使用擴充套件的命名方案。假設您有一個骨骼b.r.john和一個 APa.doe。要告訴 Trainza.doe應該像b.r.john一樣動畫化,您必須將 AP 重新命名為a.r.john/a.doe。在您的 config.txt 中,此 AP 仍然被引用為a.doe
對網格和骨骼有效的,對附件點也有效:如果它們不可見,它們將不會被匯出。
您可以在 Blender 中操作漫射和鏡面顏色,以便 Trainz 中的材質呈現您想要的視覺效果。您可以在材質面板中找到兩者,Col 代表漫射顏色,Spe 代表鏡面顏色
1 - Blender 材質面板
Trainz 支援另外兩種顏色:環境色和自發光色。
Blender 中的環境色與 Trainz 中的工作方式不同,並且在大多數情況下,環境色和漫射色將相等,因此在匯出期間環境色將從漫射色複製。自發光色用於 Trainz 中的自發光,在 Blender 中沒有提供。由於物體通常即使被照亮或發光也具有相同的顏色,因此匯出器在此也複製漫射色的值。
如果您計劃使用紋理,則應將漫射顏色設定為純白色,否則您的紋理在 Trainz 中的顯示將比預期更暗。

不透明度

[編輯 | 編輯原始碼]
您還在材質面板中找到不透明度滑塊,在 Blender 中稱為 Alpha(右側的滑塊A)。值為 1 表示材質完全可見,值為 0 表示您的材質完全不可見。如果您使用也影響不透明度的紋理貼圖,那麼最好將 Alpha 滑塊保留在其正確位置,因為總體不透明度不會高於材質不透明度。

鏡面反射

[編輯 | 編輯原始碼]
可以使用著色器面板調整鏡面反射。有趣的是面板中間的Spec(鏡面反射)和Hard(硬度)滑塊
2 - Blender 著色器面板
Spec(“鏡面反射”)滑塊用於調整鏡面顏色的強度,從 0(無鏡面高光)到 2(完全鏡面高光),而Hard(“硬度”)滑塊用於調整反射光的強度。較高的硬度值會產生硬鏡面反射(想象一下玻璃或拋光表面),而較低的硬度值會產生暗淡的光澤(如瀝青或粗糙/髒金屬)。硬度範圍(0 到 511)將被 Trainz 匯出器縮放到 0 到 128。為避免 Trainz 中出現奇怪的效果,硬度值低於 4 會關閉鏡面反射。

自發光

[編輯 | 編輯原始碼]
亮度無需被照亮。您可以在著色器面板的右下角找到滑塊Emit。您訂購的自發光度越高,您的材質在漫射色中發光就越強。

這是最容易出現問題的領域。

這是最簡單的情況,所以先做它,一旦您完成了這部分工作,就可以增加複雜性。

右鍵單擊下圖並將其儲存為Blender cylinder texture.jpg。Trainz 可以使用.jpg檔案,但最好將其轉換為Blender cylinder texture.tga

步驟 1: 啟動 Blender 後,刪除預設的立方體。按 空格鍵 然後建立一個 8 面的圓柱體。按 N,它將顯示變換屬性對話方塊。

步驟 2: 透過更改變換屬性對話方塊中的值,可以更改物件的尺寸和旋轉。這裡,圓柱體透過將LocZ更改為2.00向上移動了 2 米,並且透過將其RotY設定為 90 改變了其方向。

步驟 3:F5。在連結和管道窗格中,從當前顯示MA:Material的下拉選單中選擇新增新項

下拉選單現在應該顯示MA:Material.001

步驟 4:F6。在紋理窗格中,從當前顯示TE:Tex的下拉選單中選擇新增新項

下拉選單現在應該顯示TE:Tex.001。從紋理型別下拉選單中選擇影像對映影像影像窗格將出現。

步驟 5:影像窗格中,按載入然後導航到您的影像檔案。

雙擊影像檔案,其名稱將出現在檔案選擇對話方塊頂部的第二個欄位中。按選擇影像,影像的元資料將出現在影像窗格中。

步驟 6:F5 然後導航到對映輸入窗格。按UV按鈕將對映輸入更改為UV。

步驟 7: 將三個 3D 顯示視窗之一更改為UV/影像編輯器,然後按影像按鈕右側的按鈕,以選擇您剛剛載入的紋理檔案。

步驟 8: 為了對映紋理,我們必須在編輯模式下展開網格。透過按 Tab ↹從物件模式切換到編輯模式。

步驟 9: 透過按 A確保整個網格都被選中。按 U 並選擇展開(智慧投影)以展開網格。

透過單擊確定按鈕接受預設設定。

步驟 10: 為了編輯 UV 對映,單擊 UV/影像編輯器工具欄中的UV 島嶼選擇模式按鈕。該按鈕看起來像一個等邊三角形,其中包含代表頂點的方塊。

步驟 11: 將網格的面移動到紋理貼圖上的位置。首先,在UV/影像編輯器視窗中,選擇構成圓柱體下端的八個面。右鍵單擊選擇一個面,以及 ⇧ Shift+右鍵單擊依次選擇多個面。選擇後,將這些面定位在紋理貼圖上的橙色圓圈上。為此,請使用抓取工具(按 G並移動滑鼠)。如有必要,您可以透過按 G+XG+Y,分別約束抓取工具到x軸或y軸。如有必要,您可以使用旋轉工具(按 R)旋轉這些面。透過按 S然後拖動滑鼠來縮放面以使其適合圓圈內部。以相同的方式將構成圓柱體上端的面定位在紋理貼圖的藍色圓圈上。

縮放下圓柱體側面上的面,以避免中間出現彩色點。

要預覽結果,請按 F12

步驟 12:Tab ↹ 返回物件模式。現在是時候將物件匯出到 Trainz 了。轉到 檔案 選單並選擇 匯出\Trainz 匯出 (im, km, pm)...。將物件匯出到 cylinder.im 以匹配示例 kuid。將 cylinder.im 檔案、紋理檔案和 texture.txt 檔案複製到 DLS 上可用的風景物件克隆中,例如 kuid:86627:1791。風景物件應該會在 Trainz 中顯示出來。

如果您沒有 Trainz Exporter 指令碼,請從 SourceForge 專案頁面 獲取。將指令碼檔案複製到 Blender Foundation\Blender\.blender\scripts\ 中。

要建立貨車或機車,我們需要新增連線點,並使用不同的 config.txt 檔案,例如 kuid:86627:1792(可在 Trainz 下載站 上獲得)。

首先,我們需要旋轉物件,使其沿著軌道放置。在物件模式下,按 N 進入 變換屬性 對話方塊。注意這裡的 RotYRotZ 值。

我們將在場景中新增更多專案,為了在 Blender 中輕鬆選擇專案,我們使用概述。從 視窗型別 列表(底部視窗工具欄中的第一個按鈕)中選擇 概述。開啟概述,然後按概述工具欄中的 檢視 按鈕,然後選擇 顯示概述

接下來,我們新增將成為連線點的空物件。


Trainz 希望在連線點上看到特定的名稱,因此我們在 變換屬性 對話方塊中將 OB: 名稱從 Empty 更改為 a.limfront

變換屬性 對話方塊中,將 LocZ 值更改為 0.89LocY 值更改為 -4.5LocX 值更改為 0.0

我們需要為後部聯軸器新增另一個連線點。透過按 ⇧ Shift+D 複製 a.limfront 連線點。將副本重新命名為 a.limback。將它的 LocY 值更改為 4.5

我們還需要為轉向架新增連線點。新增以下連線點

  • OB: a.bog0,引數為 LocX = 0.0LocY = -1.0LocZ = 0.0
  • OB: a.bog1,引數為 LocX = 0.0LocY = 1.0LocZ = 0.0

如果您使用的是示例貨車配置,您還需要新增

  • OB: a.bog2,引數為 LocX = 0.0LocY = 0.0LocZ = 0.0

現在儲存您的工作(將檔案命名為“cylinder”),並將模型匯出到 Trainz。檔案/匯出/Trainz 匯出。將 cylinder.im 檔案、紋理和 texture.txt 檔案複製到 DLS 上可用的貨車物件克隆中,例如 kuid:86627:1792。貨車物件應該會在 Trainz 中顯示出來。注意示例 kuid 有兩個圓柱體,因此如果您看到一個,那麼您就成功了。

通用

[edit | edit source]

首先,一些關於紋理的常見事項

  • 切勿使用 .jpg 等壓縮影像格式,因為它們通常會扭曲顏色,在載入時浪費資源(要提取它們需要額外的記憶體和 CPU 時間),並且在記憶體中的佔位空間與未壓縮的圖片格式相同。一個不錯的格式是 Targa (.tga),因為它沒有壓縮(不要使用 RLE 選項!),並且還能夠儲存 alpha 通道(如果需要)。
  • 儘可能縮小紋理尺寸。您可以建立比最終使用尺寸大兩倍的紋理,然後在啟用抗鋸齒的情況下將其縮小。這樣,您幾乎可以獲得與原始貼圖相同級別的細節,但只需要 1/4 的記憶體。
  • 始終使用“2 的冪”值作為貼圖尺寸(例如 64x64、128x128、128x512)。此類紋理可以非常快速地處理,因為“2 的冪”數字是您硬體的原生語言。如果您不遵循此規則,您的網格將在 Trainz 中顯示為白色。您不必使用方形貼圖,但必須避免長寬比大於 1:8(Trainz 不支援此比例)。

在 Blender 中,要訪問紋理,您必須首先透過 材質按鈕 視窗中的 紋理 面板將其新增到專案中。按 F5 訪問材質按鈕視窗,然後單擊紋理面板中的 新增新 按鈕以新增新的紋理。

3 - Blender 紋理面板 - 空
4 - Blender 紋理面板 - 建立的紋理物件

建立紋理 (TE:) 物件後,使用 貼圖輸入 面板告訴 Blender 貼圖資訊應該來自哪裡,以及使用 貼圖至 面板指定應該影響哪個材質屬性。

5 - Blender 貼圖輸入面板
6 - Blender 貼圖至面板

Blender 選擇的預設貼圖輸入是 Orco。這對於反射貼圖來說是可以的,但對於其他型別的貼圖,Exporter 指令碼只接受 UV 貼圖輸入。作為貼圖目標(貼圖至 面板),您可以選擇以下一個或多個選項

  • Col,用於漫反射貼圖
  • Alpha,用於不透明度貼圖
  • Ref,用於反射貼圖
  • Nor,用於法線(凹凸)貼圖

您可以分配其他貼圖目標,這些紋理將被匯出,但您不會在 Trainz 中注意到任何效果。

剩下的就是當然要載入紋理本身。在 Blender 中,您可以使用紋理面板(按 F6 訪問)定義紋理的內容。您可以匯出到 Trainz 的唯一紋理型別是 影像,因此所有其他選項(DistortedNoise、Voronoi 等)都可以忽略。

7 - Blender 紋理按鈕
現在,透過按影像面板上的 載入 選擇相應的影像。
只剩下一個選項,“無紋理”。Blender Exporter for Trainz 允許您匯出沒有任何紋理的模型。由於可以直接在 Trainz 中對純網格進行“快速檢查”,這可以加快資產建立速度。要匯出沒有任何紋理的模型,您只需刪除可能分配的紋理物件。

漫反射紋理

[edit | edit source]
漫反射紋理是最常用的紋理型別。它們本質上定義了物體的表面。要使用它們,您需要在 貼圖輸入 面板中選擇 UV 按鈕,在 貼圖至 面板中選擇 Col 按鈕。您可以使用 貼圖至 面板右側的 Col 滑塊調整紋理的量。

不透明度紋理

[編輯 | 編輯原始碼]
Alpha 紋理用於模擬透明材料或使物體的一部分不可見。你可以建立髒窗戶,或使一個簡單的平面看起來像一個轉向架零件。Alpha 貼圖通常與漫射貼圖一起使用,因此所需的UV貼圖應該已經完成。選擇Alpha作為目標。紋理數量由Map To面板右側的滑塊Var控制。
如果你使用帶 Alpha 層的影像,你可以組合漫射和不透明紋理。你需要在“Map Image”面板中選擇“UseAlpha”選項,並在“Map To”面板中選擇ColAlpha作為目標。
如果你使用不透明度,可能會出現一個小問題:由於 Trainz 中的一個 bug,不完全不透明或透明的區域可能會相互重疊。你可以從 SourceForge 下載兩個相關示例來檢視問題和一個可能的解決方法。

反射紋理

[編輯 | 編輯原始碼]
這些紋理在使用方式上與其他紋理略有不同,因為 Trainz 使用球面對映自動對映它們。你可以想象,如果你建立一個光滑的球體並分配一個反射貼圖,這個過程是如何運作的。哪個貼圖部分被顯示取決於從相機到物體表面的想象光線反射的方向。這就是為什麼你在光滑球體的表面上看到整個貼圖的原因。
要使用反射貼圖,你只需要在“Map Input”面板中按下Refl按鈕,並在指定紋理的“Map To”面板中按下Ref按鈕。你會注意到材料預覽和渲染視窗中都不會出現任何顏色。這是因為 Blender 使用反射紋理來修改反射的強度,而不是顏色。但不要擔心,在 Trainz 中你會看到你的顏色回來;)。

硬度紋理

[編輯 | 編輯原始碼]
你可以分配硬度紋理,但你會失望。它們不會影響硬度,而是會在匯出期間被視為反射紋理。這種行為是從原始匯出器複製來的,因為任何試圖影響“shinestrength”的嘗試迄今為止都會導致一個完全白色未照亮的物體。

法線紋理

[編輯 | 編輯原始碼]
法線紋理用於模擬平面上高低起伏。要使用它,你需要一個UV貼圖輸入和一個Nor貼圖輸出。請注意使用法線貼圖,而不是凹凸貼圖。兩者用於相同的目的,但它們包含不同的資料。

紋理組合

[編輯 | 編輯原始碼]

紋理對物體在 Trainz 中外觀的影響由所謂的“材料名稱裝飾”控制。除一個例外外,Trainz 的 Blender 匯出器會根據你分配的紋理選擇合適的裝飾。這個例外是m.billboard,因為這種材料裝飾用於始終面向相機的物體。由於匯出器無法檢測到你是否想要這種行為,你需要自己用m.billboard結尾來裝飾材料名稱。通常,匯出器不會覆蓋已知的材料裝飾,因此,如果你想確保你的材料將被匯出為m.gloss,那麼只需要自己將m.gloss附加到材料名稱。

目前支援的所有紋理組合列表

[編輯 | 編輯原始碼]

單紋理

  • 漫射紋理
  • 反射紋理
  • 硬度紋理(將顯示為反射紋理)

雙紋理

  • 漫射和 Alpha 紋理
  • 漫射和反射紋理
  • 漫射和硬度紋理(與漫射和反射相同)
  • 漫射和法線紋理

三紋理

  • 漫射、反射和 Alpha 紋理(在這種情況下,Alpha 紋理影響反射紋理,而不是漫射紋理)
  • 漫射、Alpha 和法線紋理(不允許反射或硬度紋理)
  • 漫射、反射和法線紋理(不允許 Alpha 紋理)
在動畫匯出情況下,原始匯出器會要求你提供一個事件檔案,以將事件繫結到特定幀。在 Trainz 的 Blender 匯出器中使用事件類似。將 Blender 視窗切換到文字編輯器視窗,並透過檔案>新建(熱鍵Alt N)建立一個新的 TX 物件。為每個事件輸入一行,其中包含幀號、事件型別和事件名稱。如果你最終將此 TX 物件重新命名為events,那麼匯出器將解析此文字並在動畫檔案中建立所需的條目。
示例作為附加檔案,可以在 SourceForge 的下載部分找到。
華夏公益教科書