「金太郎飴」指令、使用介紹

「金太郎飴」作者 Takahiro Karino 歡迎您自由運用曲線物件製作程式「金太郎飴」。本說明翻譯自「金太郎飴」程式內附之說明文件。
因部分指令沒時間實際完整測試,內容僅供參考。
這個程式有著以下功能。
·自由製作各種樣式的物件範本。
·自由設定各式材質貼圖使用在物件範本。
·自由設定任意長度的物件範本。
·各種樣式 csv 物件可輕鬆修改為物件範本。
·運用物件範本迅速做出任意曲線的物件。
·運用物件範本迅速分割曲面物件的座標斷面。
·運用物件範本輸出有超高和坡度的曲面物件。
·系統物件自由設定是否彎曲、超高、坡度。

當然這個程式不能說是萬能,不過,當您要製作的 bve 物件有同規格卻需要大量製作出不同曲率彎取時,這個程式是非常便利的。

不過在輸出這些曲率物件之前要先會寫出物件範本,「金太郎飴」的物件範本指令寫法類似 bve 的物件製作指令,所以熟悉 bve 的物件製作指令對於製作物件範本很快就能上手了。

「金太郎飴」的概念在於增加物件斷面數量並做出座標偏移,也就是將 bve 的 csv 物件在記事本上原本需要拿著計算機算出斷面處座標的位移值使用程式輸出,雖然「金太郎飴」不是直接在 3D 畫面下直接製作,或是直接將 csv 物件直接設定曲率後輸出,還是要利用文字方式使用人工編輯指令、參數,不過卻也省了繁雜的計算。

指令參照

對於設定物件範本能利用的指令一覽。與原本 bve 的 csv 指令相似(以下簡稱 csv 指令),但書寫範例可能與原 bve 指令意義不同,請注意!另外有一些是「金太郎飴」專用的新指令。不可使用、書寫於 cvs 物件指令中。



符號(delimiter)

;(半形分號)

這個符號使用在一行文字的開頭時,這一行的指令會作為註解。

※ 在將物件範本輸出為 csv 物件時,判定為註解處將不會輸出。

,(半形逗號)

是劃分指令和參數的符號。


輸出項目(section)

輸出項目是改變指令結構的意義和效果。各輸出項目以任意的順序能任意的件數記述。
※ 每一個輸出項目指令只能搭配一個系統物件,在同一系統物件中混合書寫是無效的。2006/01/16註記

·斷面輸出項目

[Conversion]

這個輸出項目為物件斷面的彎曲和傾斜等設定格式。
這個程式的啟動時會設定為[Conversion],要是均為斷面輸出項目則可以省略。


·物件輸出項目(通常)

[Constant]

書寫在這個輸出項目以下的指令就像一般的 csv 物件一樣那樣,任何彎曲的輸出設定均不使用。


物件輸出項目(特殊)

[modify]

這個輸出項目以下書寫的是 csv 指令、不過設定的彎曲設定會被輸出。


忽略輸出項目

[avoid]

這個輸出項目以下書寫的指令、參數、文字全部忽略。需要忽略之處要利用註解方式書寫覺得很麻煩時,能將這段落忽略。



程式轉換項目指令集

CreateMeshBuilder
物件構成指令的系統物件(與 csv 指令相同)。

※ 一個檔案可包含數組系統物件(CreateMeshBuilder)。


AddVertex,X,Y,Zmax
指定座標點 X、Y 和在 Z 軸上出現的的最大值(長度)。

※ 當眾多座標點之 X、Y 值相同,而 Z 值不同時,只要書寫一個於 Z 軸上出現的的最大值 Zmax 的座標點 。
※ 系統物件(CreateMeshBuilder)中座標點數限制為 256 個。



AddFace,Index0,1[,....]
和 bve 的 csv 物件檔一樣,依照座標點的排列順序分配座標索引值,資料轉出時一樣是物件位置面的指令。

※ 製作一個位置面至少需要 2 個頂點。故只需連成線、不需連成面,將欲連結之座標索引值在 X 軸上連成線即可。
  資料轉出時自動配合 Y 和 Zmax 形成物件位置面。


