Local Compute Avatar SDK  3.0.0
To generate Full Body avatars
Main Page

Description

Local Compute Avatar SDK is a native library (C++) that allows generating an avatar locally on a client device. This version support Full Body avatars. Internet connection is used only to log the number of generated avatars to the Avatar SDK Cloud for billing purposes. It tries to connect to our server each time before an avatar generation starts. An avatar generation fails if a connection can't be established.

Latest version is 3.0.0: Download for Windows, Download for Android, Download for iOS

Older Releases
Avatar SDK Website
Support email: suppo.nosp@m.rt@a.nosp@m.vatar.nosp@m.sdk..nosp@m.com

System Requirements

  • Supported platforms: Windows 64-bit, Android (arm64-v8a, armeabi-v7a), iOS 10+
  • CPU with AVX instruction set support for Window version
  • 2Gb+ of free RAM to generate Full Body avatars

Package Structure

The Local Compute Avatar SDK is distributed as a ZIP archive with the following content:

  • avatar_sdk_resources directory contains binary resources required for an avatar computation. These resources should be placed on a local drive. The path to them is passed to the Avatar SDK's methods.
  • docs directory with documentation.
  • include directory contains C++ headers files and samples source code.
  • libs directory with the dynamic libraries for all platforms.
  • samples directory with project samples for all platforms.
  • test_photo contains sample photo.

Licensing

The special license file (res_I7IFyeGGMPc=.bytes) should be placed into the avatar_sdk_resources directory along with the other resources. You can get this license file on your account page.

Code usage

The comprehensive code examples can be found in the avatar_sdk_samples.cpp source file located in the "include" directory. Also, you can look at the platform-dependent project samples in the "samples" directory.

Library Initialization

First of all, you should initialize the Avatar SDK by passing a path to the location of the binary resources. When your app ends an execution or you have generated all avatars, the SDK should be released.

// binary resources should be stored somewhere on the local drive
std::string resourcesPath = "path/to/resources/dir"
// Initialize Avatar SDK
int code = initAvatarSdk("Avatar SDK Sample", resourcesPath.c_str());
....
// Release Avatar SDK. Should be called after all avatars are generated.

Avatar Generation

To generate a naked avatar use the sample method below. You should provide a path to a source image and an output directory.

// Prints avatar calculation progress
void printProgress(float progress)
{
printf("Avatar is being calculated: %.0f%%\n", progress * 100);
}
void generateAvatar(std::string inputImagePath, std::string outputDirPath)
{
//Configure general parameters
AvatarSdkParams params;
params.inputImagePath = (char*)inputImagePath.c_str();
params.outputDirPath = (char*)outputDirPath.c_str();
// Generate avatar
code = generateAvatar(params, printProgress);
if (code != 0)
printf("Error occured during avatar generation!\n");
else
printf("Avatar is generated!\n");
}

Parameters Configuration

You can configure an output format and generated assets such as haircuts, outfits, blendshapes with AvatarSdkParams structure. Parameters Description see here.