https://github.com/blackcatofficialytb/openlive2d
💖✨ Better, more perfomance Live2D for Everyone! Support all platform that supports Python, Java and Rust! (I uses Gemini to code some hard frameworks)
https://github.com/blackcatofficialytb/openlive2d
digital-life live2d open-source opengl openlive2d panda3d vtuber vulkan
Last synced: 2 months ago
JSON representation
💖✨ Better, more perfomance Live2D for Everyone! Support all platform that supports Python, Java and Rust! (I uses Gemini to code some hard frameworks)
- Host: GitHub
- URL: https://github.com/blackcatofficialytb/openlive2d
- Owner: BlackCatOfficialytb
- License: other
- Created: 2025-08-21T07:39:56.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2025-09-27T08:09:29.000Z (10 months ago)
- Last Synced: 2025-09-27T10:10:11.136Z (10 months ago)
- Topics: digital-life, live2d, open-source, opengl, openlive2d, panda3d, vtuber, vulkan
- Language: Python
- Homepage:
- Size: 95.7 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# OpenLive2D (WIP)
[](https://deepwiki.com/BlackCatOfficialytb/OpenLive2D)
## 💖✨ Better, more perfomance Live2D for Everyone! Support all platform that supports Python, Java (soon) and Rust! (I uses Gemini to code some hard frameworks)
## **Progress:** Migrated to [Codeberg](https://codeberg.org/Quanvm0501alt1/OpenLive2D) (private during updates, soon public).
### `render.py` is now a working CLI renderer (Blender bakes, Panda3D displays). `client.py` (the GUI) is still in progress.
### This project uses [Krita](https://krita.org/en/) files and kritapy to read the texture, like .psd in Photoshop, preventing from crack Photoshop =))))
> We are making everything from scratch, not using any of Live2D Cubism SDK resources!
# How to install
- `file_handler.py` and `render.py` (CLI) are working. `client.py` (GUI) is still in progress.
## Dependcies
### Windows
- **Minimum Version:** 10
- **Lowest Supported Version:** 10
- **Recommended Version:** 11
> **Note:** Optimized, modded windows might still working, but recommend using the official version for Windows. If you can't use it, download and install **Windows 10 IoT Enterprise LTSC 2021** or **Windows 11 IoT Enterprise LTSC 2022** for the smallest, debloated Windows (not advertised), but need keys _or mas aio =\)\)_
### MacOS, Linux, BSDs
- **macOS**:
- **Minimum:** macOS 10.9 64-bit: Python 3.7
- **Lowest Supported Version:** macOS 10.9 64-bit: Python 3.9
- **Recommend version:** macOS 10.13: Python 3.13+
- **Debian/Ubuntu based:**
- **Minimum:** Debian 10 (main repositories): Python 3.7 / Ubuntu 18.04 LTS (main repositories not deadsnakes): Python 3.7
- **Lowest Supported Version:** Debian 11 (main repositories): Python 3.9 / Ubuntu 20.04 LTS (main repositories not deadsnakes): Python 3.9
- **Recommend version:** Debian 13 (Trixie) / Ubuntu 24.04 (Noble Numbat): Python 3.13+
- **Arch:** Arch repo is updating continuously, so it is impossible to detect the lowest version that minimally supports or recommend :\(\(
- **BSDs (Berkeley Software Distributions) or their forks:**
- **Minimum:** Any BSD
- **Lowest Supported Version:** Any BSD
- **Recommend version:** Any BSD
### For Windows to install
- Install Python, [search](https://www.youtube.com/results?search_query=how+to+install+python+on+windows) it on YouTube
- Install Krita, search for it on Google
### For MacOS, Linux, and BSDs to install:
- **macOS**:
- **Xcode Command Line Tools**: Required for compiling some Python package dependencies. You can install them by running `xcode-select --install` in your terminal.
- **Krita**: Download and install from the official Krita website.
- **Linux (Debian/Ubuntu based)**:
- **Build Tools**: `sudo apt-get update && sudo apt-get install build-essential python3-dev`
- **Krita**: `sudo apt-get install krita` or download the AppImage from the official Krita website.
- **Linux (Arch-based)**:
- **Build Tools**: `sudo pacman -Syu base-devel`
- **Krita**: `sudo pacman -S krita`
- **Linux (Fedora-based)**:
- **Build Tools**: `sudo dnf groupinstall "C Development Tools and Libraries"` and `sudo dnf install python3-devel`
- **Krita**: `sudo dnf install krita`
- **BSDs (FreeBSD example)**:
- **Build Tools**: `pkg install python3 devel/pkgconf`
- **Krita**: `pkg install krita`
> **Note:** For most users, `pip` will download pre-compiled binary wheels for complex packages like Panda3D, so you may not need all the development libraries unless you are building from source.
### Python
- **Minimum Version:** 3.10 (for `render.py`; `file_handler.py` alone still works on 3.7+)
- **Lowest Supported Version:** 3.11
- **Recommended (and Maximum) Version:** **Python 3.13**
> **Note on 3.14:** `render.py` depends on Blender's `bpy` Python module. Blender currently
> ships wheels only up to **cp313** (Python 3.13) at .
> Once Blender 5.x publishes a `cp314` wheel, this project will lift the cap. Until then,
> please use **Python 3.13** if you want `render.py`. `file_handler.py` itself does not need
> `bpy` and will run on 3.14.
> **Note on 3.12+ and Krita reading:** `kritapy` (the .kra reader) declares 3.8–3.11 and
> currently raises a dataclass error on Python 3.12+. `render.py` falls back to a
> PNG-per-layer directory in this case (see *Test model* below). If you need real `.kra`
> support, run on **Python 3.11** instead.
### Krita
- **Minimum Version:** 4.0
- **Lowest Supported Version:** 4.2.0
- **Recommended Version:** 5.2 or newer (latest stable release)
> **Note:** Using the latest version of Krita is highly recommended for the best performance and compatibility, especially for the `convert_psd_to_kra` functionality.
## Installtion
To get started, first:
### Make Virtual Environments
- For Windows, use: `python -m venv .venv` or `py -3.13 -m venv .venv` if you have multiple python version installed
- For MacOS, Linux, BSDs, use: `python3 -m venv .venv` or `python3.13 -m venv .venv` if you have multiple python version installed
#### If lower Python, use virtualenv
`pip install virtualenv` first
- For Windows, use: `python -m virtualenv .venv` or `py -3.13 -m virtualenv .venv` if you have multiple python version installed
- For MacOS, Linux, BSDs, use: `python3 -m virtualenv .venv` or `python3.13 -m virtualenv .venv` if you have multiple python version installed
### Install Dependencies
#### Easy way
- First, download and install [Krita](https://krita.org/en/)
- If Windows, then `.venv\Scripts\activate`
- If MacOS, Linux, BSDs, then `source .venv/bin/activate`
- To deactivate, use `deactivate`
- Then `pip install -r requirements.txt`
#### Fast way
- First, download and install [Krita](https://krita.org/en/)
- If Windows, then `.venv/Scripts/pip.exe install -r requirements.txt`
- If MacOS, Linux, BSDs, then `.venv/bin/python3 -m pip install -r requirements.txt`
#### Installing `bpy` (the Blender Python module)
PyPI's `bpy` releases lag behind Blender's own wheel index, so we install directly
from instead. A helper script picks the
right wheel for your interpreter and CPU automatically:
- Windows: `scripts\install_bpy.bat`
- macOS / Linux / BSD: `bash scripts/install_bpy.sh`
The script calls `scripts/install_bpy.py`, which detects your `cpXY` Python tag,
fetches the index, picks the newest matching wheel (e.g. `bpy-5.1.1-cp313-cp313-win_amd64.whl`
on a Python 3.13 Windows venv), and runs `pip install `.
> The wheel is large (≈300–500 MB depending on platform) because it ships the Blender engine.
> The first install is slow; subsequent runs are cached.
If you'd rather not run `bpy`, `file_handler.py` still works without it. `render.py`
will refuse to start with a clear "install bpy" message.
### Test model
To check your install end to end without painting any real assets:
```
python scripts/make_test_model.py # creates ./test_model/
python render.py test_model -o render.png -v
```
This generates a tiny humanoid (head + torso + arms + legs) as PNG layers and a 4-second
`idle` animation (head sway + breathe). `render.py`'s PNG-directory fallback reads the
per-part `_layers/*.png` so you don't need a real `.kra` to test.
Other modes:
```
python render.py test_model --output-mode sequence -o seq --duration 4 --fps 30
python render.py test_model --output-mode video -o idle.mp4 --duration 4 --fps 30
```
Video mode requires `ffmpeg` on PATH.
### Start client.py (soon)
#### Easy way
- If Windows, then `.venv\Scripts\activate`
- If MacOS, Linux, BSDs, then `sources .venv/bin/activate`
- To deactivate, use `deactivate`
- Then `python client.py`
#### Fast way
- If Windows, then `.venv\Scripts\python.exe client.py`
- If MacOS, Linux, BSDs, then `.venv/bin/python3 client.py`
## Will it be implemented into [moeru-ai/airi](https://github.com/moeru-ai/airi)?
- Nope, it might be possible, but it uses Vue: 54.6% and TypeScript: 38.2%, making it frickin' hard to implement unless we use Python for JS/TS