2006/11/8

ちょっとだけリアルな信号機  VRMスクリプト禅問答
昨日、ちょっと出かけようと駅へ向かったら、丁度電車が出ていくところで悔しい思いをいたしました。そのとき、何気なく電車を見送っていて、あることに気づき、帰宅後に試してみたところ思ったよりも良さげな感じだったので、紹介しておきます。

*     *     *

とりあえず、VRM4第2号収録の信号部品を1つレイアウト上に配置し、以下のスクリプトを書き込んでみてください。

[信号スクリプト]
//初期設定
SetSignal 1
//キー設定
Var IDKey
SetEventKey this Step1 IDKey z

//青になるメソッドその1
BeginFunc Step1
KillEvent IDKey
Var IDTmp
SetEventAfter this Step2 Tmp 500
SetSignal 0
EndFunc

//青になるメソッドその2
BeginFunc Step2
Var Tmp
SetEventAfter this Step3 Tmp 10000
SetSignal 6
EndFunc

//赤になるメソッドその1
BeginFunc Step3
Var Tmp
SetEventAfter this Step4 Tmp 500
SetSignal 0
EndFunc

//赤になるメソッドその2
BeginFunc Step4
SetSignal 1
SetEventKey this Step1 IDKey z
EndFunc

で、この信号機が見える位置に編成を配置してビュワーを起動し、[z]キーを押して信号の遷移する様子を見てください。ちょっとだけリアルじゃないですか?


要するに・・・

Step1
 キーイベントを解除(KillEvent IDKey)
 信号を消す(SetSignal 0)
 ↓
 0.5秒
 ↓
Step2
 青信号を灯火(SetSignal 6)
 ↓
 10秒
 ↓
Step3
 信号を消す(SetSignal 0)
 ↓
 0.5秒
 ↓
Step4
 赤信号を灯火(SetSignal 1)
 キーベントを再設定(SetEventKey this Step1 IDKey z)

という仕掛けです。冒頭に書いた「電車を見送っていて気づいたあること」というのは(少なくともウチの近所の駅の)信号の灯火が切り替わる際、青→赤、と一瞬にして変わるのではなく、青→消灯→赤、と変わっていく、という、まぁ、つまんないことです。多分、VRMスクリプトをやってなかったら、気づかなかったんじゃないか、と思いますが。

[信号スクリプト]
//信号灯火色を示すグローバル変数
Var SignalColor

//ちょっとだけリアルな信号切替メソッド
BeginFunc MtdChangeSingal
Var Tmp
SetSignal 0
SetEventAfter this MtdSignalColor Tmp 500
EndFunc

BeginFunc MtdSignalColor
SetSignal SignalColor
EndFunc

信号部品に上掲のような汎用スクリプトを書いておけば、この信号のグローバル変数SignalColorに1〜6の灯火色を示す数値を代入し、メソッドMtdChangeSingalをcallすることで、ちょっとだけリアルな信号切替を実現できます。

SetEventAfterの最後のパラメーター“500”はお好みで調整してみてください。実は、ボク自身がこの仕掛けを試したときは、700(ミリ秒)でやってみました。ここで紹介するのに、どうもキリの悪い数字ではないか、と思ったので、サンプルコード中では500にしてます。

なお、言うまでもないですが、これは(今のところ)第2号収録の灯火式の信号機に対してのみ有効です。第4号収録の腕木式信号にこのスクリプトを使うと、こうなっちゃいますから
0

2006/11/8  23:18

投稿者:ghost
>信号機に拠っては
>瞬間的ですが段階を追って現示が上がり

それは気付きませんでした。>由羽殿
撮り鉄がてら、信号観察にでも出かけてみますか。

>信号システムについて調べ始めると面白くて止まりません(w

激しく同意。
これをVRM上に(擬似的ながらも)再現するのは面白いです。まぁ、これはボク(ら?)がシステム屋だからであって、万人に通じないのは承知してますが。

2006/11/8  0:43

投稿者:由羽
 逆に、赤から青に現示が上がるような場合、信号機に拠っては
瞬間的ですが段階を追って現示が上がりますね。LED式信号機だ
とはっきり見えますが電球式だとボンヤリして判り辛いかも。
 信号システムについて調べ始めると面白くて止まりません(w

2006/11/7  19:48

投稿者:KSMaster
ちょっとどころじゃないですよ。かなりですよ。

コメントを書く

この記事にはコメントを投稿できません




teacup.ブログ “AutoPage”
AutoPage最新お知らせ