Cubism Go
January 12, 2025 ยท View on GitHub
cubism-go is an unofficial Golang implementation of the Live2D Cubism SDK. It leverages ebitengine/purego, making it easy to use.
Installation
go get -u github.com/aethiopicuschan/cubism-go
Requirements
- Dynamic library for Cubism Core
- Live2D model
Usage
Sample code is available in the example directory. It demonstrates the use of almost all functionalities, so please refer to it alongside the Go Reference.
Additionally, there is a renderer/ebitengine package for rendering implementations.
This package enables seamless integration with projects using Ebiten. Of course, you can also use your custom renderer.
Moreover, there are several implementations available for audio playback:
sound/normal- A straightforward implementation
sound/delay- An implementation that defers loading and decoding of audio files until playback
sound/disabled- An implementation that disables audio playback
You can also implement your own version of these.
Development
For pre-commit hooks, we use lefthook. The configured tools include:
If you're using Homebrew, you can install all the necessary tools with the following command:
brew install lefthook staticcheck typos-cli
After that, run lefthook install to enable the hooks.
The same checks are also performed using GitHub Actions.