MCAコミュニティ

MTC1.1 開発者向け説明書

初めに

本説明書は車両開発者向けです。

本説明書は初期設定のままのTBTK for MTCをベースとした説明書になります。

MCAモデルとの相違点

MCAでは1両目と2両目の中間が車体中心ですが、MTCはどの号車も車両後方の車端部が車体中心です。

MTCはMCAよりモデルが0.2m高く表示されるため、モデルをMCAよりも0.2m低く設計する必要があります。

車体長の設定方法

ビヘイビアパック内の車両アドオンの関数ファイルを変更することで車体長の定義を変更できます。

先頭車カーブ追従位置

curve.mcfunctionファイルの2行目の17.5という値が先頭車のカーブ追従距離(m)です。

後方の車端部から前方の台車までの距離に設定してください。対応する追従距離は4m以上です。

車体長

tick10.mcfunctionの8行目とtraceAdj.mcfunctionの11行目の20という値が車体長(m)です。

車体長の長さに設定してください。

加速度の設定方法

ビヘイビアパック内のinitTrain.mcfunctionを変更することで加速度を変更できます。

この関数ファイル内のスコアボードの値は下記のパラメータを表しています。

  • mtc_accN:ニュートラル時の加速度(km/h/sの500倍,マイナスの値)
  • mtc_accDA:加速ノッチ1段当たりの加速度(km/h/sの500倍)
  • mtc_accDB:減速ノッチ1段当たりの減速度(km/h/sの500倍)
  • 計算方法

    mtc_accDA = ( [加速度(km/h/s)] × 500 - mtc_accN ) ÷ mtc_notAM

    mtc_accDB = ( [非常減速度(km/h/s)] × 500 + mtc_accN ) ÷ mtc_notBM

    ※数値の正負に注意してください

    ※mtc_notAM、mtc_notBMの値もこの関数ファイル内のスコアボードの値です。

    計算例

    加速度を2.0km/h/sに変更する

    [加速度(km/h/s)]=2.0,mtc_accN=-100,mtc_notAM=4なので、

    mtc_accDA = ( 2.0 × 500 - (-100) ) ÷ 4 = 275

    となり、275に設定すれば良いことになります。

    定格速度の設定方法

    ビヘイビアパック内のinitTrain.mcfunctionを変更することで定格速度を変更できます。

    定格速度は、この速度を超過すると徐々に加速度が低下していく速度です。

    この関数ファイル内のスコアボードの値は下記のパラメータを表しています。

  • mtc_Rspd:定格速度(km/hの2000倍)
  • ※定格速度を設定しない場合はmtc_Rspdの値を0にしてください。

    アニメーション

    アニメーションは以下の物が実行されます。

  • open_left:左ドア開
  • open_right:右ドア開
  • close_left:左ドア閉
  • close_right:右ドア閉
  • mode〇:幕のモード〇
  • v_〇:時速〇km/h
  • wiper:降水時
  • revinv:進行方向反転時
  • ani1:カスタムアニメーション1
  • ani2:カスタムアニメーション2
  • 走行音の変更

    リソースパック内のsounds/[車両ID]/runフォルダ内に

    [a 〇.ogg]

    [b 〇.ogg]

    [n 〇.ogg](オプション,ない場合あり)

    というファイルがあります。このファイルを任意の音源に差し替えると変更できます。

    走行音の推奨は0.6~0.8秒程度です。走行音を中央0.5秒をそのままにその外側をフェードイン、フェードアウトするとより自然な音になります。

    〇は〇km/hの音です。

    SIV音の変更

    リソースパック内のsounds/[車両ID]フォルダ内に

    loop.ogg

    というファイルがあります。このファイルを任意の音源に差し替えると変更できます。

    CP音の変更

    リソースパック内のsounds/[車両ID]フォルダ内に

    sound1.ogg

    というファイルがあります。このファイルを任意の音源に差し替えると変更できます。

    ドア開閉音の変更

    リソースパック内のsounds/[車両ID]フォルダ内に

    door_close.ogg

    door_open.ogg

    というファイルがあります。このファイルを任意の音源に差し替えると変更できます。

    ブレーキ緩解音の変更

    リソースパック内のsounds/[車両ID]フォルダ内に

    break1.ogg

    break2.ogg

    というファイルがあります。1は停止状態からの緩解音、2は走行中のの

    このファイルを任意の音源に差し替えると変更できます。

    最高速度の設定方法

    120km/h以下に設定する場合

    ビヘイビアパック内のinitTrain.mcfunctionの以下のスコアボード値を変更してください。

    mtc_spdMax:最高速度(km/hの2000倍)

    例えば最高速度を60km/hにする場合はmtc_spdMaxの値を120000に設定すると良いです。

    余計な速度計アニメーションは削除して構いません。

    120km/hを超過する設定の場合

    速度制限の変更

    ビヘイビアパック内のinitTrain.mcfunctionの以下のスコアボード値を変更してください。

    mtc_spdMax:最高速度(km/hの2000倍)

    例えば最高速度を60km/hにする場合はmtc_spdMaxの値を120000に設定すると良いです。

    ※最大360km/hです

    ※TASCや定速機能を使用しない手動運転時は最高速度が130km/hに制限されます

    アニメーション・走行音を追加する場合

    1.リソースパックのアニメーションを編集

    リソースパック内のanimationsのファイル内に、

  • animation.[車両ID]_1.V_〇
  • というアニメーションが0~120まで存在します。これを追加する速度分追記してください。

    2.走行音の追加

    リソースパック内のsounds/[車両ID]/runのフォルダ内に、

  • [a 〇.ogg]
  • [b 〇.ogg]
  • [n 〇.ogg]
  • というファイルが1~120まで存在します。これを追加する速度分追加してください。

    aは力行時,bは減速時,nは惰性時の走行音です

    〇が時速に対応しています。

    ノッチ段数の設定方法

    ※ノッチ段数が変わると加速度・減速度も変わるので、適宜変更してください。

    力行4段、制動8段(含むEB)以下に設定する場合

    ビヘイビアパック内のinitTrain.mcfunctionの以下のスコアボード値を変更してください。

    mtc_notAM:力行段数
    mtc_notBM:制動段数(含むEB,マイナスの値)

    例えば力行を3段にする場合はmtc_notAMの値を3に設定すると良いです。

    余計なマスコンアニメーションは削除して構いません。

    力行4段、制動8段(含むEB)を超過する設定の場合

    ノッチ段数制限の変更

    ビヘイビアパック内のinitTrain.mcfunctionの以下のスコアボード値を変更してください。

    mtc_notAM:力行段数
    mtc_notBM:制動段数(含むEB,マイナスの値)

    例えば力行を3段にする場合はmtc_notAMの値を3に設定すると良いです。

    マスコンのアニメーション追加する場合

    ※非常に複雑ですが,以下で指示されてる箇所のP4~B8(EB)分を拡張することが全体の流れです。

    1.リソースパックのアニメーションを編集

    リソースパック内のanimationsのファイル内に、

  • animation.[車両ID]_1.Mas_〇
  • というアニメーションがP4~B8(EB)まで存在します。これを追加する段数分追記してください。

    2.アニメーション定義の追加

    リソースパック内のentityのフォルダ内のファイルに、

  • "mas_〇": "animation.[車両ID]_1.Mas_〇"
  • という要素がP4~B8(EB)まで存在します。これを追加する段数分追加してください。

    ファイルは車両分あるのですべて変更してください。

    3.関数ファイルの変更

    ビヘイビアパック内のfunctions/[車両ID]のフォルダ内のファイルに、M_CON.mcfunctionという関数ファイルがあります。

    これを開き,内部の[# ここから下ノッチ段数で要編集]部分の

    execute if score @s mtc_not matches 〇 as @e[scores={mtc_calc1=0},family=mtc_body] run playanimation @s mas_△ mas_△ 32767

    というコマンドがp4~b8(EB)まで並んでいます。これを追加する段数分追加してください。

    matchesの横の〇は力行が正、制動が負であることに気をつけてください。

    方向幕の種類の設定方法

    8種類以下に設定する場合

    ビヘイビアパック内のinitTrain.mcfunctionの以下のスコアボード値を変更してください。

    mtc_makuM:幕の数

    余計な速度計アニメーションは削除して構いません。

    8種類を超過する設定の場合

    ※非常に複雑ですが,以下で指示されてる箇所の8種あるところを拡張することが全体の流れです。

    1.幕数制限の変更

    ビヘイビアパック内のinitTrain.mcfunctionの以下のスコアボード値を変更してください。

    mtc_makuM:幕の数

    2.リソースパックのアニメーションコントローラを編集

    リソースパック内のanimation_controllersのファイル内に、

  • "mode〇": "query.mark_variant==〇"
  • という要素が8個存在します。これを追加する幕数分追記してください。

    3.リソースパックのアニメーションを編集

    リソースパック内のanimationsのファイル内に、

  • animation.[車両ID]_1.mode〇
  • というアニメーションが8個存在します。これを追加する幕数分追記してください。

    4.アニメーション定義の追加

    リソースパック内のentityのフォルダ内のファイルに、

  • "mode〇": "animation.mcsample1_1.mode〇"
  • という要素が8個存在します。これを追加する幕数分追加してください。

    ファイルは車両分あるのですべて変更してください。

    5.コンポーネントとイベントの追加

    ビヘイビアパック内のentitiesのフォルダ内のファイルに、

    "cp_mode〇": {
    "minecraft:mark_variant": {
    "value": 〇
    }
    },
    "mode〇": {
    "remove": {
    "component_groups": []
    },
    "add": {
    "component_groups": [
    "cp_mode〇",
    "cp_seat_[up/dw]"
    ]
    }
    },

    という2種類の要素ががそれぞれ8個存在します。これを追加する幕数分追加してください。

    後者の[up/dw]は、modeが奇数ではup、偶数ではdwになります。

    ファイルは車両分あるのですべて変更してください。

    6.関数ファイルの変更

    ビヘイビアパック内のfunctions/[車両ID]のフォルダ内のファイルに、mode.mcfunctionという関数ファイルがあります。

    これを開き,内部に

    execute if score @s mtc_maku matches 〇 as @e[scores={mtc_calc1=0},family=mtc_body] run event entity @s mode△

    というコマンドが8個並んでいます。これを追加する幕数分追加してください。

    スコアボード値は0スタート、モード番号は1スタートであることに注意してください。