• Stars
    star
    779
  • Rank 58,364 (Top 2 %)
  • Language
    D
  • License
    BSD 2-Clause "Sim...
  • Created about 4 years ago
  • Updated 4 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Inochi2D Rigging Application

Inochi Creator

Image of Inochi Creator Ada model by ku-ini


Support me on Patreon Join the Discord

Inochi Creator is an open source editor for the Inochi2D puppet format. This application allows you to rig models for use in games or for other real-time applications such as VTubing. Animation is achieved by morphing, transforming and in other ways distorting layered 2D textures in real-time. These distortions can trick the end user in to perciving 3D depth in the 2D art.

If you are a VTuber wanting to use Inochi2D we highly recommend checking out Inochi Session as well.

 

Downloads

Stable Builds

     Download on itch.io Latest Build

Experimental Builds

     Nightly Builds

 

For package maintainers

We do not officially support packages that we don't officially build ourselves, we ask that you build using the barebones configurations, as the branding assets are copyright the Inochi2D Project.
You may request permission to use our branding assets in your package by submitting an issue.

Barebones builds are more or less equivalent to official builds with the exception that branding is removed,
and that we don't accept support tickets unless a problem can be replicated on an official build.

Links in source/creator/config.d should be updated to point to your package's issues list, as we do not accept issues from non-official builds.

 

Building

It's occasionally the case that our dependencies are out of sync with dub, so it's somewhat recommended if you're building from source to clone the tip of main and dub add-local . "<version matching inochi-creator dep>" any of our forked dependencies (i18n-d, psd-d, bindbc-imgui, facetrack-d, inmath, inochi2d). This will generally keep you up to date with what we're doing, and it's how the primary contributors work. Ideally we'd have a script to help set this up, but currently we do it manually, PRs welcome :)

Because our project has dependencies on C++ through bindbc-imgui, and because there's no common way to get imgui binaries across platforms, we require a C++ toolchain as well as a few extra dependencies installed. These will be listed in their respective platform sections below.
Currently you have to recursively clone bindbc-imgui from git and set its version to 0.7.0, otherwise the build will fail.

Once the below dependencies are met, building and running inochi-creator should be as simple as calling dub within this repo.

Windows

Dependencies

  • Visual Studio 2022 (With "Desktop development with C++" workflow installed)
    • In theory, "Build Tools for Visual Studio 2022" should also work, but is untested.
  • CMake (Currently 3.16 or higher is needed.)
  • Dlang, either dmd or ldc

Linux

Dependencies

  • The equivalent of build-essential on Ubuntu, on centos 7, this was sudo yum groupinstall 'Development Tools', this should get you a working C++ toolchain.
  • Dlang, either dmd or ldc
  • CMake (Currently 3.16 or higher is needed.)
  • SDL2 (developer package)
  • Freetype (developer package)
  • appimagetool (for building an AppImage)

Building an AppImage (Experimental)

The AppImages we're currently experimenatlly distributing are generated on CentOS 7, and have only been tested (for creation) there. Eventually we'll containerize this environment somehow and set up GitHub Actions to generate releases

In the meantime, if you've got the project built on your Linux environment, simply run ./BuildAppImage.sh to build it, it should generate a build directory, and a inochi-creator-x86_64.AppImage file within it.

Currently we're not set up for Arm builds (or 32 bit builds), but down the line we plan to improve the tooling for easily building an creating images for all of our targets.

Obviously the existing caveats with AppImages still exist when generating them on newer environments, or ones without for example Freetype and SDL install. We're looking at improving our story in this regard as well, but these are just some of the reasons why it's still Experimental.

CentOS 7 Env Setup:

This is roughly what we did to set up our CentOS 7 env for building/creating an AppImage. Thanks go to @grillo-delmal for helping us with this!

# Install our deps
yum -y groupinstall 'Development Tools'
yum -y install epel-release
yum -y install SDL2-devel.x86_64
yum -y install freetype-devel.x86_64
yum -y install cmake3
ln -s /usr/bin/cmake3 /usr/bin/cmake

