From 2dbcfe4ea726b45f2eea5feea7a21ff0e4f03cfc Mon Sep 17 00:00:00 2001 From: ww-rm Date: Wed, 29 Oct 2025 23:17:51 +0800 Subject: [PATCH] update readme --- README.en.md | 287 +++++++++++++++++++++++++++------------------------ README.md | 87 +++++++--------- 2 files changed, 191 insertions(+), 183 deletions(-) diff --git a/README.en.md b/README.en.md index 7e98874..b9ae309 100644 --- a/README.en.md +++ b/README.en.md @@ -4,149 +4,164 @@ [![GitHub Release](https://img.shields.io/github/v/release/ww-rm/SpineViewer?logo=github\&logoColor=959da5\&label=Release\&labelColor=3f4850)](https://github.com/ww-rm/SpineViewer/releases) [![Downloads](https://img.shields.io/github/downloads/ww-rm/SpineViewer/total?logo=github\&logoColor=959da5\&label=Downloads\&labelColor=3f4850)](https://github.com/ww-rm/SpineViewer/releases) +![Languages](https://img.shields.io/badge/Languages-中文%20%7C%20English%20%7C%20日本語-blue) + [中文](README.md) | [English](README.en.md) -A simple and user-friendly Spine file viewer and exporter with multi-language support (Chinese/English/Japanese). +Spine file viewer & exporter, also a dynamic wallpaper program supporting Spine animations. ![previewer](https://github.com/user-attachments/assets/697ae86f-ddf0-445d-951c-cf04f5206e40) -https://github.com/user-attachments/assets/37b6b730-088a-4352-827a-c338127a16f0 - -## Features - -- Multiple versions of Spine files -- Batch file opening via drag-and-drop or copy-paste -- Batch preview -- List-based multi-skeleton viewing and render order management -- Multi-selection in lists for batch skeleton parameter settings -- Multi-track animation settings -- Skin and custom slot attachment settings -- Custom slot visibility -- Debug rendering -- Playback speed adjustment for view/model/track timelines -- Track alpha blending parameter settings -- Fullscreen preview -- Export to single frame, image sequence, animated GIF, or video file -- Automatic resolution batch export -- Custom export with FFmpeg -- Program parameter saving -- File extension association -- Texture images in formats other than PNG -- Launch at startup with persistent dynamic wallpaper -- ...... - -### Supported Spine Versions - -| Version | View & Export | -| :-----: | :------------------: | -| `2.1.x` | :white\_check\_mark: | -| `3.4.x` | :white\_check\_mark: | -| `3.5.x` | :white\_check\_mark: | -| `3.6.x` | :white\_check\_mark: | -| `3.7.x` | :white\_check\_mark: | -| `3.8.x` | :white\_check\_mark: | -| `4.0.x` | :white\_check\_mark: | -| `4.1.x` | :white\_check\_mark: | -| `4.2.x` | :white\_check\_mark: | -| `4.3.x` | | - -More versions under development \:rocket: \:rocket: \:rocket: - -### Supported Export Formats - -| Format | Use Case | -| -------------- | ----------------------------------------------------------------------------- | -| Single Frame | Generate high-resolution images of models; manually adjust the desired frame. | -| Frame Sequence | Supports PNG format with transparency and lossless compression. | -| GIF/Video | Export preview animations or common video formats. | -| Custom Export | Supports arbitrary FFmpeg parameters for custom, complex export needs. | - -## Installation - -Download the compressed package from the [Release](https://github.com/ww-rm/SpineViewer/releases) page. - -The software requires the [.NET Desktop Runtime 8.0.x](https://dotnet.microsoft.com/download/dotnet/8.0) to run. - -Alternatively, download the package with the `SelfContained` suffix for standalone execution. - -For exporting GIF/MP4 and other animation/video formats, FFmpeg must be installed and added to the system environment variables. Visit the [FFmpeg Windows download page](https://ffmpeg.org/download.html#build-windows) or download the latest version directly: [ffmpeg-release-full.7z](https://www.gyan.dev/ffmpeg/builds/ffmpeg-release-full.7z). - -## Usage - -### How to Change the Display Language - -In the menu, go to "File" -> "Preferences..." -> "Language," select your desired language, and confirm the change. - -### Basic Overview - -The program is organized into a left-right layout: - -- **Left Panel:** Functionality panel. -- **Right Panel:** Preview display. - -The left panel includes three sub-panels: - -- **Browse:** Preview the content of a specified folder without importing files into the program. This panel allows generating `.webp` previews for models or importing selected models. -- **Model:** Lists imported models for rendering. Parameters and rendering order can be adjusted here, along with other model-related functionalities. -- **Display:** Adjust parameters for the right-side preview display. - -Hover your mouse over buttons, labels, or input fields to see help text for most UI elements. - -### Skeleton Import - -Drag-and-drop or paste skeleton files/directories into the Model panel. - -Alternatively, use the right-click menu in the Browse panel to import selected items. - -### Content Adjustment - -The Model panel supports right-click menus, some shortcuts, and batch adjustments of model parameters through multi-selection. - -For preview display adjustments: - -- **Left-click:** Select and drag models. Hold `Ctrl` for multi-selection, synchronized with the left-side list. -- **Right-click:** Drag the entire display. -- **Scroll wheel:** Zoom in/out. Hold `Ctrl` to scale selected models. -- **Render selected-only mode:** In this mode, the preview only shows selected models, and selection status can only be changed via the left-side list. - -The buttons below the preview display allow time adjustments, serving as a simple playback control. - -### Content Export - -Export follows the **WYSIWYG (What You See Is What You Get)** principle, meaning the preview display reflects the exported output. - -Use the right-click menu in the Model panel to export selected items. - -Key export parameters include: - -- **Output folder:** Optional. When not specified, output is saved to the respective model folder; otherwise, all output is saved to the provided folder. -- **Export single:** By default, each model is exported independently. Selecting "Export single" renders all selected models in a single frame, producing a unified output. -- **Auto resolution:** Ignores the preview resolution and viewport parameters, exporting output at the actual size of the content. For animations/videos, the output matches the size required for full visibility. - -### Dynamic Wallpaper - -Dynamic wallpaper is implemented through desktop projection, allowing the content of the current preview to be projected onto the desktop in real time. - -You can enable or disable desktop projection from the program preferences or the right-click menu of the tray icon. After adjusting the model and display parameters, you can save the current configuration as a workspace file for convenient restoration later. - -If you want the wallpaper to stay active after startup, you can enable auto-start in the preferences and specify which workspace file should be loaded when the program launches. - -### More Information - -For detailed usage and documentation, see the [Wiki](https://github.com/ww-rm/SpineViewer/wiki). For usage questions or bug reports, submit an [Issue](https://github.com/ww-rm/SpineViewer/issues). - -## Acknowledgements - -- [spine-runtimes](https://github.com/EsotericSoftware/spine-runtimes) -- [SFML.Net](https://github.com/SFML/SFML.Net) -- [FFMpegCore](https://github.com/rosenbjerg/FFMpegCore) -- [HandyControl](https://github.com/HandyOrg/HandyControl) -- [NLog](https://github.com/NLog/NLog) -- [SkiaSharp](https://github.com/mono/SkiaSharp) -- [Spectre.Console](https://github.com/spectreconsole/spectre.console) +[https://github.com/user-attachments/assets/37b6b730-088a-4352-827a-c338127a16f0](https://github.com/user-attachments/assets/37b6b730-088a-4352-827a-c338127a16f0) --- -*If you find this project helpful, please give it a \:star: and share it with others! :)* +## Features + +- Supports multiple Spine file versions (`2.1.x; 3.4.x - 4.2.-`) +- List-based multi-skeleton view with rendering order management +- Supports multi-track animations +- Supports skin/slot/attachment settings +- Debug rendering support +- Frame rate / model / track time scale adjustment +- Track alpha blending control +- Export single frame / GIF / video +- Custom export via FFmpeg +- Supports non-PNG texture formats +- Desktop dynamic wallpaper with auto-start support +- ...... + +--- + +## Installation + +Download the compressed package from the [Releases](https://github.com/ww-rm/SpineViewer/releases) page. + +The program requires the [.NET Desktop Runtime 8.0.x](https://dotnet.microsoft.com/download/dotnet/8.0) to be installed. + +You can also download packages with the `SelfContained` suffix, which can run independently without additional installations. + +Exporting GIF/MP4 or other animated/video formats requires **ffmpeg** installed locally and added to the system PATH. Download [FFmpeg for Windows](https://ffmpeg.org/download.html#build-windows) or the latest full build [ffmpeg-release-full.7z](https://www.gyan.dev/ffmpeg/builds/ffmpeg-release-full.7z). + +--- + +## Changing Display Language + +Currently, the program supports the following interface languages: + +* `ZH` (Chinese) +* `EN` (English) +* `JA` (Japanese) + +Change the language via the menu: **File → Preferences… → Language**, then confirm. + +--- + +## Usage + +### Overview + +The program uses a left-right layout: the left panel contains controls, the right panel displays the preview. + +The left panel contains three sub-panels: + +* **Models**: Lists imported and rendered models. Set model parameters, rendering order, and other model-related functions here. +* **Browser**: Preview files in a folder without actually importing them. Generate WebP previews or import selected models. +* **Canvas**: Set parameters for the right-side preview display. + +Most buttons, labels, or input fields show help text on hover. + +--- + +### Importing Skeletons + +Drag-and-drop or paste skeleton files/folders directly into the **Models** panel. + +Alternatively, use the right-click menu in the **Browser** panel to import selected items. + +--- + +### Adjusting Content + +The **Models** panel supports right-click menus, some hotkeys, and batch editing via multi-selection. + +Mouse interactions in the preview panel: + +* **Left click**: select and drag models. Hold `Ctrl` for multi-selection (synchronized with the model list). +* **Right click**: drag the entire canvas. +* **Mouse wheel**: zoom in/out. Hold `Ctrl` to scale selected models together. +* **Render selected only**: preview only the selected models, selection can only be changed via the left panel. + +Playback controls below the preview allow time adjustment, acting as a simple player. + +--- + +### Exporting Content + +Right-click on models in the list to access export options. + +Key export parameters: + +* **Output folder**: Optional. If not provided, outputs go to each model’s folder. Otherwise, all outputs go to the specified folder. +* **Single export**: Default exports each model separately. If enabled, all selected models are rendered together in one output. +* **Auto resolution**: Ignores preview canvas resolution; exported resolution matches the actual size of content. For animations or videos, ensures full display of the animation. + +--- + +### Dynamic Wallpaper + +The dynamic wallpaper projects the current preview content to the desktop in real time. + +Enable or disable via program preferences or the tray icon menu. Save workspace files to preserve model and canvas settings. + +Auto-start with Windows can also be enabled, along with loading a specific workspace on startup. + +--- + +### Command-line Tool + +The project includes a CLI tool `SpineViewerCLI` for simple operations on a single model (querying parameters, exporting, etc.). Windows and Linux binaries are provided in Releases. + +```bash +$ SpineViewerCLI -h +Description: + Root Command + +Usage: + SpineViewerCLI [command] [options] + +Options: + -q, --quiet Suppress console logging (quiet mode). + -?, -h, --help Show help and usage information + --version Show version information + +Commands: + query Query information of single model + preview Preview a model + export Export single model +``` + +--- + +### More + +Detailed instructions and usage guides can be found in the [Wiki](https://github.com/ww-rm/SpineViewer/wiki). +Report issues or bugs via [GitHub Issues](https://github.com/ww-rm/SpineViewer/issues). + +--- + +## Acknowledgements + +* [spine-runtimes](https://github.com/EsotericSoftware/spine-runtimes) +* [SFML.Net](https://github.com/SFML/SFML.Net) +* [FFMpegCore](https://github.com/rosenbjerg/FFMpegCore) +* [HandyControl](https://github.com/HandyOrg/HandyControl) +* [NLog](https://github.com/NLog/NLog) +* [SkiaSharp](https://github.com/mono/SkiaSharp) +* [Spectre.Console](https://github.com/spectreconsole/spectre.console) + +--- + +*If you like this project, please give it a :star: and share it with others! :\)* [![Stargazers over time](https://starchart.cc/ww-rm/SpineViewer.svg?variant=adaptive)](https://starchart.cc/ww-rm/SpineViewer) diff --git a/README.md b/README.md index 268500a..ae14327 100644 --- a/README.md +++ b/README.md @@ -16,53 +16,19 @@ https://github.com/user-attachments/assets/37b6b730-088a-4352-827a-c338127a16f0 ## 功能 -- 支持多版本 spine 文件 -- 支持拖拽/复制粘贴批量打开文件 -- 支持批量预览 +- 支持多版本 spine 文件 (`2.1.x; 3.4.x - 4.2.x`) - 支持列表式多骨骼查看和渲染层级管理 -- 支持列表多选批量设置骨骼参数 -- 支持多轨道动画设置 -- 支持皮肤/自定义插槽附件设置 -- 支持自定义插槽可见性 +- 支持多轨道动画 +- 支持皮肤/插槽/附件设置 - 支持调试渲染 - 支持画面/模型/轨道时间倍速设置 - 支持设置轨道 Alpha 混合参数 -- 支持全屏预览 - 支持单帧/动图/视频文件导出 -- 支持自动分辨率批量导出 - 支持 FFmpeg 自定义导出 -- 支持程序参数保存 -- 支持文件后缀关联 -- 支持非 png 格式的纹理图片格式 +- 支持非 PNG 格式的纹理图片格式 - 支持开机自启常驻动态壁纸 - ...... -### Spine 版本支持 - -| 版本 | 查看&导出 | -| :---: | :---: | -| `2.1.x` | :white_check_mark: | -| `3.4.x` | :white_check_mark: | -| `3.5.x` | :white_check_mark: | -| `3.6.x` | :white_check_mark: | -| `3.7.x` | :white_check_mark: | -| `3.8.x` | :white_check_mark: | -| `4.0.x` | :white_check_mark: | -| `4.1.x` | :white_check_mark: | -| `4.2.x` | :white_check_mark: | -| `4.3.x` | | - -更多版本正在施工 :rocket: :rocket: :rocket: - -### 导出格式支持 - -| 导出格式 | 适用场景 | -| --- | --- | -| 单帧画面 | 支持生成高清模型画面图像, 可手动调节需要的一帧. | -| 帧序列 | 支持 PNG 格式帧序列, 可保留透明通道且无损压缩. | -| 动图/视频 | 可以生成预览动图或者常见格式视频. | -| 自定义导出 | 除上述预设方案, 支持提供任意 FFmpeg 参数进行导出, 满足自定义复杂需求. | - ## 安装 前往 [Release](https://github.com/ww-rm/SpineViewer/releases) 界面下载压缩包. @@ -73,20 +39,26 @@ https://github.com/user-attachments/assets/37b6b730-088a-4352-827a-c338127a16f0 导出 GIF/MP4 等动图/视频格式需要在本地安装 ffmpeg 命令行, 并且添加至环境变量, [点击前往 FFmpeg-Windows 下载页面](https://ffmpeg.org/download.html#build-windows), 也可以点这个下载最新版本 [ffmpeg-release-full.7z](https://www.gyan.dev/ffmpeg/builds/ffmpeg-release-full.7z). +## 修改显示语言 + +本项目目前支持以下界面显示语言: + +- `ZH` (中文) +- `EN` (English) +- `JA` (日本語) + +可以通过窗口菜单的 "文件" -> "首选项..." -> "语言", 选择你需要的语言并确认修改. + ## 使用方法 -### 如何修改显示语言 - -窗口菜单的 "文件" -> "首选项..." -> "语言", 选择你需要的语言并确认修改. - ### 基本介绍 程序大致是左右布局, 左侧是功能面板, 右侧是画面. 左侧有三个子面板, 分别是: -- **浏览**. 该面板用于预览指定文件夹的内容, 并没有真正导入文件到程序. 在该面板可以为模型生成 webp 格式的预览图, 或者导入选中的模型. - **模型**. 该面板记录导入并进行渲染的模型列表, 可以在这个面板设置与模型渲染相关的参数和渲染顺序, 以及一些与模型有关的功能. +- **浏览**. 该面板用于预览指定文件夹的内容, 并没有真正导入文件到程序. 在该面板可以为模型生成 webp 格式的预览图, 或者导入选中的模型. - **画面**. 该面板用于设置右侧预览画面的参数. 绝大部分按钮或者标签或者输入框都可以通过鼠标指针悬停来获取帮助文本. @@ -112,9 +84,7 @@ https://github.com/user-attachments/assets/37b6b730-088a-4352-827a-c338127a16f0 ### 内容导出 -导出遵循 "所见即所得" 原则, 即实时预览的画面就是你导出的画面. - -在模型面板里, 右键菜单可以对选中项进行导出操作. +在模型列表里, 右键单击选中的模型, 弹出菜单里可以对选中项执行导出操作. 导出有以下几个关键参数: @@ -130,6 +100,29 @@ https://github.com/user-attachments/assets/37b6b730-088a-4352-827a-c338127a16f0 如果希望开机自启常驻壁纸, 也可以在首选项中启用开机自启, 并且设置启动后需要加载的工作区文件. +### 命令行工具 + +项目附带一个纯命令行工具 `SpineViewerCLI`, 目前支持对单个模型执行一些简单操作, 例如参数值查询以及导出等, 并且 Release 界面提供 Windows 和 Linux 多平台二进制文件. + +```bash +$ SpineViewerCLI -h +Description: + Root Command + +Usage: + SpineViewerCLI [command] [options] + +Options: + -q, --quiet Suppress console logging (quiet mode). + -?, -h, --help Show help and usage information + --version Show version information + +Commands: + query Query information of single model + preview Preview a model + export Export single model +``` + ### 更多 更为详细的使用方法和说明见 [Wiki](https://github.com/ww-rm/SpineViewer/wiki), 有使用上的问题或者 BUG 可以提个 [Issue](https://github.com/ww-rm/SpineViewer/issues). @@ -146,6 +139,6 @@ https://github.com/user-attachments/assets/37b6b730-088a-4352-827a-c338127a16f0 --- -*如果你觉得这个项目不错请给个 :star:, 并分享给更多人知道! :)* +*如果你觉得这个项目不错请给个 :star:, 并分享给更多人知道! :\)* [![Stargazers over time](https://starchart.cc/ww-rm/SpineViewer.svg?variant=adaptive)](https://starchart.cc/ww-rm/SpineViewer)