League Of LegendsのDataDragon【画像編】

LeagueOfLegends
League of legendsのDataDragonアイキャッチ

はじめに

 League Of Legendsの動画投稿や配信、ツールを作っていると画像素材に困ったりしませんか?

 チャンピオンの画像やアイコン、マップなど使いたい素材はたくさんでてきますが、動画から切り取りやスクリーンショットなど加工が面倒ですよね。
 なんと、League Of Legendsを運営しているRiotはとても優しく素材の提供をしています。

Riot Developer Portal

 細かいことはいいんだよ!って人は上記リンクのLatestから圧縮ファイルをダウンロードして確認してみてください。

DataDragonで何が提供されているのか

 DataDragonで提供されている圧縮ファイルには、データ(チャンピオン情報等)とアセット(画像等)が含まれています。
 その中から意図した画像を探すのはなかなか大変だったので、使えそうなものを抜粋して紹介します。

 「dragontail-16.4.1.tgz」を回答すると以下フォルダが出てきます。
 なぜ画像フォルダがひとつにまとまっていないのか・・・?というの疑問はありますが、Riot社員が手動で更新しているようなので感謝の気持ちをもって疑問は忘れましょう。

16.4.1
└img
 └champion:チャンピオンアイコン
 └item:アイテムアイコン
 └map:マップ
 └passive:チャンピオンのパッシブアイコン
 └profileicon:プロフィールアイコン
 └spell:チャンピオンのスペルアイコン(Q/W/E/R)

img
└champion
 └splash:スプラッシュアート。連番でスキンもあり
 └centerd:スプラッシュアートの拡大切り取り?連番でスキンもあり
 └loading:ローディング時のチャンピオン画像。連番でスキンもあり
 └tiles:タイル型で切り取ったスプラッシュアート。連番でスキンもあり
└perk-images
 └StatMods:ステータスのアイコン
 └Style:ルーン関連のアイコン

画像の見つけ方

 大量の画像の中から目的の画像を探すのって難しいですよね。

 なので私が把握している限りの「探し方」と「特定方法」を共有します。

探し方

 マップやルーンは数が多くないので手当たり次第開くことで確認できます。
 ポイントは「チャンピオン関連」と「アイテム」です。

チャンピオン関連

 チャンピオン関連は簡単で基本的に「チャンピオン英名+何か」となっています。
 スキンであれば連番、スキルであればQWERです。

Aatrox_0.png:デフォルトスキンエイトロックスのスプラッシュアート
Aatrox_1.png:正義の執行者エイトロックスのスプラッシュアート

AatroxQ.png:ダーキンブレード
AatroxW.png:炎獄の鎖

※初期チャンピオンは命名規則が確立されていなかったのかファイル名が異なる
AlphaStrike.png:マスターイーのQ
Volley.png:アッシュのW

アイテム関連

 「アイテム関連はファイル名称で探すのはあきらめてください」

 アイテムのファイル名は全て数字のみでファイル名から判別がつきません。
 辛うじて「5桁のファイル名はサモナーズリフトではなさそう・・・」という程度です。

 サムネで探すか「特定方法」で探してみてください。

特定方法

 Riotは画像に合わせてJSONでLoLのデータ情報を展開してくれています。

 そのため、データに含まれているチャンピオンとアイテムのJSONを紐解くことにより、ファイル名を特定できます。

チャンピオン関連

 DataDragonにチャンピオンのデータ情報(JSON)が展開されています。

16.4.1\data\ja_JP\champion
 Aatrox.json
 Ahri.json

 チャンピオンの各情報に「id」があるので、idからファイル名を特定することができます。
 例)エイトロQ:”id”: “AatroxQ”等

