BrawlCrate 小ネタ集
Brawl Boxの後継ツールである"BrawlCrate"は未だ開発途上で、割と頻繁に強制終了してユーザーを殺しに来ます。
ここではメモ代わりにBrawlCrate使ってる時にやらかしがちな失敗や記事を作るまでもない小ネタをまとめていきます。
ステージ作成に関するネタが多いです。
なんかreplaceしたら強制終了した
BrawlCrateは超貧弱なので、replaceを繰り返していると勝手に強制終了することがあります。
特にシェーダなど、BrawlBoxでは扱えなかったファイルでよく強制終了します。
対策としてはこまめにセーブしておくことが挙げられるでしょう。
インデックスが範囲を超えています。負でない値で、コレクションのサイズよりも小さくなければなりません。
どのマテリアルにも割り当てられていないシェーダが存在する状態で保存するとこのエラーを吐きます。
厄介なことに、一度このエラーが出た後、もう一度保存をすると確定で強制終了してしまいます。
シェーダを追加するときは保存する前にちゃんとどれかのマテリアルに割り当ててから保存しましょう。
もしうっかりこのエラーが出ても、修正したうえでmdl0データなどを単体でエクスポートしておけばなんとかなります。
そのほか頂点カラーが複数存在する場合やアーマチュアに存在していない頂点グループがある場合、モデルインポート時にも似たようなエラーを吐くようです。あとはモデルがデカすぎる場合なんかも。
シェーダの順番が変わった
保存時にマテリアルに割り当てられた順にソートされてしまいます。
どうやらBRES側の仕様のようです。
シェーダやマテリアルをReplaceしてもなんもかわらん
BrawlCrateは超貧弱なので、Replaceだけではプレビューに適用されないことが多々あります。
何かしらの項目を変更するか、いったんファイルを保存して再読み込みするときちんと適用されます。
また、再読み込みどころか実際に起動しても適用されない不具合が起きることもあり、その場合はマテリアルのシェーダを一旦別の物にした後元に戻せば治ります。
ステージを選ぶとフリーズする
大体の場合relファイルの設定が間違っているか、容量オーバーが原因です。
ステージに関しては容量制限が極めて曖昧な上、pacファイルだけではなくBRESごとの容量制限も存在しているっぽいです。
目安としては1つのBRESファイルにつき300000バイトぐらいに収めたほうがいいかもしれません。
基本的にファイルサイズがでかすぎてメモリがオーバーフローしてるのが原因らしいのですが、はっきりとした基準は存在しないのでフリーズした場合はテクスチャの解像度を変えるなどして試行錯誤してください。
ちなみに当たり前ですが、どれだけステージに問題が無くても、ファイターやUIに問題があればもちろんフリーズします。
クローンエンジンを使ってる場合はファイルの入れ忘れや設定ミスでフリーズしがちなので、Dolphinのログを見て何が読み込めていないかを確認するといいでしょう。
対戦はできるけどリザルトに行かずにフリーズする
地形判定のデータに問題がある可能性があります。
原因はよくわかっていませんが、ステージギミックのあるステージの場合はギミックに関連した判定を削除する、あるいはもとに戻すと改善することがありました。
ギミックが関係ない場合は多分作り直したほうが早いです。
もちろん、ステージに問題がなくてもファイターのリザルト用データに問題があればフリーズします。
BRESに入れた一部のデータが適用されない
ステージ毎に、モデルが表示されないBRESやアニメーションが再生されないBRESがあるみたいです。
とりわけ注意しておきたいのが、天空界のModel Data [1]。
Model Data [1]は一番上のモデルだけがアニメーションが再生されないようになっています。
一部のエミュレータではなぜか再生されてしまうのですが、実機等でやると再生されません。
一番上にダミーのモデル入れておけば解決します
透過の設定をしたマテリアルが消える
↑基本的にこの部分Falseにしないと消えてしまうようです。
たまにFalseじゃなくても表示されてる奴があるけどその辺は分からん
戦場やガウル平原みたいに、ライトやフォグの色がだんだん変わるようにしたい
シーンに限った話ではありませんが、ConstantColorをFalseにすると設定できるようになります。
…が、現在の最新版のBrawlCrateではなぜかフォグのConstantColorをFalseに設定するとエラーを吐いてしまいます。
旧バージョンのBrawlBoxを使ったり、既にFalseに設定されたSCNベースに使えばできなくはないと思います。
なんかBrawlCrate上と実機で表示が違うんだけど?
マテリアルのLightSetIndexがー1の場合ライティングが変わってしまいます。
また、マテリアルの設定やテクスチャの形式に不備があっても表示がおかしくなったりしがちです。
元となったマテリアルと見比べて何かおかしい部分がないか確認してみてください。
あと、BRESによってはライティングがおかしくなる場合があるみたいです。
過去に終点のModel Data [2]にモデルを入れたらライティングがおかしくなってしまい、Model Data [1]に移動したら正常に表示されるようになったことがありました。
あとはEnvCameraやProjectionに設定している、いわゆる光沢系のマテリアルはScaleを変更するとBrawlCrate上で正しく表示されなくなるようです。
憶測ですが恐らく拡大と縮小が逆になってる気がします。
ProjectMのひみつコースのシャインでもこの現象は確認できます。
このサイトにエクスポートしたBresファイルをドラッグドロップすると極めて実機に近い状態でレンダリングしてくれるので試行錯誤に使えるかも。
なんかテクスチャが化けてる
大体はシェーダの設定に不備があるか、テクスチャの解像度が大きすぎるかです。
スマブラXでは原則として1024x1024を超える解像度のテクスチャは使用できません。
また、Wii実機ではDolphinと違って解像度が2の乗数になっていない場合も表示がおかしくなるようです。
これはTexture ReferenceのWrapModeをclampにすれば回避できますが、テクスチャの繰り返し表示できなくなるので一枚絵とかでもない限り2の乗数に合わせたほうがいいと思います。
なんかアニメーションが途中でとまる
Loop、Falseにしてない?
頂点カラー/頂点アルファが適用されない
ColorおよびAlphaのMaterialSourceをVertexにすれば適用されます。
逆に頂点カラーが存在しないモデルでColorのMaterialSourceをVertexにするとBrawlCrate上での表示がバグりますが、ゲーム上では問題ありません。
また、Blenderでモデルを読み込むと頂点アルファのデータが消えてしまうっぽいのでそれが原因の可能性もあります。
別のゲームからテクスチャパターンデータ(PAT)をインポートしたらフリーズした
見落としがちですがPATにもバージョンが存在します。
BrawlCrate上でVersionの値を3にすれば動くようになるはずです。
モデル以外は基本的にBrawlCrate上でVersionの値をスマブラXの値に合わせるだけで動かせるようです。
気が向いたら追記します
2020/12/09 気が向いたのでちょっと追記しました
2022/03/29 追記修正
2023/01/10 追記修正