GithubHelp home page GithubHelp logo

andykuo8766 / aklive2d Goto Github PK

View Code? Open in Web Editor NEW

This project forked from halyul/aklive2d

0.0 0.0 0.0 227.11 MB

Home Page: https://arknights.halyul.dev/

License: GNU General Public License v3.0

JavaScript 93.88% Python 0.38% CSS 5.47% Nix 0.01% HTML 0.27%

aklive2d's Introduction

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

aklive2d's People

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.