ビューわかしお氏のアイデアを実現してみよう(1-2)

前回,ビューわかしお氏が示してくれた2つのアイデアに対して実装を提案しました。しかし,2つめの「キーで番号を入力してカメラや編成を切り替える」アイデアは,前回の実装では編成のオブジェクトIDを入力しなければならず,どの番号が有効な番号であるか,そしてどの編成に切り替わるかを把握することが極めて困難でした。

できれば飛び飛びのID番号ではなく,1,2,3,...,9,10,11,...と,編成のみの連続の番号で切替できると理想です。

作戦 GetObjectFromID命令の例外処理を利用する

利用というか,悪用になっているかもしれませんが,という前置きを置いた上で。

マニュアルに書いてあることを鵜呑みにすれば,適当な(=編成以外の)オブジェクトのIDを使ってGetObjectFromID trnobj idとすると,取得に失敗して編成オブジェクト変数trnobjがNULLで返ってくる,という仕様のようです。これを悪用して,

  1. ID=2から次々とGetObjectFromIDをする
  2. NULLだったらそのIDは編成ではない
  3. めでたく編成オブジェクト変数に有効ななにかが入っていれば編成を発見したと分かる
  4. 入力番号の個数だけ編成が見つかるまで,IDを1ずつ増やして繰り返す

と,ループじかけの編成オブジェクト発見装置を仕込むことが出来ます。キーで入力した番号の数だけ編成オブジェクトが見つかるまで,ID=2から次々にオブジェクトを編成オブジェクトかどうかを調べていけばよさそうです。(ID=1はかならずレイアウトオブジェクトであり,GetObjectFromIDは空振りする)

» 続きを読む

| | コメント (0) | トラックバック (0)

ビューわかしお氏のアイデアを実現してみよう(1-1)

ビューわかしお氏が示してくれたアイデアを実現する方法を考えてみようと思います。まずは,実現したいことを簡単にまとめてみます。

(1) 編成のランダム連結: 途中の車庫のある駅で,到着した列車に増結編成をランダムに選んで増結する

(2) キーで番号を入力してカメラや編成を切り替える: 数字キーで二桁以上の数を入力して,対応する番号の編成に切り替える

(1)については,新幹線ランダム走行システムが転用できそうです。車庫にいるたかだか有限(現実的には,数本)の編成を一つ選び,動かしてやります。ポイント制御は,自動センサーを併用すると楽でしょうね。

「車庫にいる編成を一つ選ぶ」のは,次のようなスクリプトでできますね。最もシンプルな例として,2本の増結編成のうちどちらか一方が動き出すとするためには,基本編成の到着後に実行されるようなメソッド内で,

Var rand
irnd rand
mod rand 2

ifeq rand 0
    call "TrainE231" MtdGo
endif
ifeq rand 1
    call "TrainE233" MtdGo
endif
//<以下省略>

のようにしてやればOK。(もちろん,増結編成には,動き出すようなメソッドMtdGoを仕込んでおく。)

ミソはおなじみのmod命令で,2で割ったときの余りが0か1で場合分けをしています。

レイアウトの演出としてこれを組み込む場合,増結編成がくるのをただ待たされていたのでは退屈なので,後半のifeq文の中身を

ifeq rand 0
    SetActiveTrain "TrainE231"
endif

のようにしてしまい,プレイヤー自身に基本編成まで入れ替え運転させて連結させてしまうのもよいでしょう。

» 続きを読む

| | コメント (0) | トラックバック (0)

秩父のスイッチャー風味

USO800車両製造の凸型電機が会議室で配布されています。さっそく入手してみました。(前回と変わらぬ書き出し…。)

Scr00000

私が注目したのはこの赤色バージョン。武州原谷のコレに似ています。(車両テクスチャーもちょっと変えてみました。)

Dd403ctk_2

» 続きを読む

| | コメント (0) | トラックバック (0)

銀色のタキ43000

USO800車両製造のタキ43000各種が会議室で公開中です。さっそく入手してみました。

銀色のタキは1両しか存在しないそうですが,バーチャルなのでお構いなしに全部銀タキ。

Scr00103

» 続きを読む

| | コメント (0) | トラックバック (0)

VRMポータルのTwitterウィジェットにフィルタをかけた

毎月まあまあのアクセスを頂いているVRMポータルですが,Twitterのウィジェットにフィルタをかけるようにしました.

Twitterで#vrmjp #vrmな画像 #毎日VRM のハッシュタグの付いたツイートをいままで無選別にウィジェットに表示していましたが,このたびheartいいね!」の数が2個以上ついたツイートに限り表示されるようにしました.

意図としてはこんなようなところです.

これまで,「VRMポータルに表示されるから・・・」とタグを付けるのを敬遠していた方もいたようなフシがあったようななかったような気がしますが,付ける分には自由につけて頂いてかまわないです.つぶやく方も,いいねする方も忖度不要です.(流行り言葉なので使ってみた.)

