159 lines
8.0 KiB
Markdown
159 lines
8.0 KiB
Markdown
# aklive2d
|
||
|
||
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](https://github.com/sindresorhus/Plash) on macOS (not tested).
|
||
|
||
## Supported Operators
|
||
|
||
| Operator | Live Preview | Steam Workshop |
|
||
|----------|--------------|----------------|
|
||
| Nian | [Link](https://arknights.halyul.dev/nian/) | [Link](https://steamcommunity.com/sharedfiles/filedetails/?id=2564642594) |
|
||
| Unfettered Freedom / Nian | [Link](https://arknights.halyul.dev/nian_unfettered_freedom/) | [Link](https://steamcommunity.com/sharedfiles/filedetails/?id=2730943815) |
|
||
| W | [Link](https://arknights.halyul.dev/w/) | [Link](https://steamcommunity.com/sharedfiles/filedetails/?id=2642838078) |
|
||
| Rosmontis | [Link](https://arknights.halyul.dev/rosmontis/) | [Link](https://steamcommunity.com/sharedfiles/filedetails/?id=2642834981) |
|
||
| Dusk | [Link](https://arknights.halyul.dev/dusk/) | [Link](https://steamcommunity.com/sharedfiles/filedetails/?id=2730942651) |
|
||
| Everything is a Miracle / Dusk | [Link](https://arknights.halyul.dev/dusk_everything_is_a_miracle/) | [Link](https://steamcommunity.com/sharedfiles/filedetails/?id=2730943249) |
|
||
| Skadi the Corrupting Heart | [Link](https://arknights.halyul.dev/skadi/) | [Link](https://steamcommunity.com/sharedfiles/filedetails/?id=2492307783) |
|
||
| Ch'en the Holungday | [Link](https://arknights.halyul.dev/chen/) | [Link](https://steamcommunity.com/sharedfiles/filedetails/?id=2564643862) |
|
||
| Nearl the Radiant Knight | [Link](https://arknights.halyul.dev/neral/) | [Link](https://steamcommunity.com/sharedfiles/filedetails/?id=2642836787) |
|
||
| Ling | [Link](https://arknights.halyul.dev/ling/) | [Link](https://steamcommunity.com/sharedfiles/filedetails/?id=2730944363) |
|
||
|
||
- For Windows users: Use [Wallpaper Engine](https://www.wallpaperengine.io/en) or other softwares that support using webpage as desktop wallpaper.
|
||
- For macOS users: Use [Plash](https://github.com/sindresorhus/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!
|
||
|
||
## Usage
|
||
### Command Line Tool
|
||
|
||
``` bash
|
||
$ python3 aklive2d.py -h
|
||
usage: aklive2d [-h] {server,s,build,b,init,i} ...
|
||
|
||
Arknights Live 2D Wallpaper Builder
|
||
|
||
optional arguments:
|
||
-h, --help show this help message and exit
|
||
|
||
Available commands:
|
||
{server,s,build,b,init,i}
|
||
<Required> Select the command to run
|
||
server (s) Development Server
|
||
build (b) Build releases
|
||
init (i) Initialize a new operator
|
||
```
|
||
``` bash
|
||
$ python3 aklive2d.py s -h
|
||
usage: aklive2d server [-h] [-p PORT] -o OPERATOR_NAME [-r]
|
||
|
||
optional arguments:
|
||
-h, --help show this help message and exit
|
||
-p PORT, --port PORT Development server port (default: 8080)
|
||
-o OPERATOR_NAME, --operator OPERATOR_NAME
|
||
<Required> Operator to develop (default: None)
|
||
-r, --rebuild Rebuild assets (default: False)
|
||
```
|
||
``` bash
|
||
$ python3 aklive2d.py b -h
|
||
usage: aklive2d build [-h] [-o OPERATOR_NAMES [OPERATOR_NAMES ...]] [-r]
|
||
|
||
optional arguments:
|
||
-h, --help show this help message and exit
|
||
-o OPERATOR_NAMES [OPERATOR_NAMES ...], --operators OPERATOR_NAMES [OPERATOR_NAMES ...]
|
||
Operators to build (default: ['all'])
|
||
-r, --rebuild Rebuild assets (default: False)
|
||
```
|
||
``` bash
|
||
$ python3 aklive2d.py i -h
|
||
usage: aklive2d init [-h] [-c OPERATOR_NAME]
|
||
|
||
optional arguments:
|
||
-h, --help show this help message and exit
|
||
-c OPERATOR_NAME, --copy OPERATOR_NAME
|
||
YAML pre-defined Operator assets to copy (default: None)
|
||
```
|
||
### Webpage & JavaScript
|
||
|
||
Add query string `settings` to bring up the settings panel to adjust your settings. Then use appropriate JavaScript code to load your settings
|
||
|
||
``` javascript
|
||
settings.setFPS(integer) // set FPS
|
||
settings.displayLogo(boolean) // display logo or not
|
||
settings.resizeLogo(float) // the ratio of the logo
|
||
settings.opacityLogo(float) // the opacity of the logo
|
||
settings.setLogo(url, removeInvert) // change the logo, url: image url, removeInvert: boolean
|
||
settings.setBackground(url) // change the background, url: image url
|
||
settings.positionPadding("padLeft", integer) // left padding
|
||
settings.positionPadding("padRight", integer) // right padding
|
||
settings.positionPadding("padTop", integer) // top padding
|
||
settings.positionPadding("padBottom", integer) // bottom padding
|
||
|
||
settings.open() // open settings panel
|
||
settings.close() // close settings panel
|
||
settings.reset() // reset settings
|
||
```
|
||
|
||
## Config
|
||
``` yaml
|
||
# share properties for all operators
|
||
operator:
|
||
preview: preview.jpg # Steam workshop preview image file
|
||
project_json: project.json # Steam workshop project file
|
||
source_folder: ./operator/{name}/extracted/ # The folder that stores extracted game files
|
||
target_folder: ./operator/{name}/processed/ # The folder that stores processed game files
|
||
use_skel: true # For the Spine model, <true> for using skel file, otherwise use json
|
||
# Development server settings
|
||
# List all the supported operators under <operators> block
|
||
operators:
|
||
chen: # <operator name>/<folder name under "operator" folder>, will be used to replace <{name}> above
|
||
_operator_settings.js: # refer to char_1013_chen2_2_settings.js under operator folder
|
||
fallbackImage_height: 2048 # fallback image height
|
||
fallbackImage_width: 2048 # fallback image width
|
||
filename: dyn_illust_char_1013_chen2 # common file name
|
||
fps: 60 # default fps target in the webpage
|
||
opacity: 100 # optional property, can be used in the file
|
||
viewport_bottom: 1 # bottom padding of the model
|
||
viewport_left: 0 # left padding of the model
|
||
viewport_right: 0 # right padding of the model
|
||
viewport_top: 1 # top padding of the model
|
||
index.html: # refer to index.html under template folder
|
||
fallback_name: char_1013_chen2_2 # fallback image name
|
||
id: char_1013_chen2 # id of the operator
|
||
operator_logo: logo_rhodes_override # operator logo
|
||
title: Ch'en the Holungday # webpage title
|
||
version: __get_version # eval __get_version() function
|
||
project.json: # refer to project.json under operator folder
|
||
description: 'Arknights: Ch''en/Chen the Holungday Live 2D\n明日方舟:假日威龙陈 Live
|
||
2D\nThe model is extracted from game with Spine support.\n模型来自游戏内提取,支持Spine\nPlease
|
||
set your FPS target in Wallpaper Engine > Settings > Performance > FPS\n请在
|
||
Wallpaper Engine > 设置 > 性能 > FPS 下设置FPS\n\nLive preview on: https://arknights.halyul.dev/chen\nGithub:
|
||
https://github.com/Halyul/aklive2d' # Steam Workshop description
|
||
title: 'Arknights: Ch''en/Chen the Holungday - 明日方舟:假日威龙陈' # Steam Workshop title
|
||
ui_logo_opacity: 100 # logo opacity setting in WE
|
||
ui_logo_ratio: 61.8 # logo ratio setting in WE
|
||
ui_operator_logo: 'true' # enable/disable logo in WE
|
||
ui_position_padding_bottom: 1 # bottom padding of the model in WE
|
||
ui_position_padding_left: 0 # left padding of the model in WE
|
||
ui_position_padding_right: 0 # right padding of the model in WE
|
||
ui_position_padding_top: 1 # top padding of the model in WE
|
||
workshopid: 2564643862 # Steam Workshop id
|
||
server:
|
||
operator_folder: ./operator/ # The path that the showcase webpage accesses game files
|
||
release_folder: ./release/ # The folder that stores the showcase webpage
|
||
template_folder: ./template/ # The folder that stores the showcase template
|
||
```
|
||
## LICENSE
|
||
|
||
The `LICENSE` file applies to all files unless listed specifically.
|
||
|
||
`LICENSE_SPINE` file applies to following files including adapted code for this repo:
|
||
|
||
- `template/assets/spine-player.css`
|
||
- `template/assets/spine-player.js`
|
||
- `release/*/assets/spine-player.css`
|
||
- `release/*/assets/spine-player.js`
|
||
|
||
`Copyright © 2017 - 2021 Arknights/Hypergryph Co., Ltd` applies to following files:
|
||
|
||
- all files under `operator` folder and its sub-folders
|
||
- all files under `release/*/operator/*` folder
|
||
- `release/*/operator/operator_assets.js`
|