Skip to main content

koe live2d-py


Docker Build Version Python Version CMake C++17 CsmSDK

English README

注意:本仓库不包含 Live2D Cubism Core 及 Framework(受许可限制),源码编译时需自行从 Live2D官网 下载。

使用 Python 直接加载和操作 Live2D 模型,不通过 Web Engine 等间接手段进行渲染。

基于 Python C Extension 对 Live2D Native SDK (C++) 进行了封装。理论上,只要配置好 OpenGL 上下文,可在 Python 中将 live2d 绘制在任何基于 OpenGL 的窗口。

代码使用示例:examples

详细使用文档:Wiki

修改和开发:CONTRIBUTING

兼容UI库

理论上兼容所有能使用 OpenGL 进行绘制的UI库: Pygame / PyQt5 / PySide2 / PySide6 / GLFW / pyopengltk / FreeGlut / Qfluentwidgets ...

支持功能

  • 加载模型:Cubism 2.1Cubism 3.0 及以上版本
  • 视线跟踪
  • 点击交互
  • 动作播放回调
  • 口型同步
  • 模型各部分参数控制
  • 各部件透明度控制
  • 精确到部件的点击检测

兼容性

Cubism Live2D 版本

live2d-py 支持的live2d模型 实现
live2d.v2 Cubism 2.1 以及更早的版本 纯 Python 实现
live2d.v2cpp Cubism 2.1 以及更早的版本 C++ 移植 (高性能)
live2d.v3 Cubism 3.0 及以上版本 Python C Extension 封装

推荐使用 live2d.v2cpp 替代 live2d.v2 以获得更好的性能。API 完全兼容,只需将 import live2d.v2 as live2d 替换为 import live2d.v2cpp as live2d

Python 版本及平台

✅: 可用, 支持, 已通过

❓: 尚未测试

🚧, ❌: 编译期问题或平台兼容性问题待解决

Platform Python Version live2d.v2 live2d.v2cpp live2d.v3 PyPI
macOS arm64 >=3.11
Windows x64 >=3.11
Linux x64 >=3.11

注:

  • Cubism 2.X 导出的模型:文件名格式常为 XXX.mocXXX.model.jsonXXX.mtn
  • Cubism 3.0 及以上导出的模型:文件名格式常为 XXX.moc3XXX.model3.json, XXX.motion3.json

使用说明

  1. Release 中下载对应版本的 whl 文件并安装(推荐)
pip install live2d_py-0.X.X-cpXXX-cpXXX-win_amd64.whl
  1. 通过 PyPI 安装
pip install live2d-py
  1. 从源码构建,参考 安装#源码构建

示例

简易面捕

源码见 main_facial_bind.py

面捕-期末周破防

基于 live2d-py C 模块及 Qt 开发的 Live2DViewer

Live2DViewer

多模型加载

源码见 main_glfw_four_model.py

multi_model

添加背景

源码见 main_pygame_background.py

background

模型变换 & 口型同步音频 & 点击测试

源码见 main_glfw.py

完整用例

模型整体透明度示例

源码见 main_pyqt5_canvas_opacity.py

opacity

鸣谢

特别感谢以下用户为本项目提供的帮助和支持: 96bearli, Ovizro, AnyaCoder, jahtim, Honghe, RobertMeow, LUORANCHENG, TinyKiecoo, Barracuda72, GuangChen2333, makabakadot, thynetruly, mastwet, KyvYang, @Mozilla88, @CooperWang0912, @minghf85

非常感谢以下项目及其贡献者们的帮助:

CubismNativeSamples (live2d.v3)

Cubism2 Web SDK (live2d.v2)

de4jsJavaScript 反混淆工具)

JsConvert (JavascriptPython 工具)

D2Evil (moc 文件分析)

facial-landmarks-for-cubism (面捕参考)

Live2D 模型:

Release files for live2d-py 0.8.0.9

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for live2d-py 0.8.0.9
File Size Uploaded
live2d_py-0.8.0.9.tar.gz 6.8 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for live2d-py 0.8.0.9
File
live2d_py-0.8.0.9-cp311-abi3-win_amd64.whl CPython 3.11 abi3 Windows x86-64 Details
live2d_py-0.8.0.9-cp311-abi3-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 abi3 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details
live2d_py-0.8.0.9-cp311-abi3-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl CPython 3.11 abi3 Linux glibc 2.28+ ARM64, Linux glibc 2.27+ ARM64 Details
live2d_py-0.8.0.9-cp311-abi3-macosx_26_0_universal2.whl CPython 3.11 abi3 macOS 26.0+ universal2 (ARM64, x86-64) Details

Total release size: 10.0 MB

Release files / live2d_py-0.8.0.9.tar.gz

Download URL live2d_py-0.8.0.9.tar.gz
Size 6.8 MB
Tags Source
SHA-256 checksum
How to use checksums
1dbdb9f82651f9f3eeef602e7c88b09c8201a725570398c5ed1e0364093cfe00
BLAKE2b-256 checksum
How to use checksums
21743db66392bc2e10ef5c095c43138c79699375810f405a8ddefa4c25b7e25c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.3

Release files / live2d_py-0.8.0.9-cp311-abi3-win_amd64.whl

Download URL live2d_py-0.8.0.9-cp311-abi3-win_amd64.whl
Size 491.6 kB
Tags CPython 3.11 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
e014273dce13637cb71661a97d3ff051b51b351ff2bc95916d9b3c3e5ba6bfc5
BLAKE2b-256 checksum
How to use checksums
9b8f05330b7fe3cb0c139b800a5107bddb9ec4650f02d6b706fe32f7a9fec0f4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.9

Release files / live2d_py-0.8.0.9-cp311-abi3-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL live2d_py-0.8.0.9-cp311-abi3-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 1.1 MB
Tags CPython 3.11 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 abi3
SHA-256 checksum
How to use checksums
31800d020cafd60c27bb80beeeff9259f602ba810d4545457bf136fd19bc764d
BLAKE2b-256 checksum
How to use checksums
dff1a5fb116393f4a2dcadde7ba72dee5c60f5d50a2bca1b971390ee3de99347
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.3

Release files / live2d_py-0.8.0.9-cp311-abi3-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl

Download URL live2d_py-0.8.0.9-cp311-abi3-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Size 1.1 MB
Tags CPython 3.11 Linux glibc 2.27+ ARM64 Linux glibc 2.28+ ARM64 abi3
SHA-256 checksum
How to use checksums
138858723693f03e91a743ee9521526d4b108398906d6707f1bd681e1e26fe2c
BLAKE2b-256 checksum
How to use checksums
dbc44cbf3a1cfaab3d8312fdce01ac76e73c26c0e25461f223f69819802eb358
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.3

Release files / live2d_py-0.8.0.9-cp311-abi3-macosx_26_0_universal2.whl

Download URL live2d_py-0.8.0.9-cp311-abi3-macosx_26_0_universal2.whl
Size 587.3 kB
Tags CPython 3.11 abi3 macOS 26.0+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
0b040cc29e2db08d6209a2040e6da91e952d4f38ceabe1e652a7f47ea46f2173
BLAKE2b-256 checksum
How to use checksums
cd735f83b78026b8304ef4029a0d0d3cc36e3835f1825247c4b4738e3ff0ea6e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.9

Release history Release notifications | RSS feed

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page