Object(場景物件)
- CSV 檔案格式 -
本格式物件檔案可以使用於 BVE2、BVE4 及 openBVE 路線場景中。

首先聲明,本場景物件寫法的其原始來源為 bve 的官方網站,其所有內容為原作者 mackoy 所有。
本頁使用目的僅提供欲製作 bve 物件檔卻不甚了解日文﹙英文﹚說明的同好而製作。
因為本人膚淺到僅會查日文字典兼望文生義,又有多數專業名詞部份不甚了解,
若有翻譯錯誤、意義不明處請多包含,也祈望了解原義之同好指正。

    物件基本指令簡易基礎範例簡易電塔實例物件製作設定    

物件基本指令快速索引
檔案中的基本輔助符號系統物件必定的開頭宣告快速製作各式立方體指令
設定座標與顯示面指令設定、旋轉系統物件指令物件色彩、材質貼圖指令


座標系

※本圖片來源為 bve 官方網站解說圖片



Direct3D 的座標為左手座標系。


R1: X 方向的邊長,在 bve 世界觀為左右,往右為正。
R2: Y 方向的邊長,在 bve 世界觀為上下,往上為正。
R3: Z 方向的邊長,在 bve 世界觀為前後,往前為正。。


單位

bve 物件基本使用長度單位為公尺 (Meter)

※ 建議最小有效單位為公分(小數 2 位),其實實際可達小數 5 位,但尺寸設至公釐已無法分別差距而無意義。

指令寫法


 檔案中的基本輔助符號


 ,(半形逗號 Comma)

各指令與各參數之間的分隔符號,無其它特殊用途,若是用試算表軟體製作會因使用格數自動生成。


 ;(半形分號  Semicolon)

如果起始處非指令之文字或指令及參數前寫成〝;〞這種符號,那行將會當作註解,該指令及參數均不使用。


 系統物件必定的開頭宣告

CreateMeshBuilder

製作系統建築﹙Mesh Builder﹚物件的開頭宣告。(以下稱為系統物件)

※ 若 csv 檔案內有兩個以上系統物件要成型必定要做此宣告,否則會跳過以下所有的指令直到下一宣告。


 快速製作各式立方體指令

Cube, R1 [, R2, R3]

矩形立方體製作。

R1: X 方向的邊長,成型時為二倍的 R1 。
R2: Y 方向的邊長,成型時為二倍的 R2 。
R3: Z 方向的邊長,成型時為二倍的 R3 。

 R2、 R3 可以省略,這樣會做成 2 x R1 的正立方體。
 R1、 R2、 R3 的邊長,因成型時採用原點計算,所以邊長除以二,故要做單位 10 的正立方體,邊長輸入 5 即可。


Cylinder, N, R1, R2, H

圓柱、圓錐平台、圓錐製作。

N: 底部圓週面分割數目
R1: 上底圓週之半徑
R2: 下底圓週之半徑
H: 高

 R1 = 0 且 R2 = 0 時不可能成型。
 R1 < 0 或 R2 < 0 時會以絕對值做其值半徑之圓柱,但不顯示此圓週之顯示面。
※ H < 0 時會以絕對值做其值高度之圓柱,柱之顯示面顯示於內側。
  2004年9月初在
臺灣BVE管理局討論時驚覺到原來此 H 值也可以改成負值,顯示面變為內側。


 設定座標與顯示面指令

AddVertex, Vx, Vy, Vz

製作頂點。

Vx, Vy, Vz: 各頂點在空間內之座標

 依造索引來分配頂點位置,最初的頂點為 0 ﹙原點﹚。
※ BVE 採用的三維空間座標系統為立體直角座標,即 X、Y、Z 三值訂立一點座標位置。


AddFace, V1, V2, V3, ... ,Vn

製作顯示面

V1, V2, ..., Vn: 面的各頂點索引

 顯示面的各頂點索引是要顯示的顯示面上各頂點以順時針方向排序。
2005/11/6修改,當初寫完察覺到寫錯但是現在才修改。
※ 只要三個以上頂點即可成製成一顯示面。


AddFace2, V1, V2, V3, ... ,Vn

制定之顯示面﹙表面﹚與內顯示面﹙裡面﹚均顯示。

 顯示面為該物件面之正向面、表面,內顯示面為顯示面之背向面、內面、裡面


GenerateNormals

自動計算頂點的法線向量。

※ 本指令書寫後物件表面會有明亮度變化。08/08/25新增


 設定、旋轉系統物件指令

Translate, X, Y, Z

本系統物件所有的頂點依此值平行移動﹙更新原點位置﹚。

X, Y, Z: 空間內各座標移動數值


Rotate, Ax, Ay, Az, Theta

所有的頂點依設定的原點旋轉軸旋轉。

Ax, Ay, Az: 旋轉軸
Theta: 旋轉角度[deg]

 旋轉角度是以旋轉軸方向來看,順時針方向為正。
