## ArknightsStudioCLI
CLI version of ArknightsStudio.
- Supported asset types for export: `Texture2D`, `Sprite`, `AkPortraitSprite`, `TextAsset`, `MonoBehaviour`, `Font`, `Shader`, `MovieTexture`, `AudioClip`, `VideoClip`, `Mesh`.
- *There are no plans to add support for `AnimationClip`, `Animator` for now.*
### Usage
```
ArknightsStudioCLI [-m, --mode ]
[-t, --asset-type ] [-g, --group-option ]
[-o, --output ] [-h, --help]
[--log-level ] [--log-output ]
[--image-format ] [--audio-format ]
[--l2d-motion-mode ] [--l2d-force-bezier]
[--fbx-scale-factor ] [--fbx-bone-size ]
[--filter-by-name ] [--filter-by-container ]
[--filter-by-pathid ] [--filter-by-text ]
[--spritealpha-mode ] [--alphatex-resampler ]
[--shadow-gamma ] [--original-avg-names]
[--add-aliases] [--export-asset-list ]
[--assembly-folder ] [--unity-version ]
[--not-restore-extension] [--load-all]
General Options:
-m, --mode Specify working mode
Export - Exports converted assets
ExportRaw - Exports raw data
Dump - Makes asset dumps
Info - Loads file(s), shows the number of available for export assets and exits
Live2D - Exports Live2D Cubism 3 models
SplitObjects - Exports split objects (fbx)
Example: "-m info"
-t, --asset-type Specify asset type(s) to export
All - export all asset types, which are listed in the values
*To specify multiple asset types, write them separated by ',' or ';' without spaces
Examples: "-t sprite" or "-t tex2d,sprite,audio" or "-t tex2d;sprite;font"
-g, --group-option Specify the way in which exported assets should be grouped
None - Do not group exported assets
Type - Group exported assets by type name
Container - Group exported assets by container path
ContainerFull - Group exported assets by full container path (e.g. with prefab name)
Filename - Group exported assets by source file name
Example: "-g container"
-o, --output Specify path to the output folder
If path isn't specified, 'ASExport' folder will be created in the program's work folder
-h, --help Display help and exit
Logger Options:
--log-level Specify the log level
Example: "--log-level warning"
--log-output Specify the log output
Example: "--log-output both"
Convert Options:
--image-format Specify the format for converting image assets
None - Do not convert images and export them as texture data (.tex)
Example: "--image-format jpg"
--audio-format Specify the format for converting audio assets
None - Do not convert audios and export them in their own format
Example: "--audio-format wav"
Live2D Options:
--l2d-motion-mode Specify Live2D motion export mode
MonoBehaviour - Try to export motions from MonoBehaviour Fade motions
If no Fade motions are found, the AnimationClip method will be used
AnimationClip - Try to export motions using AnimationClip assets
Example: "--l2d-motion-mode animationClip"
--l2d-force-bezier (Flag) If specified, Linear motion segments will be calculated as Bezier segments
(May help if the exported motions look jerky/not smooth enough)
FBX Options:
--fbx-scale-factor Specify the FBX Scale Factor
Specify the FBX Bone Size
Specify the name by which assets should be filtered
*To specify multiple names write them separated by ',' or ';' without spaces
Example: "--filter-by-name char" or "--filter-by-name char,bg"
--filter-by-container Specify the container by which assets should be filtered
*To specify multiple containers write them separated by ',' or ';' without spaces
Example: "--filter-by-container arts" or "--filter-by-container arts,icons"
--filter-by-pathid Specify the PathID by which assets should be filtered
*To specify multiple PathIDs write them separated by ',' or ';' without spaces
Example: "--filter-by-pathid 7238605633795851352,-2430306240205277265"
--filter-by-text Specify the text by which assets should be filtered
Looks for assets that contain the specified text in their names or containers
*To specify multiple values write them separated by ',' or ';' without spaces
Example: "--filter-by-text portrait" or "--filter-by-text portrait,art"
Arknights Options:
--spritealpha-mode Specify the mode in which you want to export sprites with alpha texture
None - Export sprites without alpha texture applied
InternalOnly - Export sprites with internal alpha texture applied (if exist)
SearchExternal - Export sprites with internal alpha texture applied,
and in case it doesn't exist, Studio will try to find an external alpha texture
Example: "--spritealpha-mode internalOnly"
--alphatex-resampler Specify the alpha texture upscale algorithm for 2048x2048 sprites
Mitchell - Mitchell Netravali algorithm. Yields good equilibrium between
sharpness and smoothness (produces less artifacts than bicubic in the current use case)
Spline - Similar to Mitchell Netravali but yielding smoother results
Welch - A high speed algorithm that delivers very sharpened results
Example: "--alphatex-resampler bicubic"
--shadow-gamma Specify the gamma correction of semi-transparent shadow for 2048x2048 sprites
<0 - Make the shadow darker
0 - Do not change the brightness of the shadow
>0 - Make the shadow lighter
Example: "--shadow-gamma 0"
--original-avg-names (Flag) If specified, names of avg character sprites will not be restored
--add-aliases (Flag) If specified, aliases will be added to avg character sprite names (if exist)
Advanced Options:
--export-asset-list Specify the format in which you want to export asset list
None - Do not export asset list
Example: "--export-asset-list xml"
--assembly-folder Specify the path to the assembly folder
--unity-version Specify Unity version
Example: "--unity-version 2017.4.39f1"
--not-restore-extension (Flag) If specified, Studio will not try to use/restore original TextAsset
extension name, and will just export all TextAssets with the ".txt" extension
--load-all (Flag) If specified, Studio will load assets of all types
(Only for Dump, Info and ExportRaw modes)
```