Live2D For Scala is a cross-platform real-time facial tracking and rendering framework for Live2D models, built with Scala and running on the Java Virtual Machine (JVM). It supports Linux, Windows, and Intel-based macOS systems.
This project is a fork of the original brianhsu/Live2DForScala, aiming to expand its functionality and improve the user experience while maintaining its clean and modular architecture.
I would like to express sincere gratitude to the original author of brianhsu/Live2DForScala and the developers of related upstream projects such as facial-landmarks-for-cubism and OpenSeeFace . Their work laid the foundation for this project and continues to inspire further development and improvements.
- Built upon the official Live2D Cubism Core SDK, with full support for animation, physics, expressions, lip sync, etc.
- Real-time facial tracking using OpenSeeFace to drive Live2D avatars
- Cross-platform support: Linux, Windows, macOS (Intel only)
- Designed with Clean Architecture for high modularity and extensibility
- Supports both Swing + JOGL and SWT + LWJGL rendering pipelines
-
Body Movement and Full-Body Sway Driven by Face Tracking
-
Transparent Background Rendering for OBS Capture
✅Works on Windows and Wayland.
❌ Not supported on X11 due to limitations in transparency handling.
-
Expression Shortcut Keys (1–9)
-
Simulate Eye Gaze
-
Enabling the Auto Start, Simulate Eye Gaze and Disable Eye Blink checkbox in the face tracking panel writes a auto_start file so tracking starts with those options applied on next launch
-
Default Avatar
-
XWayland support
-
Run two Avatar on the same computer
-
window position and size saving functionality
-
upgrade scala2 to scala3
-
** Upgraded to JDK 24 for enhanced performance with compact object headers, G1 GC optimizations, and vector API support**
Simulate Eye Gaze
2025-06-14.16-07-20.mp4
To get started with this project, please refer to the following guides:
Old_README.md: Original reference documentation from the upstream project. Useful for historical context and compatibility.
Using_Guideline.md: A step-by-step user guide covering model loading, webcam tracking, expression shortcuts, and OBS integration.
Developing_Guideline.md: Instructions for building, compiling, testing, and contributing to the project.
- Control OpenSeeFace -> Live2D model motion parameter through UI.
- Migrating from SWT and Swing to the JavaFX Framework
This project is released under the MIT License, which applies to all original code and demonstration applications included in this repository.
However, please note that the project includes third-party components and dependencies that are subject to their own respective licenses. By using this software, you acknowledge and agree to comply with all applicable licenses listed below.
- MIT License
Applies to: This forked project's original code, modifications, and demo applications© 2025 [jjiill888}]
This project is a fork of brianhsu/Live2DForScala and continues to use the MIT License.
SeeLICENSEfor full license text.
This project includes the native Live2D Cubism Core libraries required at runtime. These are subject to the Live2D Proprietary Software License Agreement.
Files:
modules/core/src/main/resources/linux-x86-64/libLive2DCubismCore.so
modules/core/src/main/resources/win32-x86-64/Live2DCubismCore.dll
modules/core/src/main/resources/darwin/libLive2DCubismCore.dylib
⚠ You must accept the official Live2D license terms in order to use these binaries.
Sample models used in testing are provided under the Live2D Free Material License and are intended for non-commercial, educational, or testing purposes only.
- License: MIT
- Contribution: Provides the algorithm for mapping OpenSeeFace data to Live2D parameters.
- License: BSD-2-Clause
- Contribution: Provides the real-time facial tracking engine bundled with this project.
Includes dependencies such as:
| Library | License |
|---|---|
| OpenCV | Apache 2.0 |
| ONNX Runtime | MIT |
| Pillow | HPND |
| NumPy | BSD |
Icons used in the application interface are licensed via Flaticon License:
- Power: Gregor Cresnar - Flaticon
- Settings: Gregor Cresnar - Flaticon
- Speaker: Freepik - Flaticon
