CSV 物件語法

CSV 格式簡介

CSV 全名為 Comma-separated values,是一種純文字的檔案的格式。CSV 這個名稱的意思是用半形逗號 (,) 來分隔各項數據。CSV 物件相比起 B3D (Boso View Express Structure Mesh Diagram) 是一種較新的格式,現時大部分的 BVE Trainsim 物件均使用 CSV 作物件格式。

使用範圍

CSV 物件可以於 BVE 2、BVE 4 及 openBVE 均可使用。

特別指令

,
各指令與各參數之間的分隔符號。如使用試算表軟件 (Spreadsheet software) 製作會因使用格數自動產生。
;
註解 (Inline comment) 符號。如果起始處非指令之文字或指令及參數前寫成「;」這種符號,那行將會當作註解,該指令及參數均不使用。

一般指令

CreateMeshBuilder
系統物件必定的開頭宣告,是製作系統建築 (Mesh Builder) 物件的開頭宣告。
AddVertex, Vx, Vy, Vz
定義頂點 (Vertex) 的座標。

  • Vx: 頂點的 x 座標數值
  • Vy: 頂點的 y 座標數值
  • Vz: 頂點的 z 座標數值
AddFace, V1, V2, V3, ... ,Vn
把頂點串連成一個平面
(Face),而該平面是只可以在其中一邊顯示。最少需要 3 個頂點才可將串連成平面。

  • V1, V2, V3, … , V1: 面的各頂點索引 (Index)。
AddFace2, V1, V2, V3, ... ,Vn
把頂點串連成一個平面
(Face),而該平面是可以兩邊都可以顯示。最少需要 3 個頂點才可將串連成平面。

  • V1, V2, V3, … , Vn: 面的各頂點索引 (Index)。
GenerateNormals
產生法線 (Normal)。
SetColor, Red, Green, Blue [, Alpha]
Adobe Photoshop 的 Color Picker

面的顏色設定。

  • Red: 紅色 (0 – 255)
  • Green: 綠色 (0 – 255)
  • Blue: 藍色 (0 – 255)
  • Alpha: 透明度 (0 – 255)
    0 代表完全透明;255 代表完全不透明。
LoadTexture, Filename
為平面載入材質 (Texture)。

  • Filename: 材質檔案名稱
SetTextureCoordinates, VIndex, Tu, Tv
設定材質的 UV 貼圖 (UV mapping)。UV 貼圖是設定在該頂點的貼圖座標。貼圖座標的橫向單位是 u;直向方向是 v。

  • VIndex: 頂點索引值
  • Tu: 材質的 u 座標數值
  • Tv: 材質的 v 座標數值
SetDecalTransparentColor, Red, Green, Blue
設定材質 (Texture) 圖中轉成透明的顏色。(即是為材質退地)

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

位置轉換指令

這些指令可以簡單地將物件的位置改變,毋須逐個頂點更改座標。

Translate, X, Y, Z
改變物件的位置 (即是改變座標)。

  • X: 移動的 x 座標數值
  • Y: 移動的 y 座標數值
  • Z: 移動的 z 座標數值
Rotate, Ax, Ay, Az, Theta
所有的頂點依設定的原點 (Origin) 旋旋轉。

  • Ax: 旋轉軸
  • Ay: 旋轉軸
  • Az: 旋轉軸
  • Theta: 旋轉角 (0 – ±360)
    順時針為正數;逆時針為負數。

快速製作指令

快速製作指令猶如 3D 軟件內置的立體形狀。

Cube, R1 [, R2, R3]
製作立方體。

  • R1: x 方向的一半邊長
  • R2: y 方向的一半邊長 (本參數可省略)
  • R3: z 方向的一半邊長 (本參數可省略)

如省略 R2R3,便會產生一個邊長為 2 × R1 的正立方體。

Cylinder, N, R1, R2, H
製作圓柱體、圓錐體或平截頭體 (Frustum)。

  • N: 柱體表面分割數目,數值愈大顯示便愈平滑
  • R1: 上底的半徑
  • R2: 下底的半徑
  • H: 高度

R1R2H 為絕對值 (Absolute value)。當 R1R2 為負數時,便不會顯示上底 / 下底。當 H 為負數時,柱身的面會在柱體內側顯示。

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *