Voltar ao ranking

Inochi2D/inochi2d

Dinochi2d.com

Inochi2D SDK - Bring your characters to life

animationlivestreamingrealtime-puppetvtuber
Crescimento de estrelas
Estrelas
1.8k
Forks
66
Crescimento semanal
Issues
12
5001k1.5k
out. de 2020set. de 2022ago. de 2024jul. de 2026
README

The Inochi2D logo was designed by James Daniel

Inochi2D

Support me on Patreon Discord
日本語 | 简体中文


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.

 

Youtube Video

 

For Riggers and VTubers

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.

 

System Requirements

Hardware Requirement
CPU x86-64 CPU with SSE4+, Aarch64 with NEON.
Memory At least 1 GB of RAM for bigger models.
GPU Depends on renderer backend.

Inochi2D has no dependencies on non-D libraries besides a POSIX compliant C standard library.
Do note that until the transition to nogc is complete, you'll have the best experience with glibc on UNIX-like platforms.

SSE and NEON optimisations are only enabled in release and release-debug builds.

 

Official SDK Bindings

 

Using the Inochi2D SDK

Inochi2D can both be used in and outside of DLang, to use Inochi2D in your D project just add it from dub.
To use Inochi2D within a project written in another language, a C FFI is provided.

To compile using the C FFI you must have the LDC2 compiler installed and the dub build system, run the following command to build the SDK:

dub build --config=dynamic

If your target graphics library does not allow 2D vectors to be used when passing position data to the GPU, you can add --d-version=IN_VEC3_POSITION as an argument, which will change the VtxData to use a 3D vector to store the vertex position.

You can alternatively download precompiled versions of the SDK from the Releases.

Build Configurations

Add with --config=

Type Use
static Static D-only library.
static-nurt Static D-only nogc-only library.
dynamic Dynamic library with C FFI.
wasm WebAssembly module, wasm-sdk required.
unittest Unit test runner

Build Types

Add with --build=

You can pass the following build types to Inochi2D.

Type Use
debug Debug mode, no optimisation, full stacktraces.
release-debug Optimized build with some stack traces.
release Full release build.

Build Options

Add with --d-version=

Option Use
IN_VEC3_POSITION Use 3D vectors to store the POSITION portion of the vertex data.
IN_NO_LEGACY Disables legacy features.

D

To use Inochi2D from D, simply add it as a package to your dub file.

C, C++, Rust, etc.

To use Inochi2D from C, C++, Rust, etc. build the SDK with the dynamic configuration.

A C header will be copied to the out directory, said header can be found in include/.

Note that if you're writing your own bindings that Inochi2D uses the cdecl calling convention on all platforms.

WebAssembly

Inochi2D may be used on the web via WebAssembly, currently this requires a patched druntime source tree, which can be installed (Linux-only) from the releases at https://github.com/Inochi2D/sdk-toolchain.

Alternatively, pre-compiled release and debug versions of the SDK are available in our nightly releases, and starting with 0.9, our main releases.

You can find javascript wrappers, etc. in dist/.

Godot

We provide an official binding for Godot, using GDExtension and the nugodot bindings. To build it you must either have your target version of Godot in your PATH environment variable, or specify the full path to godot with the GODOT_PATH environment variable.

The GDExtension may then be built by running dub build :godot in the root of this repository, the GDExtension will be written to modules/godot/out/. Move the contents of this folder into your Godot project under a subfolder called inochi2d, then reload your Project.

You should then be able to load in inx and inp model files.

Examples

You may find examples in the examples/ directory.

Inochi2D Technical Documentation

Technical documentation for Inochi2D is provided in the tech-docs/ directory, these are shipped with the SDK.

Repositórios relacionados
3b1b/manim

Animation engine for explanatory math videos

PythonPyPIMIT Licensepythonanimation
88.8k7.4k
animate-css/animate.css

🍿 A cross-browser library of CSS animations. As easy to use as an easy thing.

CSSnpmOthercss-animationscss
animate.style
82.7k16k
MisterBooo/LeetCodeAnimation

Demonstrate all the questions on LeetCode in the form of animation.(用动画的形式呈现解LeetCode题目的思路,完整单步/回看/变速/语音讲解在 algomooc.com)

JavaMavenleetcodeleetcode-solutions
algomooc.com
76.6k13.9k
juliangarnier/anime

JavaScript animation engine

JavaScriptnpmMIT Licenseanimationanime
animejs.com
71.3k4.8k
algorithm-visualizer/algorithm-visualizer

:fireworks:Interactive Online Platform that Visualizes Algorithms from Code

JavaScriptnpmMIT Licensealgorithmdata-structure
algorithm-visualizer.org
48.7k7.6k
aseprite/aseprite

Animated sprite editor & pixel art tool (Windows, macOS, Linux)

C++animationpixel-art
aseprite.org
38.2k8.4k
heygen-com/hyperframes

Write HTML. Render video. Built for agents.

TypeScriptnpmApache License 2.0aianimation
36.7k3.5k
airbnb/lottie-android

Render After Effects animations natively on Android and iOS, Web, and React Native

JavaMavenApache License 2.0animationandroid
airbnb.io/lottie/
35.7k5.4k
motiondivision/motion

A modern animation library for React and JavaScript

TypeScriptnpmMIT Licenseanimationanimation-js
motion.dev
32.9k1.3k
pmndrs/react-three-fiber

🇨🇭 A React renderer for Three.js

TypeScriptnpmMIT Licensereactthreejs
docs.pmnd.rs/react-three-fiber
31.5k1.9k
AtsushiSakai/PythonRobotics

Python sample codes and textbook for robotics algorithms.

PythonPyPIOtherpythonrobotics
atsushisakai.github.io/PythonRobotics/
30.1k7.4k
greensock/GSAP

GSAP (GreenSock Animation Platform), a JavaScript animation library for the modern web

JavaScriptnpmanimationgsap
gsap.com
26.9k2.1k