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
Inochi2D is undergoing what essentially amounts to a rewrite, if you're looking for Inochi2D 0.8 check the v0_8 branch!
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.
This project is funded through NGI0 Entrust, a fund established by NLnet with financial support from the European Commission's Next Generation Internet program. Learn more at the NLnet project page.
The Inochi2D logo was designed by James Daniel