Search Unity

[RELEASED] Avatar Maker - 3D avatar from a single selfie

Discussion in 'Assets and Asset Store' started by ledentsov, Dec 19, 2018.

  1. ledentsov

    ledentsov

    Joined:
    Feb 8, 2017
    Posts:
    58
    Hello,

    Sorry for a delay.

    Could you contact our support (support@avatarsdk.com) regarding this issue?
    Keep in mind that the plugin doesn't work in the Play mode of the Unity Editor and in the standalone applications.
     
  2. pccross

    pccross

    Joined:
    Jun 20, 2015
    Posts:
    87
    I'll also contact support about this. But to clarify, these errors aren't happening in 'Play' mode. These errors are happening when I create a 'Build' for my project. Are there components of the plugin I need to remove before trying to build?
     
  3. mysunnytime

    mysunnytime

    Joined:
    Jul 18, 2016
    Posts:
    7
    Hey just a quick question: Can I create animation with it with the Unity Animation tab? I found the animation clips created by the motion capture feature will always move the head position in a way I don't want it to be. Could you help on that? Thanks!!
     
  4. ledentsov

    ledentsov

    Joined:
    Feb 8, 2017
    Posts:
    58
    To make a build (executable for Windows) you have to remove all files related to the Avatar Maker Pro plugin (itseez3d/avatar_maker), except shaders (if you use them). Another way, you need to import the avatar prefab into your project that doesn't contain Avatar Maker Pro plugin.
     
  5. ledentsov

    ledentsov

    Joined:
    Feb 8, 2017
    Posts:
    58
    Yes, you can modify the created animation in the Unity Animation tab.
    If you don't need the head position movements at all, you can disable them in the "Facial Capture" window. Just uncheck "Capture translation".
     
  6. mysunnytime

    mysunnytime

    Joined:
    Jul 18, 2016
    Posts:
    7
    That's great! But I just tired to change the properties, but the head does not have any change at all. For example, I changed the "Skinned Mesh Renderer.Blend Shape.Brows D_L" to 5 at a key dot, but the character's brow does not move at all. How can I solve that? Thanks!
     
  7. ledentsov

    ledentsov

    Joined:
    Feb 8, 2017
    Posts:
    58
    Could you provide a screenshot where you changed it?
     
  8. mysunnytime

    mysunnytime

    Joined:
    Jul 18, 2016
    Posts:
    7
    Hey I'm trying to import the avatar fbx with blendshape to my project. When I import the fbx and use it in my scene, it always breaks and cannot apply animation.

    v I import fbx with blendshape
    upload_2019-8-27_23-17-32.png

    v cannot apply animation
    upload_2019-8-27_23-21-22.png

    v it only has these properties:
    upload_2019-8-27_23-20-13.png

    How should I use the fbx with blendshape?
    I wanna use the head in my app so that it can play different animations following the input/

    Thanks!!
     
  9. mysunnytime

    mysunnytime

    Joined:
    Jul 18, 2016
    Posts:
    7
    Thanks for replying. I was trying to edit the animation in the animation tab. Like here:
    upload_2019-8-27_23-26-42.png
    no matter what value I input in the text box, the Eye won't move at all.

    btw, I still have this issue, but I'm more concern about another problem that I just posted couple minutes ago about that I can't apply animation with the exported fbx file. Hope you can answer that question first. It will be very helpful!
     
  10. ledentsov

    ledentsov

    Joined:
    Feb 8, 2017
    Posts:
    58
    To be able to use created animations and modify them, you need follow these steps:

    1. Export FBX model. Use "Export to FBX" button. If you press the "Export to FBX with blendshapes button", the blendshapes values configured via sliders will be applied to the mesh in the FBX. FBX will contain only modified mesh but won't contain blendshapes.
    1.JPG

    2. Import the FBX and animation into your project.
    3. Create an Animator Controller (Create -> Animator Controller)
    4. Add animation to the created Animator Controller.
    2.JPG
    5. Create an empty object on the scene and name it (for example: Avatar).
    6. Add FBX model as a child of the "Avatar" object. This object should be named "ItSeez3D Head" to play blendshapes from animation.
    3.JPG
    7. Create "Animator" for the "Avatar" object and assign Animator Controller.
    4.JPG
    8. After that the animation should be played and you can modify it.
     
    mysunnytime likes this.
  11. mysunnytime

    mysunnytime

    Joined:
    Jul 18, 2016
    Posts:
    7
    It works! So I basically didn't create wrapper gameobject, and directly assigned animation to the model - but I should actually name the model as "ItSez3D Head" and create a wrapper gameobject and apply all the animation on the wrapper! Got it. Thanks so much!!!
     
    Last edited: Aug 28, 2019
  12. sharjahtourism

    sharjahtourism

    Joined:
    May 19, 2017
    Posts:
    16
    NativeMethods.InitAvatarSdk This function isn't working on samsung gear vr. It's working on non-vr mode. How can resolve that issue? I'm using offline avatarsdk.
     
    Last edited: Sep 5, 2019
  13. ledentsov

    ledentsov

    Joined:
    Feb 8, 2017
    Posts:
    58
    Hello, Avatar SDK Unity plugin works on Samsung Gear VR. Could you provide more details about your issue?
     
  14. EricVenn

    EricVenn

    Joined:
    Nov 10, 2016
    Posts:
    12
    Hi,

    After buying the stand-alone Pro version, we are developing a PC based app using the cloud version of AvatarSDK. We are interested to add the generated head on a skinned mesh character body. But in your demo, the Avatar head is just child of the skeleton head bone, so the neck geometry goes badly thru the collar of the suit in an unnatural way. We need to skin the Avatar head on the head and neck bones of our character skeleton at Runtime. There's a package in the Asset Store that can transfer skin data on the Avatar mesh, but only in Edit time. Do you guys have solutions to pass skin data at Run time ? Other solution would be if your plugin could generates a skinned head with two bones, because we are able to swap that skinned head on our skeleton. Thanks for your help.
     
  15. ledentsov

    ledentsov

    Joined:
    Feb 8, 2017
    Posts:
    58
    Hello,
    We have several solutions to attach the head to the body.
    1. You have already mentioned it. The Avatar SDK unity plugin has a script that connects the avatar head to the neck and head bones of the body skeleton. It is a very rough approach and works only for the bodies with a high collar that conceals the seam where the head is connected to the neck.
    2. There is the Avatar Maker UMA plugin. It generates male head for the UMA body.
    3. Also, we could generate the avatar head in your topology. In this case, the head will perfectly fit your body. This solution requires additional work on our side. To get more information about it, please contact our support: support@avatarsdk.com
     
  16. pccross

    pccross

    Joined:
    Jun 20, 2015
    Posts:
    87
    Was mentioned about that: "The Avatar SDK unity plugin has a script that connects the avatar head to the neck and head bones of the body skeleton."
    What is the name of that script and how difficult is it to use. Any documentation for it?
     
  17. pccross

    pccross

    Joined:
    Jun 20, 2015
    Posts:
    87
    I followed the directions, and just can't get any animations on my exported/imported fbx.
    A couple clarifications needed for the directions provided above:
    1) What should the child of Avatar Ganeobject be called? I've seen it referenced 3 different ways in the thread so far: "ItSeez3D Head", "itSeez3D Head", and "ItSez3D Head". Which is correct one?
    2) In the directions it says, "Create "Animator" for the "Avatar" object and assign Animator Controller." Is this created on the actual 'Avatar' Gameobject level or on the 'ItSeez3dHead' gameobject?
     
  18. pccross

    pccross

    Joined:
    Jun 20, 2015
    Posts:
    87
    Ok, I played around a bit more and I did get animations working on exported head, however, there seems to be some major mesh distortion happening with animator attached.
    Here is image comparison of the same exported head with no animator attached (on right), and with animator attached (on left). The lips and eyes are moving perfectly with the animation that was recorded, but the distortion is terrible.
    Any idea what I could have done to cause that?
    upload_2019-9-15_18-28-45.png
     
  19. ledentsov

    ledentsov

    Joined:
    Feb 8, 2017
    Posts:
    58
    The is a "03_fullbody_sample" in the "Avatar SDK unity plugin", that demonstrates a very basic way how to attach the head to the body. The script - "BodyAttachment.cs"

    Again, I have to pay attention to that the "Avatar SDK Unity" plugin and "Avatar Maker" are two different plugins.
    "Avatar Maker" is available in the unity store and allows to create avatars manually inside the unity editor.
    "Avatar SDK Unity" plugin can be downloaded from our website (avatarsdk.com) and allows to generate avatars in runtime on all available platforms.
     
  20. ledentsov

    ledentsov

    Joined:
    Feb 8, 2017
    Posts:
    58
    Please try the following settings for the imported fbx.
    upload_2019-9-16_9-22-3.png
     
  21. EricVenn

    EricVenn

    Joined:
    Nov 10, 2016
    Posts:
    12
    Hello,

    We are pretty satisfied of the overall quality of itSeez Avatar plugins. But there is something quite annoying, and I give you an example. Here is an original photo, and the look of Itseez avatar.
    upload_2019-9-26_17-7-34.png upload_2019-9-26_17-7-58.png

    I have added a red highlight over a zone that seems too much, like if the guy is more fat than in reality. Here is the avatar produced by Didimo plugin, from the same original photo, and the result looks skinnier. upload_2019-9-26_17-13-10.png

    What would be very useful, specially for avatars from woman faces, or caricatures, would be a slider to control general 'fat', and width and lenght of the neck. Shoulder base geometry is a good idea, too. If you have a wish list...
     
  22. ledentsov

    ledentsov

    Joined:
    Feb 8, 2017
    Posts:
    58
    Hello! Thank you for the feedback.

    Yes, it is a known undesired effect that the cheeks of some avatars are more fat than the person has on the original photo. We are looking for ways to improve it.

    Also, such a "fat" artifact may be caused by the field of view and camera position in the viewer. Look at these two photos. It is the same avatar that was rendered with a different field of view.
    1.png 2.png

    Regarding the other wishes (slider to modify geometry, neck size and shoulders) we will consider them. Perhaps some of them will be included in the next updates.
     
    alexandershishkov likes this.
  23. diggerjohn

    diggerjohn

    Joined:
    Apr 28, 2009
    Posts:
    36
    Hi, just discovered your product. It looks like your Avatar Maker UMA is tied to this UMA universe. I have been in the business a long time but I am new to UMA. I am guessing I can use your tool to create an avatar and then cloth it with UMA libraries. Have I got this right? Thanks ....
     
  24. ledentsov

    ledentsov

    Joined:
    Feb 8, 2017
    Posts:
    58
    Hello. Yes, you are right. But this version of the Avatar Maker UMA plugin has several limitations that you have to keep in mind:
    1. It works with the HumanMaleHighPoly race.
    2. There is no female body support.
    3. UMA haircuts slots are not fit to the heads because we modify the vertices of the head but don't modify bones.
    We are going to improve these items, but I can't give you any estimations now when it will be available.
     
  25. diggerjohn

    diggerjohn

    Joined:
    Apr 28, 2009
    Posts:
    36
    Thanks so much for the prompt reply.
    I fully understand about the heads/hairstyles and male/female availabitity, no problem for me there.
    I am sure what you provide will be adequate for my needs.
    My greater interest is first in clothing.
    So by your answer am I correct in that I can use other UMA clothing packages on your characters?
    Also I am interested in the bone configuration.
    Is your rig one that I can use for example Mixamo motion files on? As well as self created motion data?
    Any restrictions or requirements there?
    Thank you.
     
  26. ledentsov

    ledentsov

    Joined:
    Feb 8, 2017
    Posts:
    58
    If the clothing package is suited for the HumanMaleHighPoly race character, it can be also used with our models.

    We don't modify any bone. The bones configuration the same as in the default character body. If the animation works with the default character, it will work with our models.
     
  27. diggerjohn

    diggerjohn

    Joined:
    Apr 28, 2009
    Posts:
    36
    Understood, thanks.
    One more question.
    To confirm, in order to make full use of the pipeline you have created I need ...
    Avatar Maker Pro
    UMA Avatar Maker Male Characters Pack
    UMA 2 - Unity Multipurpose Avatar
     
  28. ledentsov

    ledentsov

    Joined:
    Feb 8, 2017
    Posts:
    58
    You only need the Avatar Maker UMA and UMA2
     
  29. diggerjohn

    diggerjohn

    Joined:
    Apr 28, 2009
    Posts:
    36
    Got the plugin and this is awesome.
    How can I access the map being used on the head geometry after
    I have done the processing of an image.
    I see that there is one has been created and is on it when I select the head in the hierarchy but I can't find it in the project.

    DISREGARD PLEASE, I figured it out.
     
  30. ledentsov

    ledentsov

    Joined:
    Feb 8, 2017
    Posts:
    58
    Hello. I am glad that you figured out. BTW, what map did you mean?
     
  31. diggerjohn

    diggerjohn

    Joined:
    Apr 28, 2009
    Posts:
    36
    Well, what I did was export the FBX and got the bitmap applied to the geometry. As it turns out that worked sort of. But I am loosing subtleties. I am guessing that this map that I can see in the Inspector if I select the head is not in existence unless I export it. But it must be somewhere in order for it to be rendered in the scene window no?
    It would be very helpful if I could access it. What I am doing is changing skin tones for my particular needs but want
    to keep the look and feel that you are generating in the editor.
    After capturing the face bitmap through an export I am adjusting the skin tone but when I replace the bitmap assigned in the inspector
    the mapping is all wrong. Is there a way I can fix that?
    I have also noticed that when I export the FBX as I mentioned subtleties are lost, for example the hair is moved somewhat on the head geometry.

    This is a very cool plugin and I really would like to leverage it, thank you.

    Edit: Actually I seem to have gotten those subtleties back using the AvatarUnlitHairShader rather than the AvatarUnlitShader.
     
    Last edited: Oct 11, 2019
  32. ledentsov

    ledentsov

    Joined:
    Feb 8, 2017
    Posts:
    58
    If I understand you correctly, you need to change the skin tone of the avatar. There should no be a problem to modify the texture and this should not break the mapping. Could you provide the screenshot of what is wrong after you modified the bitmap and could you share with us your modified bitmap? Also, you can try to change the shader to be able to recolor the skin in runtime.
     
  33. diggerjohn

    diggerjohn

    Joined:
    Apr 28, 2009
    Posts:
    36
    Sorry another question.
    This time about Blend Shapes.
    Your interface is great but there are no numerical values for the different channels exposed.
    Is it possible to access this data or can you expose it??
     
  34. ledentsov

    ledentsov

    Joined:
    Feb 8, 2017
    Posts:
    58
    Do you need to access blendshapes by indices? Could you describe more details for your use case to make my understanding of your needs better?
     
  35. diggerjohn

    diggerjohn

    Joined:
    Apr 28, 2009
    Posts:
    36
    Sure, I am going to be creating a number of unique faces that represent 6 different emotions each.
    I was thinking that after nailing down an emotion if I new the values/indice I had given to each channel I could use that
    as a common base line for the following faces sharing that particular emotion. I'm guessing that more times than not that
    baseline would work pretty well for each new face. At least it would get me very close.
     
  36. ledentsov

    ledentsov

    Joined:
    Feb 8, 2017
    Posts:
    58
    There are following method of the Mesh class:
    GetBlendShapeName() - returns name of the blendshape by index
    GetBlendShapeIndex() - returns index of the blendshape by name
    I guess you can combine these methods to get what you want. Does it work for you?
     
  37. diggerjohn

    diggerjohn

    Joined:
    Apr 28, 2009
    Posts:
    36
    Certainly a step in the right direction, thank you.
    Haven't looked into accessing with code yet
    in terms of name spaces etc. If you could provide the required namespace definitions
    and or a general code example that would be helpful
    as I don't see anything in your documentation that discusses code access.
    Also, is there a SetBlendShapeIndex() counterpart function available?
    If there is info on this and I am simply missing it could you point me to it?
    Thank you.
     
  38. ledentsov

    ledentsov

    Joined:
    Feb 8, 2017
    Posts:
    58
    Mesh it a Unity internal class. You can find more info about its methods here:
    https://docs.unity3d.com/ScriptReference/Mesh.html

    As far as I know, there is no such function. The generated avatars always have the same sequence of blendshapes. So I think you can get their indices one time, store them somewhere and use hereinafter.
     
  39. diggerjohn

    diggerjohn

    Joined:
    Apr 28, 2009
    Posts:
    36
    Thanks for the above.
    I am now trying to figure out the connection between your Avatar Maker and getting that
    new head displayed on a UMA character. I can't seem to find a description on that process.
    Can you direct me to that in the documentation?
    Apologies if this is painfully obvious ...
     
  40. ledentsov

    ledentsov

    Joined:
    Feb 8, 2017
    Posts:
    58
    Hello. There is no direct and easy way to attach the head generated by the Avatar Maker plugin to the UMA. For this purpose you should use another plugin Avatar Maker UMA. This plugin generates the head in the UMA topology.
     
  41. diggerjohn

    diggerjohn

    Joined:
    Apr 28, 2009
    Posts:
    36
    Yes, I have that plugin.
    But I looked under Window and find no Avatar Maker.
     
  42. ledentsov

    ledentsov

    Joined:
    Feb 8, 2017
    Posts:
    58
    In such case may be some errors in the Console window of the Unity. Please look at it and send the Console log to our support (support@avatarsdk.com) or direct to me. I guess you have my email. We will help you.