Avatar SDK  1.8.1
Realistic avatar generation toolset for Unity3D
Main Page

ITSEEZ3D AVATAR SDK PLUGIN

Meet the Avatar SDK: robust AI-powered 3D avatar creation engine!

Useful links:

"Cloud SDK" vs "Offline SDK"

The Avatar SDK for Unity is delivered in two flavors: Cloud SDK and Offline SDK

Getting Started

  • First of all, follow Getting Started instructions on the website (https://accounts.avatarsdk.com/developer/#unity-plugin) and in the auth window to setup the authentication, if you haven't done so yet. This is necessary for both Cloud and Offline SDK.
  • Find getting started scene in itseez3d/avatar_sdk/samples_cloud/ for Cloud SDK and in itseez3d/avatar_sdk/samples_offline/ otherwise. You can either generate 3D avatar from a predefined photo, or upload your own photo. Make sure that shortly after you pressed "Generate Avatar" button the 3D avatar appears in a scene.
  • Find more advanced gallery scene in the same folders. This sample shows more complex API usage scenarios. Make sure it works for you.
  • Check out other samples in Cloud SDK and Offline SDK folders. Press on "Scene documentation" buttons to see detailed instructions for a particular scene.
  • Start creating your own app by modifying one of the samples or starting from scratch. Good luck!
  • Note: if you need to adjust behaviour of API functions to your liking we encourage you to create your own implementations in a separate class/file, using composition or inheritance. If you modify the plugin files directly you will have trouble upgrading to the new versions later. If you find it impossible to proceed without directly modifying the plugin code (e.g. you found a bug) please let us know - we will try to fix this in the next version.

FAQ

This section will be updated in each version. Last updated: 1.8.1

Does it work on mobile platforms?

"Cloud" version is really lightweight and works on all devices, even in WebGL. "Offline" avatar generation currently works on Windows, Android, iOS and MacOSX. Minimal requirement is 1Gb+ of RAM.

Why my app installation is so big?

The most of this package take binary resources required to compute avatar directly on the client device and generate hairstyles and blendshapes. These resources are quite heavy. We are using different resources for the Head and Face avatars. If your application works only with one of these types of avatar, you can delete the resources for other (sdk_offline/resources/bin/face_resources or sdk_offline/resources/bin/head_resources). For example, the android APK with Offline Avatar SDK and with only Face resources is about 160 mb, iOS APK ~140mb. Cloud version should be lightweight. But if you possess an Offline SDK and build the Cloud sample, you're going to bring all the Offline resources to this build too. If you want to build a small Cloud SDK app you should either use pure Cloud SDK (download it from our website) or delete the sdk_offline/resources folder from your project.

How can I reduce the installation size?

Offline SDK brings all the resources (blendshapes, haircuts) with it for both Head and Face pipelines. Total size of the resources is 265 mb. Face resources take 122 mb. It includes haircuts - 77 mb, and blendshapes - 23 mb. Head resources take 142 mb. Bblendshapes take 27 mb of this number.
For example, if you don't need the "female_NewSea_J086f" haircut, you can delete the directory contains resources of this haircut: "Assets/avatar_sdk/sdk_offline/resources/bin/face_resources/haircuts/female_NewSea_J086f". This way, you can delete the "Assets/avatar_sdk/sdk_offline/resources/bin/face_resoirces/haircuts" directory if you are not going to use haircuts at all. The same works for blendshapes sets.

Another solution, you can do not to include the binary resources into the package. Instead of it the resources are stored somewhere on the server and the client application downloads them before calculating the first avatar.

How can I attach your 3D head to the body?

In version 1.3.0 we added a full body sample for both Cloud and Offline SDK. You can find it in itseez3d/avatar_sdk/samples_* Please note that it's just an example of how this can be done in the real app, and the lowres character provided is just a placeholder, you should replace it with your own body models. This method works for any humanoid rig, but of course you will have the seam between the neck and the rest of the body, which should be covered with some kind of collar. If you have questions about this feature or you need more advanced functionality (like the seamless attachment to your bodies with texture blending), please contact us at suppo.nosp@m.rt@i.nosp@m.tseez.nosp@m.3d.c.nosp@m.om For now you're encouraged to take apart this sample to see how it works. See the detailed instruction on the scene documentation page.

Why my models have a watermark on the forehead?

This is a feature of the Free Cloud SDK. Please update to the paid plan to get rid of it.

Is avatar generation limited?

For "Cloud" version please check the pricing on our website. The "Offline" version is unlimited, you can generate as many avatars as you wish.

Is there a trial/free mode for Offline SDK?

Yes, we provide 30-day trial for the Offline SDK. Please contact us (suppo.nosp@m.rt@a.nosp@m.vatar.nosp@m.sdk..nosp@m.com) if you want to get it.

Does it work in runtime?

Yes, plugin works in runtime. Any player of you game can generate his own avatar.

How many triangles do the avatars have?

9 LODs supported ranging from ~3K to ~24K triangles per avatar for the Face pipeline. 8 LODs supported ranging from ~5K to ~50K triangles per avatar for the Head pipeline.

Can I display avatars of the different user in my app?

Yes, if you're using the Cloud plugin you can query any generated avatar if you know the avatar code. Take a look at the samples and the functions in Connection.cs

How do I get more haircuts or blendshapes?

Please see the scene documentation for parameters_sample scene here.

Does the Offline SDK support Head avatars?

Yes, Head avatars can be generated on all available platforms (Windows, MacOS, Android, IOS). There is a requirement for mobile platforms: 4GB+ RAM on device. Also the generating of the Head avatars doesn't work in android 32bit builds.

How can I generate cartoonish avatars?

The users with the "Indie" subscription type or above are able to generate cartoonish avatars. See the "06_cartoonish_avatar_sample_cloud" sample that demonstrates how this can be done. The Offline version doesn't provide such feature. If you need cartoonish avatars in the Offline version, please contact us support suppo.nosp@m.rt@a.nosp@m.vatar.nosp@m.sdk..nosp@m.com regarding it.

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.
  • Only for Face pipeline: ask the user to remove hair from the forehead and from the sides of the face, otherwise hair may appear on the face texture.
  • 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. This way Head pipeline can generate good looking shoulders.
  • We advise to remove the glasses, because they're reconstructed only in the texture, not 3D mesh. But this is not completely necessary.

How to upgrade to a new version of Avatar SDK

Unfortunately, Unity does not provide a consistent mechanism for plugin upgrades, so the most failproof method is to delete the avatar_sdk folder from your project entirely and re-import the entire plugin. If you have changes in SDK source files (this is not recommended and you should try to avoid this, but sometimes it's inevitable), then you can use difftool like Meld to manually merge your changes to the new version of the plugin.

After upgrade it's highly recommended to re-enter your authentication credentials in Window->itSeez3D Avatar SDK->Authentication and press Save Credentials. For Offline SDK also press Window->itSeez3D Avatar SDK->Offline SDK->Force reset ...

Support

Any questions about the plugin or the avatar generation, general feedback, bugs, ideas, feature requests: suppo.nosp@m.rt@a.nosp@m.vatar.nosp@m.sdk..nosp@m.com For commercial inquiries or licensing questions use busin.nosp@m.ess_.nosp@m.suppo.nosp@m.rt@i.nosp@m.tseez.nosp@m.3d.c.nosp@m.om or suppo.nosp@m.rt@a.nosp@m.vatar.nosp@m.sdk..nosp@m.com