MakeHuman Documentation

repository·master·Indexed 23 days ago

https://github.com/makehumancommunity/makehuman

An open-source application for creating 3D human characters, providing a framework for modeling, skinning, and animating humanoids. This documentation covers installation from source for Windows and Linux, dependency management (numpy, PyQt5, PyOpenGL), community plugin integration, and the Human class API for controlling physical attributes, modifiers, proxies, and mesh geometry.

Tokens
3.8K
Snippets
4
Records
28
Agent score
81%

What's inside MakeHuman

  1. Install MakeHuman from source

    master

    To run MakeHuman from source, follow these requirements and steps:

    Prerequisites

    • Python: Install Python 3.6.x or later. On Windows, you MUST use 64-bit Python; 32-bit is not supported.
    • Git: Install git with LFS support. Ensure git is available in your PATH.

    Setup Steps

    1. Clone the repository:
      git clone https://github.com/makehumancommunity/makehuman.git
      (Or download the source as a ZIP).
    2. Download assets: Run the download_assets_git.py script located in the makehuman subdirectory.
    3. (Optional) Compile assets: Run compile_models.py, compile_proxies.py, or compile_targets.py to prepare additional assets.
    4. Install dependencies (see Installing python dependencies).
  2. Install community plugins

    master

    To use community plugins (such as the asset downloader):

    1. Download the plugin repository.
    2. Place the plugin files into the plugins directory of your MakeHuman installation.
    3. Enable the plugin in the application settings.
    4. Restart the application.

    Common plugin repositories:

    • community-plugins-mhapi
    • community-plugins-assetdownload
    • community-plugins-socket
    • makehuman-plugin-for-blender
  3. Install MakeHuman on RPM-based distributions

    master

    These instructions are specifically tested on Fedora 19 64-bit. Note that the Mercurial (HG) version of MakeHuman requires Python 2.7+ and will not run on RHEL/CentOS 6.4 or earlier.

    Follow these steps to set up a development environment:

    1. Install Mercurial: Use yum install mercurial.
    2. Clone the Repository: Clone the source code from Bitbucket using hg clone https://bitbucket.org/MakeHuman/makehuman.
    3. Install Dependencies:
      • To install all required and recommended dependencies, run the script makehuman/rpm/install_rpm_dependencies.bash as root.
      • To install only the strictly required dependencies, run: yum install python3-numpy python3-pyopengl python3-QtPy.
    4. Run MakeHuman: Navigate to the makehuman/makehuman directory and execute python makehuman.py as a normal desktop user (not root).
  4. Install Python dependencies for MakeHuman

    master

    MakeHuman requires numpy, PyQt5, and PyOpenGL. If using the shell plugin, you may also want jupyterlab and qtconsole.

    Linux (Debian / Ubuntu / Mint)

    It is recommended to use the system package manager:

    apt install python3-opengl python3-pyqt5 python3-pyqt5.qtopengl python3-pyqt5.qtsvg

    Linux (openSUSE)

    zypper install python3-numpy python3-qt5 python3-opengl

    Windows and Generic Pip Installation

    It is best practice on Linux to use a virtual environment before using pip. On Windows, ensure pip is available in your command prompt.

    To install all dependencies via pip:

    pip install -r requirements.txt
    pip install -r requirements.txt
  5. Build an RPM package for MakeHuman

    master

    To build an RPM package, ensure you have mercurial and rpmbuild installed on your system.

    1. Navigate to the buildscripts/rpm directory within your intact HG copy.
    2. Execute ./buildRpm.py.
    3. Customization: You can customize the build process (affecting the General, BuildPrepare, and Rpm sections) by copying buildscripts/build.conf.example to buildscripts/build.conf and modifying it.
    4. Output: Once complete, the resulting RPM file will be located in ~/rpms/RPMS/noarch/makehuman*.rpm.
  6. Install MakeHuman Blender addons

    master

    The distribution includes several Blender addons located in the addons_for_blender_28x directory.

    Important: Do not extract these files manually. To install them, open Blender and use the standard installation process via the Preferences -> Addons interface.

    Available addons include:

    • MakeHuman Plugin For Blender (MPFB): Contains the importer functionality.
    • MakeClothes 2
    • MakeTarget 2
    • MakeSkin
  7. Start MakeHuman

    master

    Once dependencies and assets are prepared, start the application using the makehuman.py script.

    Windows:

    python makehuman.py

    Linux (Debian, Ubuntu, Mint, etc.):

    python3 makehuman.py

    Alternatively, Linux users can use the provided shell script named makehuman to start the application.

    python3 makehuman.py
  8. Use WarpModifier for mesh deformation

    master

    A WarpModifier is a specialized UniversalModifier used to perform mesh warping. It works by calculating the difference between a 'source' character (modeled on specific reference variables) and a 'target' character (the current state of the human).

    Key behaviors:

    • It uses referenceVariables to identify which macro variables are fixed for the warping process.
    • It compiles a WarpTarget which is then stored in the algos3d._targetBuffer.
    • The warping is driven by a slider value (0.0 to 1.0).
    • It relies on getKeypoints() to identify landmark points (e.g., in 'face' or 'body' parts) to calculate the necessary scaling and deformation.
  9. Use WarpTarget for applying deformations

    master

    A WarpTarget is a specialized algos3d.Target that represents the calculated deformation data. It contains:

    • verts: The indices of vertices that have non-zero offsets.
    • data: The actual vertex offset data.
    • morphFactor: The current intensity of the warp.

    You can apply a WarpTarget to a mesh object using its apply method.

  10. Troubleshoot and report MakeHuman errors

    master

    If MakeHuman fails to start, report the issue on the official forum at http://www.makehumancommunity.org/forum/index.php.

    When reporting, you must include:

    1. Your exact Linux distribution.
    2. The contents of ~/makehuman/A8/makehuman-debug.txt (contains essential debugging info).
    3. The contents of ~/makehuman/A8/makehuman.log (especially if the program crashed or failed to start).