AddFace2,Index0,1[,....]
和 AddFace 指令使用方式一樣,資料轉出時物件在表裡兩側位置面均會顯示。


AddCant,Index0,1[,....]
設定座標點是否受到超高的影響。

※ 座標索引值可以隨意設定的順序,當然重覆設定也沒有意義。
※ 如果沒有書寫本指令則全部座標均不受超高影響,書寫後有寫座標的部分才會受影響。

GenerateNormals
自動計算可見位置面的法線向量。(與 csv 指令相同


SetCurve,Radius,Divides,Cant_In,Cant_Out
在系統物件中個別設定曲率、分割斷面數、如果是由程式設定曲率等輸出,這個指令將視為無效。


SetPitch,Pitch
在系統物件中個別設定坡度【per mill ‰】


SetColor,R,G,B
設定系統物件中物件位置面顯示之色彩。

※ 對原 csv 指令之 α 之透過值無法在程式中設定。請在輸出成為 csv 格式後再自行修改。


Offset,Xoffset,Yoffset,Zoffset
移動在彎曲和傾斜在程式設定輸出前之物件座標位置。
寫在 SetCurve 前也可以。Yoffset 在參數上,與 Translate 指令是同樣的意思。


Translate,Xtrans,Ytrans,Ztrans
移動在程式設定輸出之後於系統物件中三次元座標內之所有座標點位置。

※ 此指令只能套用於每個系統物件中,不能套用於個別的 Vertex 。
※ Translate 含在程式計算中、程式設定輸出後會於運算新座標後自動刪除。



LoadTexture,TextureFileName
物件表面貼上材質圖之指定圖片檔案名稱。

※ 檔案名稱使用空白、部份符號、部份日本語會無法使用(為程式區分段落之因素)。


SetTextureCoordinates,Index,RatioOfTextureWidth,RatioOfTextureHeight
使用方式與 cvs 指令相似,設定材質圖之圖座標。

※ 若程式產生後物件 z 軸與相關材質圖的橫向 x 值相符,請將 x 軸之相同值之 Index 調整為一指令;
  同樣的 z 軸與相關材質圖的縱向 y 值相符,請將 z 軸之相同值之 Index 調整為一指令。
※ 相同縱橫值之若不調整為同一指令之 Index 值,在程式輸出後之物件貼圖面可能會亂七八糟的。
※ 材質圖的圖座標除設定 z 軸之最大圖座標值外,起點圖座標 z 值強制由 0 起算。



SetDecalTransparentColor,R,G,B
設定材質圖內的某種顏色成為透明色。(與 csv 指令相同)。



程式無法轉換項目指令集

Cube,Cylinder
csv 指令為立方體結構,無法新設斷面切出新座標做偏移。


Rotate
因為將系統物件轉向在製作曲率之程式輸出上不具意義,所以作者不支援這指令。並建議在輸出為 csv 格式後再自行追加。



程式固定項目指令集

[Constant]
書寫在這個輸出項目以下的指令就像一般的 csv 物件一樣那樣,任何彎曲的輸出設定均不使用。



程式更改項目指令集

[Modify]
這個輸出項目以下書寫的是 csv 指令,但座標會隨著程式設定輸出移動頂點。

AddVertex 狀況下為一個座標對一個座標的計算位移值。
Translate 狀況下對移動後的座標彎曲度進行對應的移動。移動後的座標依據 Translate 和 Rotate 的組合方式生成。

AddVertex 與 Translate 並存的狀況下物件不做移動。

在 Cube、Cylinder 指令底下的只會以第一個 Translate 指令為變換對象。
如果有在原點的物件狀況下,請另行書寫 Translate,0,0,0 來做原點復歸。

因為目前更改項目只支援標準指令,對於程式設定指定輸出的曲率以外的效果(超高,坡度)不對應。



物件範本簡易書寫範例

一開始若是不會書寫物件範本可由 csv 物件做簡單的修改,以下範例請對照其不同之處,比較其寫法差異。

物件範本(*.ini)書寫範例 物件範本書寫說明 物件檔案(*.csv)書寫範例
[Conversion]
;檔名為 FenceB.ini
CreateMeshBuilder

AddVertex,-3.75, 2.0,25.3
,;1→0
AddVertex,-3.50, 2.0,25.3,;2→1
;原 csv Z 軸非最大值均刪除

AddVertex,-3.50,-0.5,25.3,;5→2
AddFace,0,1,
AddFace,1,2,
GenerateNormals
LoadTexture,FenceB.bmp

SetTextureCoordinates,0,5,0.00,;1→0
SetTextureCoordinates,1,5,0.01,;2→1


SetTextureCoordinates,2,5,1.00,;5→2
SetDecalTransparentColor,0,0,255

斷面輸出項目

系統物件宣告

指定座標點(新座標0 Z 軸最大值
     (新座標1 Z 軸最大值


     (新座標2 Z 軸最大值
物件位置面(新座標0、1連線
     (新座標1、2連線
自動計算法線向量
材質圖之指定圖片檔案

設定材質圖之圖座標,新座標0,寬,高
設定材質圖之圖座標,新座標1,寬,高
※ 修正後之座標索引請一定修改

設定材質圖之圖座標,新座標2,寬,高
設定材質圖透明色


CreateMeshBuilder

AddVertex,-3.75, 2.0, 0.0,;0
AddVertex,-3.75, 2.0,25.3,;1
AddVertex,-3.50, 2.0,25.3,;2
AddVertex,-3.50, 2.0, 0.0,;3
AddVertex,-3.50, 2.0, 0.0,;4
AddVertex,-3.50,-0.5,25.3,;5
AddFace,0,1,2,3
AddFace,3,2,5,4
GenerateNormals
LoadTexture,FenceB.bmp
SetTextureCoordinates,0,0,0.00,;0
SetTextureCoordinates,1,5,0.00,;1
SetTextureCoordinates,2,5,0.01,;2
SetTextureCoordinates,3,0,0.01,;3
SetTextureCoordinates,4,0,1.00,;4
SetTextureCoordinates,5,5,1.00,;5
SetDecalTransparentColor,0,0,255

經過對照想必您已參透物件範本最基礎寫方式,如果不能理解為何會這樣刪刪改改,請對照前面所寫的指令集

其他指令就不再另行介紹,各位自己試試便能知曉。


使用方式

在「金太郎飴」資料夾中有兩個捷徑,請依指定之作業系統點擊開啟。

・Windows98/ME----MSDOS 輸入(MSDOSプロンプト)
・Windows2000/XP---命令提示字元輸入(コマンドプロンプト)
正常狀況下會開啟一個黑底的指令輸入畫面,並出現下面文字。

...\金太郎飴>

輸入指令啟動調動「金太郎飴」吧。如下面方式輸入。

...¥金太郎飴>csc

接著設定讀入物件範本及曲率、超高之參數值。詳細如下

...¥金太郎飴>csc 物件範本檔案名 半徑 分割斷面數 進入超高 脫出超高

※ 如上範例即為
...¥金太郎飴>csc FenceB 10 4 0 0

※ 物件範本檔案之副檔名 .ini 不需輸入
※ 分割斷面數設為 0 以下時程式會強制設為 1 。


這是基本且唯一指令說明。但請熟記,因為就是這幾個參數在作輸出轉換的。
當輸入參數完成後按下 Enter 及自動輸出 csv 檔案,並做輸入復歸動作。

最後、要結束指令輸入畫面,輸入 exit。

...\金太郎飴>exit


2005/12/09 大綱、草稿翻譯
2005/12/20 翻譯完成
2006/01/16 簡易書寫範例 2006/03/03 追加超高備註
註冊商標 Microsoft® 、Windows® 是微軟公司的註冊商標。
在本網頁內所連結網頁和提及的產品、商標、名稱、影音,均屬於其相關商標權利所有人。所有內容屬介紹性質,不表示本站與該等業者有有任何關係,同時對相關連結網頁不擔保其正確性、完整性及有效性。


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



Copyright © 2002~2007 Chikainn83