Modding/自作キャラ追加

Last-modified: 2020-04-15 (水) 13:46:01

Steamワークショップを介さずに開発することを想定しています。

必要なもの

  • PC操作スキル
  • テキストエディタ
  • xmlの知識(見様見真似でもいけると思われるが、質問する場合はxmlのものなのか、このゲームのModにのみ当てはまるものなのか吟味すること。)
  • キャラのドット絵
  • ファイルの拡張子を見えるようにしておく

下準備

  1. 「steamapps\common\One Step From Eden\OSFE_Data\StreamingAssets\Mods」に新しいフォルダを作成。Modの名前にリネームしておく。以下「TestMod」とする。
  2. 「steamapps\common\One Step From Eden\OSFE_Data\StreamingAssets\ExampleMods\Lea Char」というフォルダがあるのでこの中から「Heroes.xml」「LeaAnimInfo」というファイル、「char」というフォルダをコピペして「TestMod」フォルダへ入れる。
    • 直接「TestMod」へ作成しても良いが、書き換えたほうが手間が少ないと思われる。

作成作業

  1. 「Heroes.xml」をテキストエディタで開く。
  2. 変えたい部分を書き換える。
    タグ・属性内容必要度
    beingIDゲーム内コードで扱われるID。Nameと一致させないといけない。半角スペースを開けてもOK必須
    Name追加するキャラの名前。beingIDと一致させないといけない。必須
    Titleスタイル部分に表示される名称必須
    TagsDefaultとつけるとキャラセレクト画面に表示される任意
    Campaignとつけるとシングルプレイヤーキャラ選択画面に表示される任意
    Unlockとつけるとそのキャラはアンロックされている任意
    Descriptionそのキャラの説明。キャラ選択画面上方に表示されるキャラそのものの説明文任意
    Flavourそのキャラの説明。スタイルの選択で表示される小さい説明文任意
    Weaponそのキャラの武器必須
    Healthそのキャラのゲーム開始時のHP必須
    MaxHealthそのキャラのゲーム開始時の最大HP必須
    Moneyそのキャラのゲーム開始時の手持ちのクレジット任意
    MaxManaそのキャラのゲーム開始時の最大マナ必須
    BasicCooldown武器攻撃の時間間隔。秒数指定(0.05なら連打してても0.05秒間隔で出る)任意
    ManaRegenゲーム開始時のマナ自然回復速度任意
    ShuffleTimeゲーム開始時のシャッフルにかかる時間。秒数指定任意
    InvulLengthダメージを受けた際の無敵時間(凍傷ダメージなどの追加ダメージは連続で受ける)任意
    Defenseゲーム開始時の防御力任意
    Lerptime移動速度任意
    Deckゲーム開始時のデッキに入っているスペル。複数指定する場合は複数タグに分ける任意
    Artifactsゲーム開始時の所持アーティファクト。複数指定する場合は複数タグに分ける任意
    Stats様々な属性を指定する。以下参照一部必須
    • Statsの属性
      属性値内容必要度
      localGunPointPos射出系のスペルをスプライトのどの座標から射出するかを指定する。任意
      animNameアニメーション定義ファイル(AnimInfo)の判別部分の名前(TestAnimInfoならTestと指定する)必須
      altAnims別スキンのアニメーションがあるかどうか。true/false用意するなら必須
      splashSpriteキャラクター画像。キャラ選択時に右に出てくる大きい画像。ポーズ時に出てくるものも同様指定は必須だがない場合は代替画像が表示される
      startingBrandsゲーム開始時にフォーカスしているブランド名任意
      shadowfalseにすると影のエフェクトが出なくなる任意

スタイルの追加

  • beingIDは何でも良いが、親となるキャラの文字列の後ろに追加したほうが良い。理由としてはスタイルの順番が変わってしまうからである。
    • 例 親ID:Z 子ID:A としたとき、スタイルの表示では子の方が上側に表示されてしまう。
    •   親ID:Z 子ID:Z2 とすれば、親のスタイルの下に子のスタイルが表示される。
  • Nameを親と一致させる
  • Titleがスタイル名となる
  • TagにはCampaignを必ず指定する

アニメーションの追加

  1. コピーしてきた「LeaAnimInfo」のLeaを消して属性値animNameと同じ名前をいれる。(例:TestAnimInfo.xml)
  2. AnimInfoファイルを編集する。タグ・属性は以下の通り
    タグ・属性内容
    Animation一つのアニメをこのタグで囲って定義する。属性はloop,name,frameDuration
    loopループするかどうか
    nameアニメーションの名前。定義されているのでそれに沿ったものを付ける。以下参照
    frameDuration最終コマの持続フレーム数。ループがtrueの場合は関係ないと思われる?
    frameアニメの1コマをこのタグで定義する。画像ファイルの参照はフォルダにまとめたほうがファイル管理が楽
  3. 「char」フォルダを作成し、その中に画像を入れていく。フォルダの名前は変更しても良いがxmlファイルの中身も書き換えることを忘れずにすること。
    • 画像ファイルには管理しやすくなるようアニメーションの名前とコマ番号を付けることをお勧めする。
  • 定義されているアニメーション名一覧
    name説明
    airborne
    airLand
    assist
    back後退するとき
    cast01Channel
    cast01Endスペル詠唱最後
    cast01Mid
    cast01Startスペル詠唱開始
    cast02Endスペル詠唱最後
    cast02Mid
    cast02Startスペル詠唱開始
    cast03Endスペル詠唱最後
    cast03Mid
    cast03Startスペル詠唱開始
    channel
    charge
    clear
    dashingボス見逃し時のダッシュアニメ?
    deathHP0時のアニメーション
    down
    downed
    drop下へ移動するとき
    flinch
    front前へ移動するとき
    hit
    hop上へ移動するとき
    idle何もしていないとき
    pet
    raise
    release
    shield
    slash01
    slash02
    slash03
    slash04
    spawn登場シーン
    specialEnd
    specialStart
    taunt
    throw
    throw02
    • castなど複数同じものがあるものは順番にそのアニメーションが行われる。(サフロンが分かりやすい)castの場合、01→次の詠唱は02→次の詠唱は03→01……という感じ

スキンの追加

  • 調査中

うまくいかないとき

Descriptionがちゃんと表示されない

  • beingIDとNameが一致していないためと思われる。

コメント