Inochi2D is a library for realtime 2D puppet animation and the reference implementation of the Inochi2D Puppet standard. Inochi2D works by deforming 2D meshes created from layered art at runtime based on parameters, this deformation tricks the viewer in to seeing 3D depth and movement in the 2D art.
2022-05-03.02-46-34.mp4
Video from Beta 0.7.2, LunaFoxgirlVT, model art by kpon
If you're a model rigger you may want to check out Inochi Creator, the official Inochi2D rigging app in development. If you're a VTuber you may want to check out Inochi Session. This repository is purely for the standard and is not useful if you're an end user.
Documentation is currently in the process of being written for the spec and the official tools. You can find the official documentation page here.
Inochi2D is a "bring your own renderer" API, we provide a OpenGL 3.1 backend to get you started easily and to work as a reference on how a renderer can be implemented.
To use the OpenGL renderer call inRendererInitGL
during initialization of Inochi2D, a OpenGL 3.1 core context needs to be present.
We provide inochi2d-c as a way to use this library from non-D languages and we will be providing a layer to allow non-D languages to create rendering backends, additionally a second workgroup is making a pure Rust implementation of the Inochi2D specification over at Inox2D.
Inochi2D does not support compilation with the OpenD language. Only the the official D language and compilers are supported.
The Inochi2D logo was designed by James Daniel