A project that builds showcase webpage for Arknights Live2D-equipped operators. Showcase webpage can be used as a wallpaper for Wallpaper Engine on Windows or Plash on macOS (not tested).
- For Windows users: Use Wallpaper Engine or other softwares that support using webpage as desktop wallpaper.
- For macOS users: Use Plash, however, I don't have macOS machine, so your mileage may vary.
- For Linux users: You power user should be able to find your solutions!
A list of supported operators can be found at Directory page.
$ pnpm run update
Update data from official website and github repo
$ pnpm run lint
ESLint and StyleLint
$ pnpm run build
Build showcase webpage for all operators and directory page
$ name=<name> pnpm run build
Build showcase webpage for an operator
$ name=<name> id=<id> pnpm run init
To initialize folder and config file for an operator
$ name=<name> pnpm run dev:showcase
Run dev server for showcase webpage for an operator
$ name=<name> pnpm run preview:showcase
Preview built showcase webpage for an operator
$ pnpm run dev:directory
Run dev server for directory webpage
$ name=<name> pnpm run preview:directory
Preview built directory webpage
$ pnpm run preview
Preview built all webpages
$ name=<name> id=<id> pnpm run init
Init new operator config
$ pnpm run download:game
Download latest game data from Arknights
$ pnpm run download:data
Download extracted game assets
Add query string aklive2d
to bring up the settings panel to adjust your settings.
Settings can be adjusted under window.aklive2d
or by dispatching custom events (under window.aklive2d.events
) to document
.
Examples can be found at apps/showcase/src/components/wallpaper_engine.js
.
document.dispatchEvent(
window.aklive2d.events.RegisterConfig.handler({
target: 'background',
key: 'default',
value: 'bg_sui_1.png',
})
)
Using JS events to change settings is recommended.
in packages/config/config.yaml
Settings for the whole project
site_id: aklive2d
akassets:
project_name: akassets
url: https://akassets.pages.dev
insight:
id: aklive2d
url: https://insight.halyul.dev/on-demand.js
module:
assets:
config_yaml: config.yaml
background: background
music: music
charword_table: charword_table
project_json: project_json
background:
operator_bg_png: operator_bg.png
charword_table:
charword_table_json: charword_table.json
music:
music_table_json: music_table.json
display_meta_table_json: display_meta_table.json
audio_data_json: audio_data.json
official_info:
official_info_json: official_info.json
operator:
operator: operator
config: config
template_yaml: _template.yaml
config_yaml: config.yaml
portraits: _portraits
logos_assets: _logos
logos: logos
directory_assets: _directory
MonoBehaviour: MonoBehaviour
Texture2D: Texture2D
title:
zh-CN: '明日方舟:'
en-US: 'Arknights: '
project_json:
project_json: project.json
preview_jpg: preview.jpg
template_yaml: project_json.yaml
wrangler:
index_json: index.json
vite_helpers:
config_json: config.json
app:
showcase:
public: public
assets: assets
dir_name:
data: data
dist: dist
extracted: extracted
auto_update: auto_update
voice:
main: voice
sub:
- name: jp
lang: JP
lookup_region: zh_CN
- name: cn
lang: CN_MANDARIN
lookup_region: zh_CN
- name: en
lang: EN
lookup_region: en_US
- name: kr
lang: KR
lookup_region: ko_KR
- name: custom
lang: CUSTOM
lookup_region: zh_CN
directory:
assets_dir: _assets
title: AKLive2D
voice: jp/CN_037.ogg
error:
files:
- key: build_char_128_plosis_epoque#3
paddings:
left: -120
right: 150
top: 10
bottom: 0
- key: build_char_128_plosis
paddings:
left: -90
right: 100
top: 10
bottom: 0
voice:
file: CN_034.ogg
target: error.ogg
in packages/operator/config.yaml
chen: !include config/chen.yaml
dusk: !include config/dusk.yaml
dusk_everything_is_a_miracle: !include config/dusk_everything_is_a_miracle.yaml
ling: !include config/ling.yaml
nearl: !include config/nearl.yaml
nian: !include config/nian.yaml
nian_unfettered_freedom: !include config/nian_unfettered_freedom.yaml
phantom_focus: !include config/phantom_focus.yaml
rosmontis: !include config/rosmontis.yaml
skadi: !include config/skadi.yaml
skadi_sublimation: !include config/skadi_sublimation.yaml
w: !include config/w.yaml
...
in packages/operator/config/<name>.yaml
filename: dyn_illust_char_1013_chen2 # live2d assets name
logo: logo_rhodes_override # operator logo
fallback_name: char_1013_chen2_2 # fallback image name
viewport_left: 0 # live2d view port settings
viewport_right: 0
viewport_top: 0
viewport_bottom: 0
invert_filter: false # operator logo invert filter
codename: # operator name
zh-CN: 假日威龙陈
en-US: Ch'en/Chen the Holungday
use_json: false # whether the spine skel is in json format
The LICENSE
file applies to all files unless listed specifically.
LICENSE_SPINE
file applies to following files including adapted code for this repo:
apps/module/libs/spine-player.css
apps/module/libs/spine-player.js
Copyright © 2017 - 2023 Arknights/Hypergryph Co., Ltd
applies to following files:
- all files under
packages/operator/data
folder and its sub-folders - all files under
packages/music/data
folder and its sub-folders - all files under
packages/background/data
folder and its sub-folders
Assets Name | Location | Type |
---|---|---|
Logos | spritepack/ui_camp_logo_0.ab | Sprite |
Logo Mapping | gamedata/art/handbookpos_table.json3 | TextAsset |
Dynaimc Character | arts/dynchars/ | Texture2D & TextAsset |
Static Image | Operator: chararts/ ; Skin: skinpack/ | Texture2D |
Background | arts/ui/homebackground/wrapper/ | Sprite |
Voice Clips | audio/sound_beta_2/voice{_*}/ | AudioClip |
Voice Lines3 | gamedata/excel/charword_table.ab | TextAsset |
Portrait Images1 | arts/charportraits | Texture2D & MonoBehaviour |
Home Music2 | audio/sound_beta_2/music | AudioClip |
1: portrait_hub
is required to locate the image
2: gamedata/excel/display_meta_table.json->homeBackgroundData
3 and gamedata/excel/audio_data.json
3 is required to locate the music.
3: Data is encryped, decryped version can be obtained from ArknightsGameData for the Chinese version and Kengxxiao/ArknightsGameData_YoStar for other regions.