{
“type”: “champion”,
“format”: “standAloneComplex”,
“version”: “16.4.1”,
“data”: {
“Aatrox”: {
“id”: “Aatrox”,
“key”: “266”,
“name”: “エイトロックス”,
“title”: “ダーキンの暴剣”,
“image”: {
“full”: “Aatrox.png”,
“sprite”: “champion0.png”,
“group”: “champion”,
“x”: 0,
“y”: 0,
“w”: 48,
“h”: 48
},
“skins”: [
{ “id”: “266000”, “num”: 0, “name”: “default”, “chromas”: false },
{ “id”: “266001”, “num”: 1, “name”: “正義の執行者エイトロックス”, “chromas”: false },
・・・中略・・・
],
“lore”: “ヴォイドからシュリーマを守り抜いた誇り高き存在であったエイトロックスとその同胞は、いつしかルーンテラにとってヴォイドを上回る脅威となり、狡猾な定命の者の魔法の前に敗れ去った。数世紀にも及ぶ幽閉を経て、エイトロックスは彼の精髄を封じていた魔の武器を手にした愚か者の肉体を奪い、再び自由の身となることに成功した。奪った肉体をかつての姿へと変え、ルーンテラを闊歩する彼は、長らく望んできた復讐──世界を終焉させる機会をうかがっている。”,
“blurb”: “ヴォイドからシュリーマを守り抜いた誇り高き存在であったエイトロックスとその同胞は、いつしかルーンテラにとってヴォイドを上回る脅威となり、狡猾な定命の者の魔法の前に敗れ去った。数世紀にも及ぶ幽閉を経て、エイトロックスは彼の精髄を封じていた魔の武器を手にした愚か者の肉体を奪い、再び自由の身となることに成功した。奪った肉体をかつての姿へと変え、ルーンテラを闊歩する彼は、長らく望んできた復讐──世界を終焉させる機会をうかがっている。”,
“allytips”: [
“敵に当てやすいように「ダーキンブレード」使用中に「影進撃」を使用しよう。”,
“「炎獄の鎖」のような行動妨害スキルや味方の移動不能効果を使えば「ダーキンブレード」を当てやすくなる。”,
“確実に戦闘に持ち込めそうなら「ワールドエンダー」を使おう。”
],
“enemytips”: [
“エイトロックスの攻撃はタイミングを読みやすいので、攻撃が当たる前に攻撃範囲の外に出よう。”,
“「炎獄の鎖」は左右またはエイトロックスに向かって移動すると避けやすくなる。”,
“エイトロックスがアルティメットスキルを使ったら距離を取り、復活されないようにしよう。”
],
“tags”: [“Fighter”],
“partype”: “ブラッドウェル”,
“info”: {
“attack”: 8,
“defense”: 4,
“magic”: 3,
“difficulty”: 4
},
“stats”: {
“hp”: 650,
“hpperlevel”: 114,
“mp”: 0,
“mpperlevel”: 0,
“movespeed”: 345,
“armor”: 38,
・・・中略・・・
},
“spells”: [
{
“id”: “AatroxQ”,
“name”: “ダーキンブレード”,
“description”: “大剣を叩きつけて物理ダメージを与える。剣を3回振ることが可能で、振るごとに効果範囲が変化する。”,
“tooltip”: “大剣を叩きつけて{{ qdamage }}の物理ダメージを与える。剣先が当たった場合は対象を少しの間ノックアップさせて、代わりに{{ qedgedamage }}のダメージを与える。このスキルは2回再発動可能で、発動するごとに効果範囲が変わり、ダメージも25%増加する。{{ spellmodifierdescriptionappend }}”,
“leveltip”: {
“label”: [“クールダウン”, “ダメージ”, “合計攻撃力反映率”],
“effect”: [
“{{ cooldown }} -> {{ cooldownNL }}”,
“{{ qbasedamage }} -> {{ qbasedamageNL }}”,
“{{ qtotaladratio100.000000 }}% -> {{ qtotaladrationl100.000000 }}%”
]
},
“maxrank”: 5,
“cooldown”: [14, 12, 10, 8, 6],
“cooldownBurn”: “14/12/10/8/6”,
“cost”: [0, 0, 0, 0, 0],
“costBurn”: “0”,
“datavalues”: {},
“effect”: [null, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]],
“effectBurn”: [null, “0”, “0”, “0”, “0”, “0”, “0”, “0”, “0”, “0”, “0”],
“vars”: [],
“costType”: “コスト無し”,
“maxammo”: “-1”,
“range”: [25000, 25000, 25000, 25000, 25000],
“rangeBurn”: “25000”,
“image”: {
“full”: “AatroxQ.png”,
“sprite”: “spell0.png”,
“group”: “spell”,
“x”: 384,
“y”: 48,
“w”: 48,
“h”: 48
},
“resource”: “コスト無し”
},
    ・・・以下略・・・

アイテム

DataDragonにアイテム情報(JSON)が展開されています。

16.4.1\data\ja_JP\
 item.json

以下にブーツのJSON情報をサンプルとして記載します。

ブーツのidは”1001″です。
nameに名称、totalに金額があります。

“data”: {
“1001”: {
“name”: “ブーツ”,
“description”: “移動速度25

“,
“colloq”: “;Boots of Speed;くつ;クツ;ぶーつ;ブーツ;靴;bu-tsu;bu-tu;butsu;butu”,
“plaintext”: “移動速度がわずかに上昇”,
“into”: [
“3005”,
“3047”,
“3006”,
“3009”,
“3010”,
“3020”,
“3111”,
“3117”,
“3158”
],
“image”: {
“full”: “1001.png”,
“sprite”: “item0.png”,
“group”: “item”,
“x”: 0,
“y”: 0,
“w”: 48,
“h”: 48
},
“gold”: {
“base”: 300,
“purchasable”: true,
“total”: 300,
“sell”: 210
},
“tags”: [“Boots”],
“maps”: {
“11”: true,
“12”: true,
“21”: true,
“22”: false,
“30”: false,
“33”: false,
“35”: true
},
“stats”: {
“FlatMovementSpeedMod”: 25
}
}
}

これらがサモナーズリフトやアラム、その他モードの全量がJSONに記載されています。
動画編集などで使いたい場合は、簡易的なツールを作ってリネームして使うのがいいかもしれません。

コメント