Files
aklive2d/README.md
2022-12-01 09:47:49 -05:00

9.8 KiB
Raw Permalink Blame History

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 on macOS (not tested).

Supported Operators

Operator Live Preview Steam Workshop
Nian Link Link
Unfettered Freedom / Nian Link Link
Focus / Phatom Link Link
W Link Link
Fugue / W Link Link
Rosmontis Link Link
Dusk Link Link
Everything is a Miracle / Dusk Link Link
Skadi the Corrupting Heart Link Link
Sublimation / Skadi the Corrupting Heart Link Link
Ch'en the Holungday Link Link
Nearl the Radiant Knight Link Link
Ling Link Link
Specter the Unchained Link Link
Gavial the Invincible Link Link
Colorful Wonderland / Surtr Link Link
Trust Your Eyes / Lee Link Link
Texas the Omertosa Link Link
Relight / Nearl Link Link
Become Anew / Rosmontis Link Link
Dream in a Moment / Passager Link Link
Summer Feast / Mizuki Link Link
  • 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!

Usage

Command Line Tool

$ 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
$ 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)
$ 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)
$ 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

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

# 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
# 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