Fuse

From OniGalore
Jump to navigation Jump to search
This is a short introduction to Fuse (both the Steam-bound 1.3 version and the Adobe-owned Fuse CC), oriented towards making characters for IonEyes. The Fuse environment is very good as compared to MakeHuman in terms of user-friendliness and customization. The procedure for adapting Fuse/Mixamo characters to the UE4 engine is detailed below.
At the time of writing, Fuse CC is the more functional version (mostly because of fully featured auto-rigging), whereas Fuse 1.3 has a more complete clothes/hair library. The lower-poly characters of Fuse 1.3 can also be considered a plus. However, one can have the best of both worlds by migrating Fuse 1.3 content into Fuse CC. The procedure is also detailed below.
On Windows, Fuse CC has a counter-intuitive defect that keeps it from launching unless you spam clicks and Enter keypresses (e.g. hold a left click on the Fuse CC icon and mash the Enter key).

Fuse in a nutshell

Fuse (a computer program available both for Mac and Windows) is an environment where one can create a variety of humanoid characters (3D models) that can be freely used in any project (still renders, video renders, games).
It is especially suitable for non-modelers who want to quickly populate a game project with decent-looking character assets. Elaborate character design is also possible, but it requires some additional work (custom clothes/hair).

Here is a MacWorld article about the program (Fuse CC version) and its integration with Adobe Photoshop CC:

Hands-on: Adobe’s new Fuse CC lets beginners take baby steps into 3D modeling
Whip up some three-dimensional people almost as easily as creating your avatar in a video game.

Starting with one of many building blocks and presets (body parts, clothes, hair), the characters can be customized in many ways, both through body shape adjustment (the clothes and hair automatically adjust to the new body shape) and through texture/material adjustment (texture maps are generated on-the fly, depending on the material settings, using the Allegorithmic framework).

Additional body shapes can be imported via an OBJ file (as long as their UV map is consistent with the original models). Additional clothes can also be imported through OBJ, either with regular texturing or with a special color map that allows the use of Allegorithmic materials. Materials can also be imported (proprietary "substance" format).

Rigging and animation is handled by the online Mixamo framework (the character is uploaded to the Mixamo server and is then made available as an FBX or Collada download). The Mixamo framework automatically detects the relevant joints and facial features and produces a reasonably flawless rig, complete with facial key shapes (morphs) for adding emotions or speech to the character.

Fuse was initially developed by Mixamo and distributed through Steam (up to version 1.3). Apart from automatic rigging of the characters assembled in Fuse, Mixamo provides a large collection of animations (which, like the character shapes and materials in Fuse, are customizable to some extent with several sliders). Initially Fuse users could also upload their own custom character settings ("assemblies", or *.fuse files) to the Mixamo server, so as to store them in the cloud and to share them with the community.

In 2015 or so, Mixamo was bought by Adobe, support of Fuse 1.3 was dropped in favor of a new version of the program named Fuse CC (Preview) (or Fuse CC (Beta)), which is the most recent version available. Direct Mixamo rigging now works only from Fuse CC. An attempt to do so from Fuse 1.3 will bring you HERE. It's an error message inviting you to get Fuse CC or to upload the character to Mixamo as a regular OBJ (the rigging will be less optimal and the facial animation will be missing).

Cloud storage of custom Fuse characters was also dropped after Adobe acquired Mixamo and took over Fuse. However, at the time of writing, both programs still work and can be combined into a very powerful "character factory" (by merging the character and clothes/hair libraries, and by importing clothes/hair from other sources).


Fuse 1.3 vs Fuse CC

Bugs and features

The feature set of Fuse 1.3 and Fuse CC is roughly the same. Most importantly, the lineup of customization sliders for characters and materials is exactly the same, and the assemblies (*.fuse files) are completely interchangeable between the two versions, on the obvious condition that the character parts and clothes expected by the assembly are available in the new environment.

One important feature introduced in Fuse CC (missing in Fuse 1.3) is the "Geo Tool". It is a 3D brush with adjustable size and hardness that allows direct sculpting the shape of the character, as opposed to the systematic manipulation through sliders. This is useful for cleaning up the geometry or deliberately adding detail not covered by regular customization (especially non-symmetric detail).

Another key limitation of Fuse 1.3 is that it is no longer supported by the Mixamo website, i.e. the big "Animate" button doesn't do anything useful and instead shows you THIS. It's an error message inviting you to get Fuse CC or to upload the character to Mixamo as a regular OBJ (the rigging will be less optimal and the facial animation will be missing).

A seeming limitation of Fuse CC is that it has fewer character types and clothes to choose from (see below), but this can be resolved by migrating Fuse 1.3 content into Fuse CC.

Perhaps the most important flaw of Fuse CC is the tricky launch process (confirmed on Windows, not sure about Mac). Simply put, clicking the Fuse CC shortcut or executable (or pressing Enter on the file/shortcut once) doesn't actually launch Fuse CC (the process dies for some reason). This is somehow resolved by holding a left-click on the Fuse CC icon and spamming the Enter key at the same time.

Different character libraries

The lineup of characters available in Fuse CC upon installation is rather limited with respect to the lineup that exists in Fuse 1.3, as detailed below.

Male characters (sets of body parts) available in Fuse 1.3:

