アドオン製作ガイド:動作チェック
アドオン製作ガイド 目次 |
---|
・概要 ・ファイル構成 ・モデリング・テクスチャ ・jsonコーディング ・動作チェック < ・規約・配布 ・知恵袋 |
目次
- パック化
- 動作チェック
- 走行
- 連結
- 機能パーツ
- 乗車位置
- その他
- デバッグ
- 起動できない
- NGTFileLoadException: Can't load json : ~jsonファイルの中身~
- NullPointerException: The validated object is null
- ModelFormatException: Can't load model : ○○.mqo
- ModelFormatException: Error parsing face (~
jp.ngt.ngtlib.renderer.model.MqoModel.parsePolygon - ModelFormatException: Error parsing vertex ('数字 数字 数字e-XX', line XXX)
- NumberFormatException: For input string: "NAN"
- java.lang.IllegalArgumentException: MALFORMED
- 車両を選択するとクラッシュする
- 車両を設置するとクラッシュする
- Rendering entity in world
- ArrayIndexOutOfBoundsException
- 車両が選択画面に出てこない
- 車両の表示がおかしい
- 黒とピンクの模様になる
- 部分的に表示される・表示されない部分がある
- 方向幕が表示されない
- モデル・テクスチャが意図しない形になる
パック化
モデル・テクスチャなど一連のファイルをzip圧縮してパック化します。
その際、assetsフォルダがある階層で全フォルダ・ファイルを複数選択し、直接圧縮するようにしてください。
上位のフォルダにまとめて圧縮すると、階層構造が変わるため読み込みの際エラーの原因になります。
O:pack.zip/assets/minecraft/ (modelsやtextureなど)
X:pack.zip/(例)packname/assets/minecraft/ (modelsやtextureなど)
windowsの標準機能で圧縮する場合は、画像のように複数まとめて圧縮できます。
Lhaplusなど他のソフトを使用する場合は、各ソフトの方法に従ってください。(複数選択→右クリック→圧縮 など)
圧縮したファイルを任意のパック名に変更し、他のパックと同様にmodsフォルダに移動してMinecraftを起動します。
動作チェック
……無事読み込めましたでしょうか。
とりあえず問題なさそうなら、一通り眺め回したり動かしたりして動作の確認をしましょう。
走行
- 直線
加速性能・最高速度・サウンドの確認。
- 曲線
台車周りの挙動を確認。
- 坂
加速性能を変更した場合、一般的な坂を登れるか。
連結
- 連結時の車両間隔は良好か。連結器の位置は合っているか。
- 極端に小さい車両の場合、連結して走行できるか(よくある本体バグ)。
機能パーツ
- 台車
レールにぴったり接地しているか。
- ドア
開閉。左右は合っているか。
- パンタ
昇降動作するか。目的の架線高になっているか。
- 方向幕
位置ずれしたり、裏返っていないか。
- ライト
- サウンド
乗車位置
- 運転席(前後)
- 客席
その他
- 影modでの表示
- バージョン互換(1.7.10・1.10.2・1.12.2)
デバッグ
エラーが出て起動できない、車両を選択すると落ちる、表示がおかしい……など、動作不良の症状は様々です。
大抵は些細なミスが原因で簡単にデバッグ(修正)できることがほとんどなので、諦めずに対処していきましょう。
Minecraftがクラッシュすると、クラッシュレポート(CrashReport)が生成されます。
エラーの原因が大雑把に表示されているので、絞り込む手がかりになることがあります。
「View crash report」ボタンで開くか、「crash-reports」フォルダからテキストエディタで開いてみましょう。
- 最初の方に問題のモデルのID(車両名)が出ているかも
- 「Caused by:~」で始まる行に原因が書いてあるかも
起動できない
Minecraft・RTMの起動中にクラッシュする場合。
NGTFileLoadException: Can't load json : ~jsonファイルの中身~
- json構文のミス。チェッカーで確認。
- ファイル・フォルダ名の間違い
- 全角記号・文字の使用
- [] や {} カッコ閉じ忘れ
- 項目間の , を消してしまった、など
- jsonの基本構文は正しくても、RTMの動作に問題がある状態だとこうなる模様。
↓NullPointerExceptionの対処も参照。
NullPointerException: The validated object is null
- jsonでの記述が、RTMの動作に必要な構造になっていない
- 材質設定(材質名・材質数)が実際のモデルと異なっている
- [ 点1, 点2, 点3, 点4 ] と4つ値が必要な箇所が [ 点1, 点2, 点3 ] のように足りないなど
- 動作に必要な項目がない(ボタン画像設定など)
- いわゆるぬるぽ。
ModelFormatException: Can't load model : ○○.mqo
- モデルファイル名・フォルダ構成が異なっている
- パック化の際、圧縮する階層を間違えている
- モデルファイルにエラーがある
ModelFormatException: Error parsing face (~
jp.ngt.ngtlib.renderer.model.MqoModel.parsePolygon
- モデルのポリゴンのエラー。
- 材質未指定のポリゴンが存在する
ModelFormatException: Error parsing vertex ('数字 数字 数字e-XX', line XXX)
- モデル内の座標値が指数表記で保存されている(Metasequoia4.7以降の仕様で稀に発生)>対処法
NumberFormatException: For input string: "NAN"
- モデルのポリゴンのエラー。
- 旧バージョンのMetasequoia使用時に稀に発生する模様。
- 座標値かUV値がNaN(エラー値)になっているので、Metasequoiaの現行バージョンで上書き保存で回復可。
java.lang.IllegalArgumentException: MALFORMED
- 2バイト文字(全角文字・記号・日本語等)関連のエラー。
- at java.util.zip.ZipFile~~等と続く場合、zipファイル内のどこかに2バイト文字を含む名前のファイルがあり読み込みに失敗している
車両を選択するとクラッシュする
- 描画スクリプトのエラー
車両を設置するとクラッシュする
Rendering entity in world
- 方向幕の設定にミスがある
ArrayIndexOutOfBoundsException
- 座席の設定にミスがある([X,Y,Z,タイプ]のタイプが抜けているなど)
車両が選択画面に出てこない
- jsonファイル名の「ModelTrain_」を削除している
- アドオン内に全角文字・記号を含むファイル名がある
- trainType(電車/気動車/etc)の設定ミス
車両の表示がおかしい
黒とピンクの模様になる
- テクスチャのファイル名・フォルダ構造が異なっている
- Lightオプションを付けたテクスチャにライトテクスチャを用意していない
- 基本、テクスチャの問題ではクラッシュは起こりません(起動はできます)
部分的に表示される・表示されない部分がある
- AlphaBlendオプションを付けていない
- 描画スクリプトのバグ
- パンタ・ドアなど動作部分の座標や移動量のミス
方向幕が表示されない
- 裏返しになっている(裏からは見えない)
- 単位を間違えている(RTMはm単位、Metasequoiaはcm単位)
モデル・テクスチャが意図しない形になる
- 別のアドオンファイルと競合している
- ファイル名・フォルダ名を変更する
~~※本稿の画像・テキストは許可を得て TTKマニュアル より引用しています
アドオン製作ガイド 目次 |
---|
・概要 ・ファイル構成 ・モデリング・テクスチャ ・jsonコーディング ・動作チェック < ・規約・配布 ・知恵袋 |