# Install llvm
yum -y install centos-release-scl
yum -y install llvm-toolset-7.0
yum -y install llvm-toolset-7.0-llvm-devel
yum -y install llvm-toolset-7.0-llvm-static

# Install an older LDC that we can't use for inochi-creator, since LDC needs a D compiler to build.
mkdir -p ~/dlang && curl -L https://dlang.org/install.sh -o ~/dlang/install.sh
bash ~/dlang/install.sh ldc-1.24.0
source ~/dlang/ldc-1.24.0/activate

# Finally, clone and build a recent LDC
curl -L https://github.com/ldc-developers/ldc/releases/download/v1.29.0/ldc-1.29.0-src.tar.gz -o ldc-1.29.0-src.tar.gz
tar -xzf ldc-1.29.0-src.tar.gz
pushd ldc-1.29.0-src

mkdir build
pushd build

scl enable llvm-toolset-7.0 'cmake -S ..'
# Maybe should do `make -j8` or whatever here. Maybe we should depend on ninja...
scl enable llvm-toolset-7.0 'make'
scl enable llvm-toolset-7.0 'make install'

popd
popd
deactivate

# Navigate to inochi-creator dir and build
scl enable llvm-toolset-7.0 dub

More Repositories

1

inochi2d

Inochi2D SDK - Bring your characters to life
D
1,256
star
2

inochi-session

Application that allows streaming with Inochi2D puppets
D
270
star
3

inox2d

Native Rust reimplementation of Inochi2D
Rust
194
star
4

inochi-viewer

A simple app to view Inochi2D puppets
D
32
star
5

example-models

Example Models for Inochi2D
26
star
6

inochi2d-ts

TypeScript implementation of Inochi2D using Three.js
TypeScript
25
star
7

inochi2d-c

A layer for using Inochi2D with non-D programming languages via a C ABI
D
24
star
8

libsoba

UI Library for D
D
22
star
9

numem

No-GC memory managment utilities for DLang
D
19
star
10

inochi2d-rs

Rust bindings for Inochi2D
Rust
14
star
11

facetrack-d

Integration for various face tracking APIs for D.
D
12
star
12

psd-d

Experimental PSD loader made for Inochi Creator
D
10
star
13

com.inochi2d.inochi2d-unity

Inochi2D for Unity [HEAVILY WIP]
C#
10
star
14

gimp-vtuber-scripts

Scripts for automating the process of preparing vtuber models with the GNU Image Manipulation Program
Scheme
8
star
15

dportals

D implementation of xdg-desktop-portals
D
7
star
16

inmath

Games math library for D
D
6
star
17

inpunpack

Pack and unpack INP and INX files
D
5
star
18

kra-d

Experimental KRA loader made for Inochi Creator
D
5
star
19

gitver

Generate D version enums from git tags
D
5
star
20

inochi2d-docs

Documentation for Inochi2D
5
star
21

inbf

Inochi2D Binary Format
D
4
star
22

clip-d

Experimental CLIP loader made for Inochi Creator
D
4
star
23

vts-d

VTube Studio API for D using vibe-d
D
4
star
24

soba-vector

Multi-backend vector rendering library for D.
4
star
25

branding

Branding resources for Inochi2D
4
star
26

inui

Shared UI handling code for official Inochi2D applications
D
3
star
27

cu

Scripting language for D
D
3
star
28

msdf-d

Port of msdfgen for D
D
3
star
29

Inochi2D.github.io

Inochi2D website
HTML
2
star
30

obs-d

D Bindings to libobs
D
2
star
31

syphon-d

D Bindings for the Syphon frame sharing library
D
1
star
32

bindbc-spout2

SpoutLibrary binding for D
D
1
star
33

pipewire-d

D
1
star
34

i2d-cairo

BetterC bindings to the Cairo vector rendering library.
D
1
star
35

inochi2d-gallium

Partial Intel on Windows support for Inochi2D via Gallium and Zink
1
star
36

i2d-blend2d

Blend2D binding for DLang
D
1
star