|
熊本地震悲惨ですね。過去に熊本に行ったことがあるんですけど、そん時いった熊本城が今、結構やられているようで…。悲しいです。被災者のみなさん、頑張ってください。てか、いずれ関西にも大地震くるし…。あ〜嫌だなぁ。
そういえば、今期4回目の蜂の巣を発見しました〜。もう駆除しました。ちなみに毎年出来てます。管理人が気付いてないだけで、知らぬ間に父が駆除してくれてます。てかあの蜂の巣の形と蜂の色が生理的に受け付けられない。
では本題に行きましょう。え?構文説明が軌道だけじゃないかって?だいたい他のは分かりそうだったので省きました〜。記事にしてほしい人がいるならいつでもしますが、まぁこれを参考にする人は少ないと思います。管理人なりに努力してますが。
BVE5香田線(架空路線)制作Part1(香田駅制作その1)
なぜ架空路線かって?取材がめんどくさいですからですよ。ではまず香田駅の配線を。
再現するのは5番線から発車する羽輪駅(8駅先)行き普通です。では構文を。図までしか再現してません。
BveTs Map 2.02
Station.Load('225-0LocalStation.txt');
Structure.Load('Structures.csv'); 0; Curve.SetGauge(1.067);
Curve.SetFunction(1); Track[1].Cant.SetGauge(1.067); Track[2].Cant.SetGauge(1.067); Track[3].Cant.SetGauge(1.067); Track[4].Cant.SetGauge(1.067); Track[4].Cant.SetFunction(1); Track[5].Cant.SetGauge(1.067); Track[6].Cant.SetGauge(1.067); Background.Change('sky'); Repeater['Grass'].Begin(0,0,-0.5,0,0,0,0,1,25,25, 'Grass'); Station['Sta0'].Put(1,-2,1.5);//香田 Track[1].X.Interpolate(32,0); Track[2].X.Interpolate(24,0); Track[3].X.Interpolate(16,0); Track[4].X.Interpolate(8,0); Track[5].X.Interpolate(-8,0); Track[6].X.Interpolate(-16,0); Repeater['railmy1'].Begin0(0,3,5,4.9,'Ballast_5m'); Repeater['rail1-1'].Begin0(1,3,5,4.5,'Ballast_5m'); Repeater['rail2-1'].Begin0(2,3,5,4.5,'Ballast_5m'); Repeater['rail3-1'].Begin0(3,3,5,4.5,'Ballast_5m'); Repeater['rail4-1'].Begin0(4,3,5,4.5,'Ballast_5m'); Repeater['rail5-1'].Begin0(5,3,5,4.5,'Ballast_5m'); Repeater['rail6-1'].Begin0(6,3,5,4.5,'Ballast_5m'); SpeedLimit.Begin(35);
Repeater['香田1番線左'].Begin(1,0,0.05,0,0,0,0,0,5,5,'Form_L_5m');
Repeater['香田1番線右'].Begin0(1,0,5,5,'Form_R_5m'); Repeater['香田2番線左'].Begin(2,0,0.05,0,0,0,0,0,5,5,'Form_L_5m'); Repeater['香田2番線右'].Begin0(2,0,5,5,'Form_R_5m'); Repeater['香田3番線左'].Begin(3,0,0.05,0,0,0,0,0,5,5,'Form_L_5m'); Repeater['香田3番線右'].Begin0(3,0,5,5,'Form_R_5m'); Repeater['香田4番線左'].Begin(4,0,0.05,0,0,0,0,0,5,5,'Form_L_5m'); Repeater['香田4番線右'].Begin0(4,0,5,5,'Form_R_5m'); Repeater['香田5番線左'].Begin(0,0,0.05,0,0,0,0,0,5,5,'Form_L_5m'); Repeater['香田5番線右'].Begin0(0,0,5,5,'Form_R_5m'); Repeater['香田6番線左'].Begin(5,0,0.05,0,0,0,0,0,5,5,'Form_L_5m'); Repeater['香田6番線右'].Begin0(5,0,5,5,'Form_R_5m'); Repeater['香田7番線左'].Begin(6,0,0.05,0,0,0,0,0,5,5,'Form_L_5m'); Repeater['香田7番線右'].Begin0(6,0,5,5,'Form_R_5m'); Structure['Form_RM_25m'].PutBetween(6,5,0);
Structure['Form_RM_25m'].PutBetween(5,0,0); Structure['Form_RM_25m'].PutBetween(0,4,0); Structure['Form_RM_25m'].PutBetween(4,3,0); Structure['Form_RM_25m'].PutBetween(3,2,0); Structure['Form_RM_25m'].PutBetween(2,1,0); Repeater['香田1番線右グレー'].Begin(1,1.5,-0.05,0,0,90,0,0,5,5,'Form_RM_5m');
Repeater['香田7番線左グレー'].Begin(6,1.5,-0.05,0,0,90,0,0,5,5,'Form_LM_5m'); 駅とレール設置や、初期設定などです。
25; Structure['Form_RM_25m'].PutBetween(6,5,0);
Structure['Form_RM_25m'].PutBetween(5,0,0); Structure['Form_RM_25m'].PutBetween(0,4,0); Structure['Form_RM_25m'].PutBetween(4,3,0); Structure['Form_RM_25m'].PutBetween(3,2,0); Structure['Form_RM_25m'].PutBetween(2,1,0); 50; Structure['Form_RM_25m'].PutBetween(6,5,0);
Structure['Form_RM_25m'].PutBetween(5,0,0); Structure['Form_RM_25m'].PutBetween(0,4,0); Structure['Form_RM_25m'].PutBetween(4,3,0); Structure['Form_RM_25m'].PutBetween(3,2,0); Structure['Form_RM_25m'].PutBetween(2,1,0); 75; Structure['Form_RM_25m'].PutBetween(6,5,0);
Structure['Form_RM_25m'].PutBetween(5,0,0); Structure['Form_RM_25m'].PutBetween(0,4,0); Structure['Form_RM_25m'].PutBetween(4,3,0); Structure['Form_RM_25m'].PutBetween(3,2,0); Structure['Form_RM_25m'].PutBetween(2,1,0); 25m間隔でホーム(上面)を設置しています。
90; Repeater['香田1番線L'].Begin0(1,0,5,5,'Form_L_5m_B');
Repeater['香田2番線L'].Begin0(2,0,5,5,'Form_L_5m_B'); Repeater['香田3番線L'].Begin0(3,0,5,5,'Form_L_5m_B'); Repeater['香田4番線L'].Begin0(4,0,5,5,'Form_L_5m_B'); Repeater['香田5番線L'].Begin0(0,0,5,5,'Form_L_5m_B'); Repeater['香田6番線L'].Begin0(5,0,5,5,'Form_L_5m_B'); Repeater['香田7番線L'].Begin0(6,0,5,5,'Form_L_5m_B'); Repeater['香田1番線R'].Begin0(1,0,5,5,'Form_R_5m_B');
Repeater['香田2番線R'].Begin0(2,0,5,5,'Form_R_5m_B'); Repeater['香田3番線R'].Begin0(3,0,5,5,'Form_R_5m_B'); Repeater['香田4番線R'].Begin0(4,0,5,5,'Form_R_5m_B'); Repeater['香田5番線R'].Begin0(0,0,5,5,'Form_R_5m_B'); Repeater['香田6番線R'].Begin0(5,0,5,5,'Form_R_5m_B'); Repeater['香田7番線R'].Begin0(6,0,5,5,'Form_R_5m_B'); 100; Repeater['香田1番線右グレー'].End();
Repeater['香田7番線左グレー'].End(); Repeater['香田1番線L'].End();
Repeater['香田1番線L'].End(); Repeater['香田2番線L'].End(); Repeater['香田3番線L'].End(); Repeater['香田4番線L'].End(); Repeater['香田5番線L'].End(); Repeater['香田6番線L'].End(); Repeater['香田7番線L'].End(); Repeater['香田1番線R'].End();
Repeater['香田1番線R'].End(); Repeater['香田2番線R'].End(); Repeater['香田3番線R'].End(); Repeater['香田4番線R'].End(); Repeater['香田5番線R'].End(); Repeater['香田6番線R'].End(); Repeater['香田7番線R'].End(); 90; Repeater['香田1番線左'].End();
Repeater['香田1番線右'].End(); Repeater['香田2番線左'].End(); Repeater['香田2番線右'].End(); Repeater['香田3番線左'].End(); Repeater['香田3番線右'].End(); Repeater['香田4番線左'].End(); Repeater['香田4番線右'].End(); Repeater['香田5番線左'].End(); Repeater['香田5番線右'].End(); Repeater['香田6番線左'].End(); Repeater['香田6番線右'].End(); Repeater['香田7番線左'].End(); Repeater['香田7番線右'].End(); 点字ブロックなどを設置終了したため、残り10mが上面しかなく、おかしかったので、側面付きを入れています。
110; Repeater['railmy1'].End();
Curve.Begin(164,0); Structure['R164'].Put0(0,3,25); Track[1].X.Interpolate(32,-344);
Track[2].X.Interpolate(24,-164);
Track[3].X.Interpolate(16,-164);
Track[4].X.Interpolate(8,-164);
Track[5].X.Interpolate(-8,-164);
カーブ開始です。他軌道も直線などにするため、相対半径を打っています。
135; Curve.End();
Repeater['railmy2'].Begin0(0,3,5,5,'Ballast_5m'); Track[1].X.Interpolate(27.4,0);
Track[2].X.Interpolate(22.3,0);
Track[3].X.Interpolate(14.2,0);
Track[4].X.Interpolate(6.2,0);
Track[5].X.Interpolate(-10,0);
カーブ終了と共に、相対半径を打っています。
159; Repeater['rail2-1'].End();
Structure['Ballast_2m'].Put0(2,2,2); Repeater['rail5-1'].End();
Structure['Ballast_2m'].Put0(5,2,2); 161; Structure['Ballast_2m'].Put0(2,2,2);
Structure['Ballast_2m'].Put0(5,2,2);
バグ対策。
163; Repeater['railmy2'].End();
Structure['R-164'].Put0(0,3,25); Curve.Begin(-164,0); Track[1].X.Interpolate(19.8,164);
Track[2].X.Interpolate(18.1,-164);
Structure['R-164'].Put0(2,3,25); Track[3].X.Interpolate(10,164);
Track[4].X.Interpolate(2,164);
Track[5].X.Interpolate(-14.2,164);
Structure['R164'].Put0(5,3,25); Track[6].X.Interpolate(-16,164);
188; Curve.End(); Repeater['railmy3'].Begin0(0,3,5,5,'Ballast_5m'); Track[1].X.Interpolate(13.7,0);
Track[2].X.Interpolate(14,0); //1番線と2番線合流
Track[3].X.Interpolate(8,0);
Track[4].X.Interpolate(0,0);
Repeater['rail4-1'].End(); //4番線と自線合流 JointNoise.Play(0); Track[5].X.Interpolate(-14,0);
Track[6].X.Interpolate(-14.15,0); //5番線と6番線合流
208; Track[1].X.Interpolate(10,164);
Repeater['rail1-1'].End(); Structure['R164'].Put0(1,3,25); 233; Track[1].X.Interpolate(8,0);
268; Track[6].X.Interpolate(-2,-164);
Repeater['rail6-1'].End(); Structure['R-164'].Put0(6,3,25); 293; Track[6].X.Interpolate(0,0);
JointNoise.Play(0); //自線と6番線合流 みての通りです。これで、複線間隔8mの複線ができました。
320; Track[7].Cant.SetGauge(1.067);
Track[7].X.Interpolate(0,164); Structure['R164'].Put0(7,3,25); JointNoise.Play(0); Track[8].X.Interpolate(8,-164);
Track[8].Cant.SetGauge(1.067); Structure['R-164'].Put0(8,3,25); //複線両渡りポイント開始 345; Repeater['rail7-1'].Begin0(7,3,5,4.5,'Ballast_5m');
Track[7].X.Interpolate(2,0); Repeater['rail8-1'].Begin0(8,3,5,4.5,'Ballast_5m');
Track[8].X.Interpolate(6,0); 350; SpeedLimit.End();
370; Repeater['rail7-1'].End();
Track[7].X.Interpolate(6,-164); Structure['R-164'].Put0(7,3,25); Repeater['rail8-1'].End();
Track[8].X.Interpolate(2,164); Structure['R164'].Put0(8,3,25); 395; Track[7].X.Interpolate(8,0);
Track[8].X.Interpolate(0,0);
JointNoise.Play(0); //複線両渡りポイント終了 両渡りポイント設置です。
次回からは、写真を撮りつつ制作したいです。
|
BVE5
-
詳細
コメント(0)
|
ダイヤ改正されましたね〜。貨物時刻表欲しいなぁ…。けど受験生だし…。迷ってます。
雑談短いですが、本題を。
前回はこちら。単位は全てmです。
〜マップ構文他軌道編〜
Track[trackKey].Cant.SetGauge(gauge);
他軌道の軌間を設定します。
gauge=軌間(m)
カーブ系統
Track[trackKey].Cant.SetFunction(id);
カント逓減関数の設定です。
id=0=サイン半波長逓減
id=1=直線逓減
在来線の場合は直線逓減が、新幹線の場合はサイン半波長逓減が使われていることが多いです。
Track[trackKey].Cant.BeginTransition();
カント逓減開始です。
Track[trackKey].Cant.Begin(cant);
カント逓減を終了して、カントを一定に保ちます。
cant=正の値=右に傾ける
cant=負の値=左に傾ける
Track[trackKey].Cant.End();
カント終了で、水平になります。
Track[trackKey].X.Interpolate(x, radius);
Track[trackKey].X.Interpolate(x); Track[trackKey].X.Interpolate(); x座標上(横方向)の他軌道の位置を決めます。2つの Track[].X.Interpolate との間の x 座標は補間されます。引数が省略された場合、1つ手前の Track[].X.Interpolate の値が使用されます。
x=正の値=自軌道の右側
x=負の値=自軌道の左側
radius=他軌道の半径-自軌道の半径
radius=0=自軌道に追従
勾配系統
Track[trackKey].Y.Interpolate(y, radius);
Track[trackKey].Y.Interpolate(y); Track[trackKey].Y.Interpolate(); x座標のものが、y座標(上下方向)版になったものです。単位は‰です。
カーブと勾配の同時記述
Track[trackKey].Position(x, y, radiusH, radiusV);
Track[trackKey].Position(x, y, radiusH); Track[trackKey].Position(x, y); Track[].X.Interpolate と Track[].Y.Interpolate を同時に記述することと同等です。ただし、引数が省略された場合、0が代入されます。
以上です。閲覧ありがとうございました。
|
|
今日はダイヤ改正が実施されましたね。一番の目玉は北海道新幹線の開業ですが、我らが関西では摩耶駅と東姫路駅の開業とか、高槻駅の新ホーム使用開始ですね。それ以外は特に面白みがなく…。まぁ北海道新幹線も黒字でいけるのか知りません。莫大な費用をかけているので黒字じゃないと。てか、新幹線で赤字路線とかあるの?
では本題へ。BVE5のマップ構文を紹介するのですが、なんか色々多いので、とりあえず自軌道の構文を説明します。単位は全てmです。
〜マップ構文自軌道編〜
Curve.SetGauge(value);
自軌道の軌間を設定します。
762mmならCurve.SetGauge(0.762);
1067mmならCurve.SetGauge(1.067);
1372mmならCurve.SetGauge(1.372);
1435mmならCurve.SetGauge(1.435);
とそれぞれなります。
カーブ系統
Curve.SetFunction(id);
緩和曲線関数の設定です。
id=0:サイン半波長逓減
id=1:直線逓減
在来線の場合は直線逓減が、新幹線の場合はサイン半波長逓減が使われていることが多いです。
Curve.BeginTransition();
緩和曲線開始です。
Curve.Begin(radius, cant);
カーブ開始です。カントを付ける場合は、これより手前に緩和曲線開始の構文を組み込まなければなりません。
Curve.End();
直線開始です。
その他記述方式もありますが、これだけあれば曲線はできます。
管理人的には
a; Curve.BeginTransition();
b; Curve.Begin(radius, cant);
c; Curve.BeginTransition();
(b-a)+c; Curve.End();
をよく用いて線路を引いております。
↑ここに緩和曲線等のことが書いてあります。管理人はこれを使ってBVE5の線路を引いております。
勾配系統
Gradient.BeginTransition();
縦曲線開始です。
Gradient.Begin(gradient);
勾配を一定に保ちます。
Gradient.End();
勾配終了。水平になります。
Gradient.Interpolate(gradient);
Gradient.Interpolate(); 現在の距離程での勾配設定です。2 つの Gradient.Interpolate の間の勾配は線形補間されます。引数を省略した場合、1 つ手前の Gradient.Interpolate の値が使用されます。
管理人はまだ勾配に関してはよく分かってません。おそらく2つ目、4つ目、5つ目を多用すると思います。
↑ここに色々載ってるので、それを参照にでもしてください。
本家見た方が良いかもです…。
今の状況でも。
以上です。閲覧ありがとうございました。
|
|
あ〜眠い眠い眠い。最近睡眠不足なんですよ…。しっかり寝てるのに…。
あ、今日は二者懇談で成績が帰ってきました。超悪い…。これでは自分の志望校に行けない…。それだけは絶対に嫌です。姉とおんなじ学校は最低ラインなので、それは絶対にクリアしないとね。
そういえば昨日は学校の廊下が超盛り上がってました。主なネタは2つでした。まぁ詳しくは言いませんが、2つのうち1つは管理人を含めたかなりの人がスカッと!!しました。これがスカジャンってやつか。もう万々歳です。これだけで打ち上げ(って言うの?)をしたいくらい。どんだけだよっていう感じ。あ、バレンタインにもらった人にはしっかり管理人は返しましたよ。
では本題に行きましょうか。
〜シナリオファイルの作成〜
これがないとBVE5は運転できません。BVE5を運転するときに指定しているのはこれです。まあとっても簡単にできるのでやりましょう。
まず1行目の「BveTs Scenario 2.00:shift_jis」。
これが無いとシナリオファイルと認識されません。
2行目が空白なのは気分です。
3行目の「Title」はシナリオタイトルです。他作者様も種別を入れてますね。
4行目の「Author」は路線と車両の作者です。
今は自作と書いてありますが、車両の方はshallow-field様のを使わさせていただいております。
5行目の「Image」はシナリオ選択時に出る写真です。合っても無くてもどちらでもいいです。
6行目の「Route」は運転するマップを指定します。「|」で区切ると何個もマップを指定でき、運転時に1つのマップがランダムに選ばれます。また各マップ名の後ろに*と数字をいれることにより、重みを指定できます。数字がデカければデカいほど、高確率でそのマップが選ばれます。
7行目の「RouteTitle」は路線名です。管理人はもちろんオリジナル路線です。
8行目の「Vehicle」は、車両を指定します。
9行目の「VehicleTitle」は車両名です。
10行目の「Comment」はコメントです。管理人は特に記述無しです。
公式は
Route =
Vehicle =
Title =
RouteTitle =
VehicleTitle = Author = Comment = のようです。
以上です。BVE5書庫の次の記事はマップの基本的な構文です。閲覧ありがとうございました。
|
|
模型加工の方ですがよくよく調べると、考えていたことはすでに他の方のブログさんでやられているんですよね。ので、そちらで許可を取ろうかと思っています。
では本題に行きましょうかね。
〜ストラクチャリスト〜
ストラクチャリストとはストラクチャを使えるようにするようなものです。ストラクチャと言うと、地面、レール、架線、架線柱、駅…etcとあげればきりがありません。基本BVE5で列車を運転したときに出てくるものは全てストラクチャです。あ、自列車の運転台は違いますよ。ではそのストラクチャを表示できるように、ストラクチャリストを作りましょう。
まずExcelを開きます。そしてA1に
と書き込みます。これがなきゃエラーがたくさん出ますので…。
んじゃ、どうやって定義するかと言うと、それは簡単です。例えばB1に
例えば、Structureという名前のフォルダーの中にRailという名前のフォルダーがあって、その中にRail.xという名前のファイルがあるとします。記号の\はそのフォルダーに入るということなので…
では何で保存するのかと言うと、csvファイルです。
では以上です。閲覧ありがとうございました。
|