Male Fit A, Male Fit Aged A, Male Fit Teen A, Male Dev C.E., Male Dev C.P., Male Fit E, Male Fit F
Male Muscular A, Male Muscular B, Male Skinny A, Male Skinny C, Male Stocky A
Toon Male Teen A, Toon Male Teen B
Male Fit Zombie A, Male Skinny Zombie A
TF2 Scout, TF2 Spy, TF2 Sniper

Female characters (sets of body parts) available in Fuse 1.3:

Female Fit A, Female Fit Aged A, Female Fit Teen A, Female Fit E, Female Fit F, Female Fit G, Female Fit H
Female Muscular A, Female Skinny A, Female Stocky A
Toon Female Teen A, Female Elf A
Female Fit Zombie A, Female Fit Zombie A, Male Skinny Zombie A

Characters (sets of body parts) available for Fuse 1.3 as a separate download:

Male Brute A, Male Brute Orc, Male Brute Troll

Male characters (sets of body parts) available in Fuse CC:

Male Fit A, Male Brute A, Male Scan 1-4, Toon Male Teen A
Male Fit Zombie A

Female characters (sets of body parts) available in Fuse CC:

Female Fit A, Female Scan 1-6, Toon Female Teen A

Different character detail

All the official Fuse 1.3 characters share the same topology. Official Fuse CC characters also have a common topology, different from 1.3. The difference is as follows.

  • Fuse 1.3 characters are comparatively low-poly: 9262 vertices, 9452 polygons, 18306 triangles (including teeth, but excluding eyes/eyelashes and clothing).
  • Fuse CC characters are comparatively high-poly: 14573 vertices, 14820 polygons, 28928 triangles (including teeth, but excluding eyes/eyelashes and clothing).

The two topologies are actually compatible thanks to consistent UVs. Any character OBJ exported from Fuse 1.3 can be imported and customized in Fuse CC and vice versa.


Different clothing libraries

Filling in later.

Migrating 1.3 content to Fuse CC

Both Fuse CC and Fuse 1.3 have an "Import" functionality for all three kinds of components:

  • File/Import/Import Substances (materials)
  • File/Import/Import Characters (body parts)
  • File/Import/Import Clothing (clothes, shoes, hair, eyewear & masks, ...)

Characters and clothing are imported from standard OBJ geometry (and a set of texture maps specified separately) through a set of rather intuitive prompts.

Unlike characters, clothing can typically be imported simply by copying the data to the correct location, leaving missing materials as the only issue to take care of.

Materials are imported only from Allegorithmic's substance format (*.sbsar), which turns out to be a 7Zip-packed archive containing an XML file and an assembler-like binary file.

Substance migration

Fuse 1.3 substances are unfortunately incompatible with Fuse, with an error message about "base color" upon import. This can probably be resolved with Substance Designer (trial version), to be confirmed.

Without going to the trouble adapting Fuse 1.3 materials for Fuse CC, one can easily reconfigure any clothes with missing materials, so that they use substances that are already present in Fuse CC. One can also import new substances from the Materials category of the Allegorithmic community website. All the custom-imported substances end up in Fuse CC's "Custom" category, and can only be categorized through manual work on the files.

Character migration

More later.

Clothing migration

More later.

Importing non-Fuse content

Filling in later.

Autorigging and UE4 workflow

Autorigging with Mixamo

If you work in Fuse CC, then the rigging process is fully automatic. It really is as simple as pushing the big "Send to Mixamo" button in the upper right corner and following the simple instructions. You get to pick a name for the character ("FuseModel" is suggested by default for a non-saved assembly, otherwise the suggestion is the name of the saved assembly). Then you get a non-interactive "Character Upload" dialog as the character is processed locally (prepared for the upload). After the upload, a Mixamo tab pops up in your default web browser, asking for an Adobe ID unless you're already logged in.

Once inside, Mixamo tells you to wait a bit while it processes the Fuse-generated character, and then it lets you choose the complexity of the rig. The recommended complexity for game use is "Facial Blendshapes: Enabled" and "Skeleton LOD: Standard Skeleton (65)". Validate the rig complexity by clicking "Finish", and confirm that you want to use this character instead of the one currently associated with your Mixamo account. You are then invited to either Download the rigged character or to Animate it first. Choose "Download", and then pick "Format: FBX(.fbx)" and "Pose: T-Pose" for maximum compatibility. Save the file.

There are two things worth noting about the resulting FBX file.

  • First, it has embedded texture maps, some of which are excessive/redundant for game use. Some of the "facial blendshapes" (morphs) are also unnecessary. The file is thus larger than it needs to be.
  • Parts of the character have their weight sums normalized not to 1.0 but to 8.0 (!). This is known to confuse many FBX-importing programs, including the official Autodesk FBX Review and, yes, Blender.
    More specifically, instead of just normalizing the weights to a unit sum, Blender's FBX import script starts by eliminating any weight values above 1.0, and forcing their value to exactly 1.0
    This is fixed by adding a division by 8 to Blender's FBX import script. This resolves the truncated weights issue, and causes no new issues, because Blender ends up normalizing all weight sums to 1 anyway.
    Locate the script Blender/2.78/scripts/addons/io_scene_fbx/import_fbx.py and replace it with THIS (the only change is a division by 8.0 at line 449).

Adapting the character for UE4