Rosso Laboratory

VRM4CV用スクロール開発計画に応じて

この記事は、ghostさん御提案のVRM4-comVignette用スクロール開発計画に呼応する記事です。

<経緯に関する記事>
VRM入道「SearchPoint暴走列車
VRM入道「ネタから出たマコト

と合わせて御覧下さい。

なお、以下の文章は内容がアレだけに話がうまくまとまっていないと思います。難易度高目なんで察してくだされ(笑)。


<まずは「SearchPoint暴走列車」のスクリプトを試してみた>
強引に通過する時に少し引っ掛かる感じだが、SS撮影時の動作時間よりも短いようなのでログが出ていなければ気が付かないこともあるほど。つまり強引に通過しても全く違和感はない。運転台視点だと一瞬チラつく感じにはなるが。


さて、この計画にある「VRM4CV用編成自動運転エンジン」は主に3つの機能によって成り立つということなので、まずはそれから検証してみたいと思います。

①自動開通ポイント・・・・・・・・合流側で有効
②ユーザー選択型ポイント・・・・・分岐側で有効
③指定距離駅停車&再発車・・・・・単線駅用?


①と②に関しては非常にありがたい機能です。実際の使用例を考えると下記の絵の上段部のようになるでしょう。今現在はCVにおいてポイントは只の飾り状態に近いものですが、このスクロールによって実際に使えるポイントとなることが予想されます。


<絵が小さいのでクリックして御覧下さい>

③についてはまだ私もしっかりとは理解できていないのですが、センサー2つを使って正方向や逆方向を判断するということですので、上記の絵の下段部のような単線を視野に入れているということなのでしょうか。現段階においてCVは基本的に複線構造ですので、正方向や逆方向という概念があまりありません。よって、センサー1つでも出来てしまうわけですが、クラスZに単線仕様もありますので、複線でも単線でも使用できるように汎用性を高めてセンサー2つを使うという考えでよろしいでしょうか。

なお、CVB及びCVレベルではセンサーは使わないというのがルール(名前の唯一性や編成長さ・駅の長さも確定していないCVレベルではセンサーで距離とか指定しても無意味なため)ですので、①と②はCVレベルで、③はCVLレベルでセンサーを追加しての使用という形になります。ということは、センサーを使う時点でCV専用的な考え方は特に必要はないので現行のgws/1.0でも大丈夫そうですが、セットとして存在すればやはり便利でしょう。

という訳で、この3点によって「VRM4CVの自動運転は1路線1編成において成立する」ということは確実に言えるでしょう(1路線に複数編成の自動運転の場合には更にgws/1.0等を組み合わせていく必要があるかもしれませんが)。特に①と②に関しては↓の


<大型分岐合流CVB>

コイツにとっては非常に大きな意味を持ちますので楽しみであり、コイツを完成させねばならないという気にさせてもらえます。

「実装すべきか?な機能」という項目に
A「進行方向のポイントを適当に切り換え、必要に応じて一瞬バックして強引に通過する機能。」
B「編成の列車種別の宣言とそれに応じたポイント切替。」

というものがありますが、私はAB共にあった方が良いかなという気がしています。

Aは処理落ち等の何らかのトラブルがあっても、放っておけば運転再開をしてくれるので、編成数が多くなった時にはかなり便利ではないかなと思います。

一方、Bは駅構内だけで考えるとあまり要らないかなとも思うのですが、前述の「大型分岐合流CVB」のような場合には特定の編成だけ違う路線を走らせることができるというようなことが出来そうなので面白いかと。その場合、ポイントが近づいたら、「デフォルト:直進「0」、「1」で分岐」や「デフォルト:分岐「1」、「0」で直進」のように放っておけばデフォルトになり、キー入力すれば逆を選択して進むということが出来ると操作的に良いかと。

---*---*---*---

追加的な内容になりますが、複線の折り返し駅の場合、今は確か下図の下段のような配置で折り返し運転をさせたりしています(このスクリプトの記事はコチラ)が、


<絵が小さいのでクリックして御覧下さい>

音源を使うのも何ですので、今回のSearchPointを使い上図の上段のようにスッキリした形で出来ると、CVだけでなくVRM4第4号を持たないユーザーにも嬉しいのではないかな?と思いますがどうでしょうか。ポイント部はまた違うロジックが必要になるとは思いますが。

また、ポイントに「この先折り返し駅専用」というロジックが付加されれば、センサーすらもいらないかも。そのためにはポイント通過後に進行か停止かの指定も組み込まなきゃいけないから厄介かな。まぁここまで来るとCV用というものからは少し離れてしまう感じですが。

---*---*---*---

残りの踏切については、CVBレベルで対応しているものもありますし、コードも1行だけですので私としては特に必要性は感じないのですが、スクリプトが全くわからないという方のためにはあるに越したことはないだろうと思います。



信号機については動作がよくわかっていないのでアレですが、1色のまま変わらないよりは変わった方が面白いでしょうね。




<以下余談>
これはghostさんへの要望ではなくアイマジック社への要望ですが、この「SearchPoint」のようにオブジェクト参照で拾って動作できるというパターンを増やしてくれると助かるものが出てきそうだなぁという感じがします。

今回の踏切や信号機の件で考えていた時に思いついたのですが、仮の名称として「リレーショナルレール」というものを作ったとします。これは、見た目は只のレールですが1つだけ指定した踏切や信号機等の部品のオブジェクト参照値を持つもの(故にリレーショナル(関係))で、このレールに加えて「SearchPoint」のようなコマンド「FrontSearchRelation」と「BackSearchRelation」というものを準備すれば、名前がユニークでなくともオブジェクト参照によって唯一性が保て、CVでも踏切や信号機をうまく動作させられるんじゃないかなぁと思いました。

仕組みとしては厄介かもしれませんが、単純に考えると「踏切とレール」や「信号機とレール」が合体して「Search」によって参照できれば良いという話です。これでスクロールがあれば、かなりスッキリするんじゃないでしょうかねぇ。書いている本人にも有効性や難易度がどの程度のものかはハッキリとは把握できてはいないんですけど(笑)。

あと欲しい機能としては、

こういった感じで駅構内に編成が居るのかどうかを判断して制御するというようなことをやりたいんですが、これは現状では出来ないはずです(勿論個別に指定すれば出来ますが、汎用として考えた場合の話)。駅から必ず編成が出発するとは限らないので。

よって「SearchTrain」というような機能で後発が近づきすぎたら、減速や一時停止させるというルーチンにもっていく機能が欲しいところです。


VRM入道「オブジェクト参照の方向非対称性について」に関連するかどうかは微妙ですが、センサーによる編成の受動よりも編成の能動で突き進ませた方がわかりやすかったり扱いやすかったりするのかも。

受動・能動というよりも自律的動作というべきかな。
無理を通して道理を蹴っ飛ばす!」的な感じで出たトコ勝負・・・って違うか、そりゃ(笑)。

ランキングに参加中。クリックして応援お願いします!

名前:
コメント:

※文字化け等の原因になりますので顔文字の投稿はお控えください。

コメント利用規約に同意の上コメント投稿を行ってください。

 

※ブログ作成者から承認されるまでコメントは反映されません。

  • Xでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

最新の画像もっと見る

最近の「VRM4CV」カテゴリーもっと見る

最近の記事
バックナンバー
人気記事