皆様いかがお過ごしでしょうか!若草フクロウです!
クリスマスも終わり、あっという間にもう年末。早いですね!
年末ということで、バタバタと忙しなく動き回っておりますが、ゲーム制作もちゃっかりと進めていたりします。
今回はあるギミックが実用化の段階まで進んだので、そのお知らせとそのギミックの解説をしようと思います。そのギミックはこちら!
ここで踏切を簡単に説明すると、線路と道路が平面交差する箇所に設置される、列車の接近を知らせる信号機です。
その警告音はどれも美しく、聞いた人の心を焦らせる不思議な力を持っています。
え?そんなロマンチックな言い方で紹介するようなものじゃないって?
何をおっしゃっているんですか!踏切はロマンチックなものなんですよ!!!
アニメや漫画では踏切が鳴り出すタイミング、待ち時間で物語が大きく変化するんです。恋人との別れや出会いの象徴にもなり得るんです!!!踏切はロマンチックなものなんです!!!
失礼しました。少々取り乱してしまいましたね。とにかく、街を作る上で必要不可欠なギミック、踏切を製作しました。
今回はその踏切について解説していきます。
まずは踏切に必要なモデルを製作しました。製作したものは以下の通りです。
・踏切警報機
・遮断機
・踏切制御装置
・柵
・敷板
・コンクリートブロック
上から順に見ていきましょう。
踏切警報機
まずは踏切を語る上で外せない「踏切警報機」を見ていきましょう。
今回は「踏切といえばこの形だよね!」と、王道の形を製作しました。
一番上から電鐘(でんしょう)、警標、警告灯、故障表示灯、後ろに点検用のハシゴ、以上のパーツで構成されています。
モデルを完成させたものの、少し全体的に高さが足りなかったのでコンクリートブロックでかさ増ししました。
遮断機
次に、遮断機を作りました。これはアニメーションを特にこだわりました。
まずは閉まる時のモーション。
下がりきった時に重力を感じられるように少しバウンドさせています。
そして上がる時のモーション。
遮断桿が上がる前に一旦沈み込むことで、遮断桿の勢いを強調しました。
踏切制御装置
続いて踏切制御装置です。いわゆる踏切の脳みそです。
後で紹介するのですが、ゲーム内の踏切もこのパーツで制御することになります。
柵
この柵があるだげで、ぐっとクオリティが上がります。
敷板
レールの間に敷く板です。これがないと渡りづらいよね。列車の車輪が引っかかって脱落しないように、ハの字型に加工されています。
コンクリートブロック
最後にコンクリートブロック。ついつい忘れがちだけど…あるとぐっとクオリティが上がります。
モデリングはだいたいこんな感じ!いつもモデリングには力が入るのですが、今回は大好きな踏切ということで、いつも以上に力が入っていた気がします。
それじゃあ次は音の加工です。
近年、踏切の音は電子音がほとんどを占めています。しかし、いくつかの地域のローカル線では、昔ながらの「鐘」の踏切があったりします。そんな踏切のことを、「電鐘式踏切」と言います。(電鈴式というタイプもありますが、ここでは割愛します。)
そして電鐘式踏切の中にも2種類の音があったりします。
ひとつはアルミ製。カランカランと少し濁った音がします。
そして今回設定するのが鉄製。まさにカンカンと透き通った音がします。
さて、音源をどこから引っ張ってくるのか…ですが、Audiostockに加入しているので、そこから鉄製の鐘の音を検索、ダウンロード後にプロジェクトにインポートします。効果音に関しては以上です。
最後に踏切のシステムを構築します。
単線と複線によってシステムの形が変化するのですが、今回は単線の場合をお伝えします。ここからは少し難しい内容になります。
今回設定するイベントは以下の4つです。
・列車センサー
・遮断機
・警報機
・センサーリセット用イベント
まず列車センサーですが、列車がセンサーに触れた際に変数に1を足すように設定します。このセンサーを適度に間隔を開けて踏切の左に2つ、右に2つ配置します。
これで列車が踏切を通る際に、列車は合計4つのセンサーを踏むことになります。
ここでセンサーの役割を明確にしておきます。
1つ目のセンサー・・・・・踏切を閉める。
2つ目のセンサー・・・・・特になし
3つ目のセンサー・・・・・踏切を開ける。
4つ目のセンサー・・・・・センサーの変数をリセット。
ここでミソなのが、この線路が単線であるという点です。現時点では役割のない2番目のセンサーですが、列車が折り返した際、2番目は3番目に変化します。改めて書いてみると、以下の通りになります。
1つ目のセンサー・・・・・センサーの変数をリセット。
2つ目のセンサー・・・・・踏切を開ける。
3つ目のセンサー・・・・・特になし
4つ目のセンサー・・・・・踏切を閉める。
列車がどちら側から来ても同じ処理をするように、変数で管理しているという訳です。センサーに関しては以上です。
遮断機は、変数が1以上の状態に遮断機が閉まり、3以上の状態で開くようにします。
実物の踏切を観察すると分かるのですが、遮断機は一斉に閉まるのではなく、左側、右側の順に閉まります。この動作を再現するために、右側の遮断機には「3秒間の間、待つ」という指示を組み込んだのちに、モーションを変更します。
遮断機は、変数が1以上の状態に警報機が動作し、3以上の状態で動作を停止するようにします。
遮断機と警報機は変数を変更するプログラムを書かず、シンプルに仕上げました。
最後に、踏切が全ての動作を終了した際に変数をリセットするシステムを組みます。
変数が4の時、その変数に0を代入。これでリセットされます。
以上がこの踏切の仕組みとなります。
そして完成した踏切がこちらになります。
今回は踏切の製作中の様子をお伝えしました。
特に後半のシステム関係、日本語を使ったプログラミングがどういったものなのかをお伝えしました。雰囲気だけでもつかんでいただければ幸いです。
今後もシステムが実用段階に到達した際に、記事を更新していくので、どうぞお楽しみに!
それでは次の記事でお会いしましょう!若草フクロウでした!