結論スプラにおけるマップの扱いスプラトゥーンでは二つのファイルによってステージを制御している。一つはモデルデータであり、モデルデータには「ステージの形状」や「ステージのどこの場所が塗れるか」や「どのオブジェクトがどのように動くか」といった情報が含まれている。一つはマップデータであり、これは「リスポーン地点の座標」や「ガチホコのゴール位置」や「ガチホコの初期位置」、「ヤグラのルートやカンモン」の情報が載っている。これら二つのファイルを合わせることで、ガチマッチは色々なルールを楽しむことができ、ルールを少し変えたいときにはモデルデータをいじらずにマップデータだけで細かい変更ができるというわけなのだ。マップ置換は制限されている少し前のバージョンであればプライベートマッチから簡単にステージを変更できたのだが、最近のバージョンではマップが有効かどうかをチェックするシステムが備わっており、例えばリスポーン地点が二つないステージについてはプレイすることができなく(フリーズするように)なっている。いうわけでプライベートマッチでのマップ置換は検証がめんどくさいので後回しにしたいのである。するか?それは、検証システムが働かないマップを使うことである。試し打ち場を置換するテストとしてスプラトゥーン2のチュートリアルのマップと置き換えてみた。すると何もない空間に放り出されてひたすら落下死を繰り返す状況に陥ってしまった。なにもない空間に放り出されるイカちゃんどうやら、単純にファイル名を置換するだけではダメなようだ。Toolboxでいろいろ弄るそこで、Toolboxを使ってSZSの中身を直接編集することにした。KCLリネーム後、やはり虚無空間に放り出されるイカちゃんしかし、ここであることを思いついた。してスタート地点の座標がちゃんと読み込めていないからバグっているのでは????これがビンゴで、Mapファイルの方の内部のbyamlファイルを編集することで正しくイカちゃんをスタート地点に配置することができた。byamlはファイル名を正しく入力しよう普段なら持てないマニュコラを持つイカちゃんマップも正しく読み込めている1のステージ移植MapファイルはSZSをToolboxで開いて中身をリネームするだけでとりあえず読み込めてしまった。Switchで大きく異なっている。これをこのまま流用することはできない。なると、どうやってBFRESファイルを作るかという問題になる。#Modelまずそもそもこれの仕様が違うっぽい。Switchへは描画システムに大幅なアップデートがされている。Splatoon1に代表される多くのWiiUのゲームは旧来のレンダリングを利用している。Specularの三つの属性を持つものであった。Splatoon2はPBRと呼ばれる物理レンダリングシステムを採用しており、それらはよりリアルな描画を可能にしている。Metallicの四つの属性を持っている。Normalはそのまま流用することができたが、SpecularをRoughnessに変換する必要があった。Metricに関しては無視している。変換方法についてはこの記事を参照。Switchはリトルエンディアンである。ここを変更しないとマップの情報を全く読み込まないということになる。Toolboxで編集できるらしいのだが、やり方がよくわからないのでスルーすることにする。そのままではできないらしく、自分でKCLをリトルエンディアンで出力できるように改造しなければいけないらしい。ToolboxでSplatoon2用のKCLを出力できるように変更した。まとめ2→2の置き換えはMapとModelを置換するだけで良い。内部ファイルはリネームしなければいけない。1→2の置き換えはModelのBFRESファイルとKCLを変換しなければいけない。結論KCLはうまく編集することができたが、BFRESの置換が上手くいっていないなど、まだまだ課題は存在する。正直なところ、カスタムステージに関して言えばOatmealDome氏がほぼほぼ完成形までもっていっているのでいまさら自分がすることはないのだが、プログラミングの勉強の一環として取り組んでいます。自身を天才と信じて疑わないマッドサイエンティスト。十字架の疵は彼女につけられた。コメントをキャンセルメールアドレスが公開されることはありません。