差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
development:start [2026/02/11 22:31] – mathkurodevelopment:start [2026/07/29 23:35] (現在) – 外部編集 127.0.0.1
行 1: 行 1:
 ====== 開発者向け情報 ====== ====== 開発者向け情報 ======
-===== Luaコマンド ===== 
-※[[development:console|システムコンソールの使い方]] 
  
-==== よく使うコマンド ==== +BeamNG.driveのMOD開発・Lua開発に関する情報をまとめたページです。
-[[https://games.mathkuro.com/beamng-drive/beamng-commands/]] +
-※wiki側にコピペ機能実装できるまでは一旦WordPress側に記載+
  
-==== 車両名とモデル名の対応 ==== +----
-[[development:model_name_mapping]]+
  
-==== 車両スポーン ====+===== ページ一覧 ===== 
 + 
 +  * [[development:console|システムコンソールの使い方]]:Luaコマンドやエラーログをゲームのコンソールでデバッグする方法 
 +  * [[development:model_name_mapping|車両名とモデル名の対応表]]:Luaコマンドやコンフィグ内で使用するmodel_keyの一覧 
 + 
 +---- 
 + 
 +===== Luaコマンド集 ===== 
 + 
 +==== 車両のスポーン ====
 **extensions.core_multispawn.spawnGroup(group, amount, options)** **extensions.core_multispawn.spawnGroup(group, amount, options)**
-  * 引数 + 
-    * group: {{model = "", config = "", paintName = "", paintName2 = "", paintName3 = ""}, {...}, ...}形式で指定、各パラメータは下記。カテゴリ等で指定したい場合はcreateGroupを使用すると便利。 +複数車両を一括でスポーンさせる関数。 
-      * model: モデル名、pickup等。 + 
-      * config: コンフィグ名(*.pcのファイルパスまたはコンフィグのキー)、未指定時はデフォルトコンフィグ +  * **引数** 
-      * paintName: ペイント1の色、未指定時はデフォルト。"random"を指定した場合はランダム色 +    * group: `{{model = "", config = "", paintName = "", paintName2 = "", paintName3 = ""}, {...}, ...}` 形式で指定。各パラメータは下記の通り: 
-      * paintName2: ペイント2の色、指定はpaintNameと同様 +      * model: モデル名(`pickup` など。対応表は[[development:model_name_mapping|こちら]]) 
-      * paintName3: ペイント3の色、指定はpaintNameと同様 +      * config: コンフィグ名(*.pcのファイルパスまたはキー。未指定時はデフォルト) 
-    * amount: スポーン数、数値指定。必須。 +      * paintName / paintName2 / paintName3: 各ペイント色(未指定時はデフォルト。`"random"` でランダム) 
-    * options: 下記オプション、未指定時は全てデフォルト動作 +    * amount: スポーン数(数値指定、必須) 
-      * name: グループ名。デフォルト'custom' +    * options: オプション(未指定時は全てデフォルト動作) 
-      * mode: スポーンモード。デフォルト'roadAhead' +      * name: グループ名(デフォルト: `'custom'`) 
-      * gap: スポーン地点の間隔[m]、数値指定。デフォルト15 +      * mode: スポーンモード(デフォルト: `'roadAhead'`) 
-      * shuffle: groupで指定した車両の順番をシャッフルするかどうか。デフォルトfalse +      * gap: スポーン地点の間隔[m](デフォルト: 15) 
-  * 戻り値 +      * shuffle: groupの順番をシャッフルするか(デフォルト: false) 
-    * 無し+  * **戻り値:** 無し 
 + 
 +---- 
 + 
 +===== v0.39でのMOD開発関連の変更 ===== 
 + 
 +==== 破壊的変更 ==== 
 + 
 +^ 対象 ^ 内容 ^ 
 +| 翻訳システム | 言語ごとに1つのJSONファイル(`locales\en-US.json`)だった構成が、**言語ごとのフォルダ**(`locales\translations\en-US\`)に任意の数のJSONファイルを置く形式に変更されました。MOD側も自前の翻訳ファイルを同梱できます | 
 +| ミッションシステム | ミッションが認識されるには、**そのミッションが属するレベルのIDに対応するサブフォルダ**(`gameplay/missions/<レベルID>`)に配置する必要があります | 
 +| ナンバープレート | Skiaライブラリを使う新方式に全面移行。**既存のナンバープレートMODのほとんどは非互換** で、変換が必要です | 
 +| 油圧サウンド | イベント名が変更されたため、利用しているMODは更新が必要です | 
 +| カスタムコンフィグの命名 | カスタムコンフィグを保存すると、名前は車両の `info.json` に保存されるようになり、**生成される `.pc` のファイル名とは完全には一致しなくなりました** | 
 +| TextureDrawPrimitive(SDF) | `TextureDrawPrimitiveRegistry:getOrCreate` の引数が `(name, Point2i size, bool clear)` から `(name, size_x, size_y)` に変更。※このシステムはAPIが今後も変わる可能性があるため、安定するまでは使用を避けることが強く推奨されています | 
 + 
 +==== 新機能・追加API ==== 
 + 
 +  * **Lua Router:** Vue画面などのルーティングをLua側が所有する新しいナビゲーションシステム。階層的なルート、予測可能な「戻る」挙動、ライフサイクルコールバック、ルートパラメータを提供します。ポーズ・メインメニュー・ガレージ・各種セレクター・マップモード・ラジアルメニュー・ミッション画面・キャリアコンピューター・オプションがこの上で動いています 
 +  * **UI MOD:** `ui/ui-vue/mods/README.md` にMODフォルダ構成、Vue SFCとインポート、UIスロット、`index.js` のロード/アンロードエントリポイント、ポーズメニュータブとレールボタンの追加、独自ルートの登録方法がまとめられています。完全な実装例として AnnasToolbox が同梱されています 
 +  * **JBeamの翻訳対応:** パーツ名・スロット説明・チューニング変数のタイトル、`info.json` の Configuration / Description / Name / Slogan が翻訳キーに対応(従来のリテラル文字列も引き続き使用可) 
 +  * **JBeam:** `props` セクションに `translationUseMeters` プロパティを追加(`"translationUseMeters":true` でメートル単位指定)。`pressureWheels` に円錐/キャンバー付きタイヤ用の `conicityFactor` を追加 
 +  * **Forest Audio Editor:** 風と植生の動的なアンビエンスを作成できるエディター。各種バイオームを表すFMODイベントのプールから選択でき、カメラの移動に応じて森のアイテムサイズ・密度・方向・距離を取得して音を変調します 
 +  * **Blender用の地形/背景作成ソース:** SubstanceなどのDCCツールがなくても、Blenderだけで地形と背景(バックドロップ)メッシュを作れるソースファイルが追加されました。テンプレートレベル内の.zipに同梱されています 
 +  * **Lua JSONモジュールの高速化:** SJSONのエンコーダ/デコーダをLuaJIT向けのCモジュールとして書き直し、デコードが約45%、エンコードが約2倍高速化されました 
 +  * **ワールドエディター:** キューブマップエディターの分離・キューブマップキャプチャ/正規化、日付選択、露出EV、色温度、IESライトプロファイルのインポート(実験的)、TSStatic Forest Mover、グラウンドカバーエディター、Traffic Gated Roads Editor などを追加 
 + 
 +---- 
 + 
 +===== 外部リソース ===== 
 + 
 +  * [[https://documentation.beamng.com/modding/|公式MODドキュメント(英語)]] 
 +  * [[https://documentation.beamng.com/modding/programming/debugging/|デバッグ方法(英語)]] 
 + 
 +---- 
 +[[start|トップページに戻る]] 
 + 
 +~~LASTMOD~~