All Projects → hkrn → nanoem

hkrn / nanoem

Licence: Unknown and 2 other licenses found Licenses found Unknown LICENSE.md MIT LICENSE.MIT MPL-2.0 LICENSE.MPL
nanoem is an MMD (MikuMikuDance) compatible implementation and its like cross-platform application mainly built for macOS.

Programming Languages

c
50402 projects - #5 most used programming language
C++
36643 projects - #6 most used programming language
Objective-C++
1391 projects
rust
11053 projects
CMake
9771 projects
PureBasic
71 projects

Projects that are alternatives of or similar to nanoem

vmd sizing
vmd(MMDモーションデータ)を、指定されたモデルに適用したサイズで再生成します。
Stars: ✭ 33 (-75.74%)
Mutual labels:  mmd, mikumikudance
C4D MMD Tool
A plugin for Cinema 4D written in C++ is used to import MikuMikuDance data into Cinema 4D.
Stars: ✭ 52 (-61.76%)
Mutual labels:  mmd, mikumikudance
VMD-Lifting
VMD-Lifting is a fork of 'Lifting from the Deep' that outputs estimated 3D pose data to a VMD file
Stars: ✭ 31 (-77.21%)
Mutual labels:  mmd, mikumikudance
MMDUtility
MMD上で動く便利プラグインです。
Stars: ✭ 18 (-86.76%)
Mutual labels:  mmd
pmx
pmx - a pure JavaScript Parser for PMX Format(MMD)
Stars: ✭ 34 (-75%)
Mutual labels:  mmd
mmd
This repository contains the Pytorch implementation for our SCAI (EMNLP-2018) submission "A Knowledge-Grounded Multimodal Search-Based Conversational Agent"
Stars: ✭ 28 (-79.41%)
Mutual labels:  mmd
three-mmd-loader
MMD pmd/pmx/vmd loader for Three.js
Stars: ✭ 31 (-77.21%)
Mutual labels:  mikumikudance
MMD-GAN
Improving MMD-GAN training with repulsive loss function
Stars: ✭ 82 (-39.71%)
Mutual labels:  mmd
esp32 mmd
esp32でmmd
Stars: ✭ 93 (-31.62%)
Mutual labels:  mmd
trVAE
Conditional out-of-distribution prediction
Stars: ✭ 47 (-65.44%)
Mutual labels:  mmd
motion trace colab
colab版MMD自動トレース
Stars: ✭ 32 (-76.47%)
Mutual labels:  mikumikudance
cats-blender-plugin
😺 A tool designed to shorten steps needed to import and optimize models into VRChat. Compatible models are: MMD, XNALara, Mixamo, DAZ/Poser, Blender Rigify, Sims 2, Motion Builder, 3DS Max and potentially more
Stars: ✭ 1,674 (+1130.88%)
Mutual labels:  mmd
3d-pose-baseline-vmd
Openposeの2D人間骨格データから3D関節データを生成し、その関節データを出力します。
Stars: ✭ 80 (-41.18%)
Mutual labels:  mikumikudance
motion trace bulk
MMDモーショントレース自動化一括処理バッチ
Stars: ✭ 36 (-73.53%)
Mutual labels:  mikumikudance

nanoem

Build Status License: MPL 2.0 License: MIT

nanoem is an MMD (MikuMikuDance) compatible implementation and its like application mainly built for macOS.

Background and Design Concept

MikuMikuDance (a.k.a MMD) is created on Windows via DirectX9. As such, it's unavailable to run on non-Windows deployment unless you use a virtual machine or emulation layer such as Wine.

nanoem was originally created to address the issue of non-Windows compatibility as well as the possibility it may not work in the future due to Windows reason. It was originally designed for macOS but now it's now designed to run on non-macOS as well and supports ARM CPU such as Apple M1 and RaspberryPi, multiple graphics backends (DirectX11/Metal/OpenGL).

It also has model editing feature similar to PMXEditor's one which allows for some model editing. This was also implemented for the same reason mentioned above.

nanoem is designed to achieve both of the following goals.

  • Portability
  • Lightweight startup
  • Small size

How to build?

Prerequisites

  • cmake (>= 3.5)
  • C++14 compliant compiler
    • confirmed on Clang and Visual Studio 2017
  • git
  • ninja-build
    • Optional but recommend on macOS/Linux

Minimum build instruction

See also GitHub Action Workflow.

git submodule update --init --recursive

# needs setting NANOEM_TARGET_COMPILER explicitly when the compiler is clang (default is gcc on Linux)
export NANOEM_TARGET_COMPILER=clang
cmake -P scripts/build.cmake
mkdir out
cd out
cmake -G Ninja ..
cmake --build .

# OpenGL 3.3 Core Profile or higher is required to run on Linux
cd sapp && ./nanoem
Options Table of scripts/build.cmake
Name Description
NANOEM_TARGET_ARCHITECTURES Target architectures to build. The default value is x86_64 (non macOS) or ub (means Universal Binary, macOS).
NANOEM_TARGET_CONFIGURATIONS Target configurations for cmake. The default value is debug;release.
NANOEM_TARGET_MACOS_VERSION Target macOS version. Same as CMAKE_OSX_DEPLOYMENT_TARGET.
NANOEM_TARGET_GENERATOR Target generator for cmake. The option will pass as cmake -G ${NANOEM_TARGET_GENERATOR}
NANOEM_TARGET_COMPILER Target compiler for cmake.
NANOEM_TARGET_TOOLSET Target toolset for cmake. The option will pass as cmake -T {NANOEM_TARGET_TOOLSET}
NANOEM_MAKE_PROGRAM Make program to use for cmake. Same as CMAKE_MAKE_PROGRAM.
NANOEM_DISABLE_BUILD_NANOMSG Disable building nanomsg.
NANOEM_DISABLE_BUILD_TBB Disable building Threading Building Blocks.
NANOEM_ENABLE_BUILD_ICU4C Enable building ICU. You must run following command git clone https://github.com/unicode-org/icu/ dependencies/icu before enabling the option.
NANOEM_ENABLE_BUILD_MIMALLOC Enable building mimalloc.
NANOEM_ENABLE_BUILD_SPIRV_TOOLS Enable building SPIRV-Tools.
NANOEM_ENABLE_BUILD_SENTRY_NATIVE Enable building Sentry C/C++ SDK.
NANOEM_ENABLE_BUILD_LIBSOUNDIO Enable building libsoundio. You must run following command git clone https://github.com/andrewrk/libsoundio dependencies/libsoundio before enabling the option.
NANOEM_ENABLE_BUILD_GLFW Enable building GLTF. You must run following command git clone https://github.com/glfw/glfw dependencies/libsoundio before enabling the option.
NANOEM_ENABLE_BUILD_FFMPEG Enable building ffmpeg. You must run following command git clone https://github.com/ffmpeg/ffmpeg dependencies/ffmpeg before enabling the option.
NANOEM_ENABLE_BUILD_YAMLCPP Enable building yaml-cpp. You must run following command git clone https://github.com/jbeder/yaml-cpp dependencies/yaml-cpp before enabling the option.

Architecture

See Architecture Document (Japanese)

About License

Contributors

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].