» 続きを読む

| | コメント (0) | トラックバック (0)

地形コンバータを試してみた

生ぴーまん氏がトレイントレインデータ広場で公開しているVRM地形コンバータを,久々に試してみました。前にも使ったことがあったのですがそのときは挫折したので・・・。

最近,情景に説得力がつくような地形の作り方に興味があったので,早い話がホンモノに近いものを見てみようと思ったのです。

コンバータの他に,必要なデータは国土地理院よりダウンロードできます。(基盤地図情報 数値標高モデル)

ためしに,秩父鉄道の影森~浦山口付近をとってみました。見えづらいですが中央付近にななめに四角があります。

Pepper1

1/150や1/160ではVRMレイアウトにするときにカーブなどが大きくなりすぎるので,逆に地形は小さめの1/170でコンバート。(このへんはまあ,好みでやればいい)

VRLファイルを読み込むときに,そのまま読むと全体の地形が高すぎたり低すぎたりするので,オフセットを適当に調整。で,できたのがコレ。

Pepper2

お~すごいです。荒川水系の形がよく見えます。自然の地形ってかなりダイナミックなんですね。

ちなみに左下に見切れてるのが浦山ダムです。

が,しかし。

» 続きを読む

| | コメント (0) | トラックバック (0)

岩肌のテクスチャー2種

@kamo_jiさんのニーズにお応えする形でひとつ。ツールそのものではありませんが・・・。

過去に公開していた岩肌の地形テクスチャー焼き直し+新作1種類です。

Photo

64px四方です。以前のものと色調を少しいじっています。I.MAGICの河川部品からとった画像を加工して作った(はず)。

2

こちらは青森県内の海岸で撮った岩の写真をベースに新しく作ったもの。

どちらもwebcre8さんのこちらのPhotoshopアクションでシームレスになるよう加工してあるので,マス目が目立ちにくい(はず)です。お手元にPhotoshopのあるかたは使ってみてください。

| | コメント (0) | トラックバック (0)

今年もよろしく

2018年もよろしくお願いします。

2017年は適当な感じでやってきましたが,2018年はそれ以上に適当に,惰性でやっていこうと思います。

| | コメント (0) | トラックバック (0)

縦曲線を考える

前回緩和曲線を作ったのに続いて,こんどは縦曲線を考えてみました。

緩和曲線は直線からカーブに曲率を徐々に変化させるものでしたが,縦曲線は水平から坂道に徐々に勾配を変化させるものです。

どちらも,曲率や勾配が一点でガクッと変わると乗り心地を損なうばかりでなく軌道を傷めたり脱線の危険につながるため設けられているものです。

Vc2

Advanced Trackの32mmレールを8個 (256mmぶん) 並べて,0mmから5mmまで立ち上がり,10/256の勾配に接続する縦曲線を作ってみました。

» 続きを読む

| | コメント (0) | トラックバック (0)

緩和曲線v3

緩和曲線・ベジエ曲線の計算方法を見直した上で,Advanced Trackでそのままコピペして使える緩和曲線をご用意しました。

Transv3

トレイン・トレインデータ広場からダウンロードできます。

【内容セット】
R801-971 7.5°緩和 + 15°
R1209-1311 7.5°緩和 + 15°
R1209-1311 5°緩和 + 10°
R1923-2025 7.5°緩和 + 7.5°

カーブへの進入がめっちゃリアルになるので絶対にオススメです!

♪:;;;:♪:;;;:♪:;;;:♪:;;;:♪:;;;:♪:;;;:♪:;;;:♪:;;;:♪:;;;:♪

いままでここここで公開していた緩和曲線は,概形は緩和曲線としてちゃんとしてはいたのですが,アーム長の設定が適当でした。

今回,フレキシブル部品の制御点の座標と曲線の出来上がりをExcel上でシミュレーションした上で,求めたい正規のカーブ=サイン半波長逓減曲線参考リンク:結構下の方)(三角関数を含む式で表され,ベジエ曲線では決して正確になぞれない)との誤差が最小になるよう非線形ソルバーを用いて最適化しました。

Sintrans_solved2

正規の曲線(赤)に対して,ほとんど重なっているベジエ曲線(青)ですが,その誤差がグレーの線(右側の軸)で示されています。だいたい,X方向の長さに対して1万分の1程度の誤差ですから,ビュワーで使ったときも0.01mmレベルの誤差しかありません。適当に作ったものと違うので,誤差の大きさが保証されていることがなによりの進歩です!

Sintrans_solved801835

また,基準となる正規寸法のサイン半波長逓減曲線(青)から34mm外側の曲線(赤)は,また別の形の曲線であり,こちらも制御点の座標をソルバーで最適化して誤差を保証するようにしました。

» 続きを読む

| | コメント (0) | トラックバック (0)

«VRMポータル工事中