その他メモ

  • バグ

    • ストーリーモードのタイムアタックでプラチナタイムを出しても負け扱いになる(ヴィヴ/Stage1.3などで確認)

    • NPCレーサーが大幅な劣勢時に優勢時の台詞を吐く(エスミー、ガンナーあたりで顕著)

    • フォントアトラスがそこかしこで不足していて、ダイナミックフォントかなんかにフォールバックされている

      • このページで手順メモ

    • 一部レース(Viv編に顕著)で、途中からレースを始める時に「前編」が始まらない

      • レーススクリプトのrecapIndexが0になっていて、負けフラグをスキップして話が即時終了してるように見える。いずれ修正

Modding

差し替え用のフォントアトラスをビルドする

互換性のあるTextMeshProを用意

Unity Hubを入れて、どうにかUnity(2019.4.40f1)をインストールする。カラの3Dプロジェクトを作成してUnityを起動。

Window → Package ManagerでTextMeshProを有効にした後にプロジェクトを閉じ、manifest.jsonを開いてTextMeshProのバージョンを手動で1.4.1に変更。

フォントアトラス生成

再度プロジェクトを開き、アセットにNoto Sans JP-Light, Medium, BlackのTTFを追加する。

Window → TextMeshPro → Font Asset Creator からフォントアトラスの生成と保存を行う(3フォント分)。パラメータは以下。

オブジェクトの配置

GameObject → 3DObject → Text - TextMeshPro から必要な数だけテキストオブジェクトを作成し、各オブジェクトフォントを生成済みのTextMeshProアセットに設定する。

ビルドと取り出し

File → Build Setitngs で適当にビルドし、{project}_Dataディレクトリのsharedassets0.assetsをUABEAで開き、フォントのMonoBehavior(Dump export)とTexture2D(plugin→export)を抜き出す。

  • NotoSansJP-Light SDF(MonoBehavior)

  • NotoSansJP-Medium SDF(MonoBehavior)

  • NotoSansJP-Black SDF(MonoBehavior)

  • NotoSansJP-Light SDF Atlas(Texture2D)

  • NotoSansJP-Medium SDF Atlas(Texture2D)

  • NotoSansJP-Black SDF Atlas(Texture2D)

フォントアトラスを差し替える

取り出し

UABEAでsharedassets0.assetsまたはresources.assetsを開き(UABEAの場合どちらにせよ後者を参照する)、下記のMonoBehavior(Dump)を抜き出す。

  • NotoSansJP-Light SDF Static

  • NotoSansJP-Medium SDF Static

  • NotoSansJP-Black SDF Static

マージ

同名のMonoBehaviorダンプをマージする。その際、以下の部分は新規作成したほうを優先する。

  • m_FaceInfoからm_FaceIndexを除いた全部

  • m_FaceInfoより下の変数を全部、まるまるコピペで置き換え。一応リストにしてあるが気にせず全部上書きしてる

    • m_GlyphTable

    • m_AtlasTextureIndex

    • m_UsedGlyphRects

    • m_FreeGlyphRects

    • m_fontInfo

    • atlas

    • m_AtlasWidth

    • m_AtlasHeight

    • m_AtlasPadding

    • m_AtlasRenderMode

    • m_glyphInfoList

    • m_KerningTable

    • m_FontFeatureTable

    • fallbackFontAssets

    • m_FallbackFontAssetTable

    • m_CreationSettings

    • m_FontWeightTable

    • fontWeights

    • normalStyle

    • normalSpacingOffset

    • boldStyle

    • boldSpacing

    • italicStyle

    • tabSize

インポート

マージしたMonoBehaviorとAtlasをUABE上でインポートする。ファイル名を合わせてバッチインポートすれば2手くらいで済むはず。

Last updated