Avatar SDK Local Compute Unity plugin  3.1.0
Realistic avatar generation toolset for Unity3D
Frequently Asked Questions (FAQ)

Does it work on mobile platforms?

This version (3.1.0) supports only Windows platform. It is possible to generate FitPerson avatars on mobile devices in version 3.0.1.
If you need to generate MetaPerson avatars on other platforms, please contact us suppo.nosp@m.rt@a.nosp@m.vatar.nosp@m.sdk..nosp@m.com regarding this.

Why my app installation is so big?

The most of this package take binary resources required to compute avatar directly on a client device and generate hairstyles, outfits and blendshapes. These resources are quite heavy. You may consider Cloud SDK version which is is really lightweight and works on all devices, even in WebGL.

How can I reduce an installation size?

Local Compute SDK brings all the resources (outfits, haircuts, blendshapes) with it.
Total size of the resources is about 825 mb. Outfits take 530 mb, Haircuts take ~ 71 mb, blendshapes ~ 19 mb.
For example, if you don't need the "ponytail" haircut, you can delete the directory that contains resources for this haircut: "Assets/itseez3d/avatar_sdk/sdk_local_compute/resources/bin/haircuts/ponytail".
If you don't need the "outfit_meta_1", you can delete the "Assets/itseez3d/avatar_sdk/sdk_local_compute/resources/bin/outfits/male/outfit_meta_1" resources directory. The same works for blendshapes sets.

Another solution: you can omit including the binary resources into the package. Instead of it the resources are stored somewhere on a server and a client application downloads them before calculating the first avatar. See this guide on how to do it.

Why the fullbody avatars have mesh deformations like on the picture below?

bone_weights_issue.png

Fullbody avatar's skinning uses 4 bones weights. You have to set "Skin Weights" to "4 Bones" in the Quality settings.

bone_weights_settings.jpg

I have an "EntryPointNotFoundException: initAvatarSdk" error or "DllNotFoundException". How to solve it?

Such error happens when the native library can't be found. Most often reason is invalid target platform in the Build Settings.

  • If you run the plugin in the Unity Editor on MacOS, the target platform should be "PC, Mac & Linux Standalone".
  • In case of Windows, please, make sure that target architecture is set to x86_64

Computation is failed with the Error 14: "Not enough memory". What should I do?

This error means that the library is unable to allocate enough RAM for computation. Up to 1GB RAM is used in peak. Make sure that your device has such amount of free memory.
When you build an Android APK with the ARMv7 target architecture and run it on the ARM64 device, the error may happen event in case there is enough of free memory.
So we highly recommend to build the Android APK with ARM64 architecture support (Player Settings -> Other Settings -> Configuration):

android_arm64_support.jpg

How to speed up the avatar loading on the scene?

The avatar loading may take several seconds. Most of this time is required for loading and configuring textures.
If you don't need the PBR textures, you can disable them:

FullbodyAvatarLoader avatarLoader = new FullbodyAvatarLoader(AvatarSdkMgr.GetFullbodyAvatarProvider());
avatarLoader.UseBodyPBRTextures = false;
avatarLoader.UseOutfitsPBRTextures = false;
yield return avatarLoader.LoadAvatarAsync(currentAvatarCode);

Also you can generate textures with lower size. The default size of the body textures is 4096x2048. The default size of the outfits textures is 4096x4096.

FullbodyAvatarComputationParameters computationParameters = new FullbodyAvatarComputationParameters();
computationParameters.textureSize = new TextureSize(2048, 1024);
computationParameters.outfits.textureSize = new TextureSize(2048, 2048);

Where the generated avatar is stored?

The generated avatar is stored in the GLTF format on the local drive in the Persistent Data Directory.
To get the particular avatar's data path, you can use the following code:

IPersistentStorage storage = AvatarSdkMgr.Storage();
string avatarDirPath = storage.GetAvatarDirectory("avatar_code");

Do you provide any animations for full body avatars?

We don't provide animations. But you can use any Humanoid animation (like a Mixamo). See the how to use animations guide.

Is avatar generation limited?

Yes, the limit of the avatar generation depends on your subscription plan: Avatar SDK pricing. Local Compute version of the plugin calculates avatars locally but it reports the number of generated avatars to the Cloud.

Is there a trial/free mode for Local Compute SDK?

Yes, we provide 30-day trial for the Pro subscription plan: https://accounts.avatarsdk.com/subscription/

Does it work in runtime?

Yes, the plugin works in runtime. Any player of your game can generate his avatar.

How many triangles do the full body avatars have?

The full body avatar's mesh has ~35K triangles. We provide 8 LODs for the body mesh. Lowest has ~7K triangles.
The "generated" haircut has 5K triangles. You can vary this number by specifying the AvatarModificationsGroup.generatedHaircutFacesCount.Value parameter.
Outfits have the following traingles counts: outfit_0 ~30K tris, outfit_1 ~21K tris, outfit_2 ~33K tris, outfit_3 ~25K tris, outfit_4 ~18K, outfit_5 ~28K,
outfit_0_lowpoly ~6K tris, outfit_1_lowpoly ~3K tris, outfit_2_lowpoly ~4K tris, outfit_3_lowpoly ~5K tris, outfit_4_lowpoly ~5K, outfit_5_lowpoly ~6K

How can I export the generated model?

You can generate and export the avatar in the following formats: GLTF, GLB, FBX, OBJ, PLY. Run the Fullbody Export Sample for it.

Can I use my own haircuts and outfits?

Yes, please contact us suppo.nosp@m.rt@a.nosp@m.vatar.nosp@m.sdk..nosp@m.com regarding this.

What recommendations can I give my users in terms of input photos?

The SDK is pretty robust, but these recommendations will improve the quality (in priority order): Our recommendations:

  • The face should be easily recognizable on the photo. The photo is not blurry.
  • Uniform good lighting on the photo, without dark shadows or too bright glare
  • A person should keep a neutral facial expression or slightly smile but without opening their mouth. If teeth are visible on the input photo the lip texture might be incorrect.
  • It's best to look straight into the camera without turning your neck or eyes.
  • We advise removing the glasses because they're reconstructed only in the texture, not 3D mesh. But this is not completely necessary.