※ Ax、Ay、Az 旋轉軸設定值只要欲設置之旋轉軸設為 1 即可
※ Theta 旋轉角度為 0° ~ 360° ,可為負值(逆時針)。
  2005/11/6:發現製作者好像有國小生,談到角度會不會太難?


 物件色彩、材質貼圖指令

SetColor, R, G, B [, Alpha]

面的顏色設定。

R: 紅色彩度(0 ~ 255)
G: 綠色彩度(0 ~ 255)
B: 藍色彩度(0 ~ 255)
Alpha: α值(0: 透明 ~ 255: 不透明)

 初始值為 255, 255, 255, 255 。
※ 這裡的 RGB 代表的是三原色光,即所謂的 RGB 色彩,也就是用 RGB 三個顏色的數值用 8bit 的資料標示顏色而有 0~255,共256種色深,三種乘起來就有16,777,216 色,也是通稱到的 24bit(全彩)。
08/08/25新增08/08/28編修
確認中!


LoadTexture, Filename

使用圖片檔案來製造物件面的材質﹙Texture﹚。

Filename :欲讀取的圖片檔案名稱

 有效的圖片材質﹙Texture﹚的寬和高度以 2 的平方為單位( 2n; 2, 4, 8, 16, 32, 64, 128,...)。
 圖片檔案格式,請以 8bit(256 色)索引色(indexed color)或者 24bit(全彩)的非壓縮圖檔格式(*.bmp)。
※ 若材質圖中之色彩對比與層次並非明顯情況,建議使用索引色及適當尺寸,能有效降底檔案大小及電腦所佔用的記憶體空間。 08/08/30新增

SetTextureCoordinates, NVertex, Tu, Tv

設定材質圖﹙texture mapping﹚的圖座標。

NIndex: 設定材質圖﹙texture mapping﹚的圖座標索引值。
Tu, Tv: 材質圖﹙texture mapping﹚的圖座標。

※ 設定這個指令及參數是將座標點和材質圖座標整合,告訴程式,在這一座標點時,材質圖的座標為何,用以設定材質圖使用區域與範圍。


SetDecalTransparentColor, Red, Green, Blue

設定材質﹙Texture﹚圖中成為透明的顏色(欲成為可透過之顏色)。

Red: 紅色(0 ~ 255)
Green: 綠色(0 ~ 255)
Blue: 藍色(0 ~ 255)

※ 這裡的 RGB 同樣指的是 RGB 色彩。
08/08/28新增

製作範例


平面道路做成範例

  1.製作物件的開頭宣告(若一個 csv 檔案內有兩個以上系統物件一定要宣告)

    CreateMeshBuilder

  2.依據 X,Y,Z 方向設置四個頂點,依序排列會成為座標索引而分配為0,1,2,3。

    AddVertex, 0,-0.3, 2;0
    AddVertex,25, 0.0, 2;1
    AddVertex,25, 0.0,-2;2
    AddVertex, 0,-0.3,-2;3

  3.製作頂點時已依序訂立好座標索引,故製作顯示面只是依照座標索引順時針輸入。
   ﹙製作到此時是沒有如圖中含材質圖案的,只有成型而已,因範例圖只有一張,請自行判斷。﹚

    AddFace, 0, 1, 2, 3 ,


  4.自動計算頂點的法線向量(測試過不寫好像也行?但是不受光線影響)。

    GenerateNormals

  5.讀取材質圖的檔案名稱。

    LoadTexture, Watchful_1.bmp

  6.設定材質圖﹙texture mapping﹚的圖座標,依照座標索引輸入對應的圖座標。
   ﹙座標?圖座標?有不一樣嗎?該怎麼說~座標是對應物件的,圖座標是對應圖片的。而這兩者有差別﹚

    SetTextureCoordinates, 0, 0, 0
    SetTextureCoordinates, 1, 1, 0
    SetTextureCoordinates, 2, 1, 1
    SetTextureCoordinates, 3, 0, 1


  7.設定材質圖內的某種顏色成為透明色。﹙本範例中不需使用﹚

    SetDecalTransparentColor, 0, 0, 255

   基礎物件詳細製作方式可以參考簡易物件製作示範教學
   簡易高壓電塔基礎指令編寫製作方式可以參考簡易高壓電塔指令實例
   物件取景及進階的製作可以參考場景物件製作設定範例,以上範例希望對你更有幫助。



2008/08/25 詞彙修正:位置面→顯示面,另一面→內顯示面,並追加說明。
2010/11/16 錯誤訂正:平面道路做成範例座標負號輸入錯誤,造成顯示面不明顯,在此向 jksm25885 網友致歉。


遊戲安裝遊戲操作遊戲問題製作工具製作路線製作列車製作物件製作音效
鐵道知識製作心得檔案下載物件圖片真實場景路線風光站務紀錄本站首頁
製作感想網站推薦自我介紹音效編輯影像處理站內導覽簡易分站無用留言



Copyright © 2002~2010 Chikainn83