Common Avatar Issues: Difference between revisions

From Resonite Wiki
m minor fix
Added Additional Scenarios: Screenshots+validated cases would greatly enhance all of these
 
Line 2: Line 2:


This page contains a list of various common issues you may encounter when [https://wiki.resonite.com/Avatar_Creation setting up a new avatar from scratch].  Many of these may change with the [https://github.com/Yellow-Dog-Man/Resonite-Issues/discussions/616 eventual new IK update].
This page contains a list of various common issues you may encounter when [https://wiki.resonite.com/Avatar_Creation setting up a new avatar from scratch].  Many of these may change with the [https://github.com/Yellow-Dog-Man/Resonite-Issues/discussions/616 eventual new IK update].
== Hair/Head/Snoot Visible In View ==
When finalizing an avatar and then equipping it, sometimes you can become blinded by the model itself, having hair or other parts of the model obscure your view.  [https://wiki.resonite.com/Avatar_Creation#Adjusting_Proxies The process to fix this is described here.]
== Head or Hands Misaligned After Avatar Creation ==
If you misalign your hands or head during the avatar creation process, you do not have to re-import the model to fix it.  You can instead follow [https://wiki.resonite.com/Avatar_Creation#Adjusting_Proxies this guide].
== Avatar Doesn't Import With Textures ==
Some model formats (namely .fbx) will sometimes import without textures or missing textures.  You can create all of the materials required for the model directly by importing your textures and then use the [https://wiki.resonite.com/Material_Tool Material Tool], and the [https://wiki.resonite.com/Dev_Tool Developer Tool] to apply them to the model, [https://wiki.resonite.com/Avatar_Creation#Texturing_the_Model as described here].




Line 35: Line 50:


When importing an avatar, it might end up much smaller than you expect it to import.  This is normally fine and setting up the avatar in the [https://wiki.resonite.com/Avatar_Creation regular prescribed workflow] should work fine.  When you equip the avatar, you should be able to press <code>Reset Scale</code> in your radial menu to change its scale 1:1 with your real world height.  If you want to change the default scale of the avatar, you can add the [https://wiki.resonite.com/Component:DefaultUserScale DefaultUserScale] component anywhere to your avatar, then re-equip it and press the <code>Reset Scale</code> button to fix your scale.
When importing an avatar, it might end up much smaller than you expect it to import.  This is normally fine and setting up the avatar in the [https://wiki.resonite.com/Avatar_Creation regular prescribed workflow] should work fine.  When you equip the avatar, you should be able to press <code>Reset Scale</code> in your radial menu to change its scale 1:1 with your real world height.  If you want to change the default scale of the avatar, you can add the [https://wiki.resonite.com/Component:DefaultUserScale DefaultUserScale] component anywhere to your avatar, then re-equip it and press the <code>Reset Scale</code> button to fix your scale.
== Only One Eye Blinking Or Random Blendshape Activating Every Few Seconds ==
The avatar creator creates a new component on the '''Head''' bone of the avatar during creation called <code>Eye Manager</code>.  This contains various components for managing and controlling the avatar's eyes.  Sometimes, a blendshape on the avatar may not be named something that is detected properly by the avatar creator and causes it to activate instead of the correct one.  You can fix this manually by navigating to the <code>Eye Manager</code> slot, then find the [https://wiki.resonite.com/Component:EyeLinearDriver EyeLinearDriver Component].  This component usually has a list of eyes and their controlled shapes.  For each eye your avatar has, you should add an entry to this list, and for every control that the eye has (such as <code>OpenCloseTarget</code> for controlling when a blink happens, <code>WidenTarget</code> for when the eyes should open wider than normal etc.), you can drag and drop blendshapes from your model's [[Component:SkinnedMeshRenderer|SkinnedMeshRenderer]] to where they should go in this list.
== Avatar Mouth Not Moving While Talking or Wrong Blendshapes Assigned to Talking Visemes ==
When the avatar creator finishes setting up, it will create a new component called [[Component:DirectVisemeDriver|DirectVisemeDriver]] on the slot where your mesh is stored (Usually under <code>CenteredRoot > RootNode</code>).  This component tells which blendshapes to activate whenever your avatar starts to talk.  If your avatar does not have mouth blendshapes and instead has a jawbone for talking, these will not be assigned and instead you follow a [https://www.youtube.com/watch?v=2ewmtFYWJe0 guide such as this one] to set it up.  If some blendshapes are wrongly assigned or missing, you can drag the correct ones from the [[Component:SkinnedMeshRenderer|SkinnedMeshRenderer]] to where they belong in the [[Component:DirectVisemeDriver|DirectVisemeDriver]] list.




== Avatar On Tiptoes ==
== Avatar On Tiptoes ==

Latest revision as of 00:01, 30 April 2024

This article or section is a Stub. You can help the Resonite Wiki by expanding it.


This page contains a list of various common issues you may encounter when setting up a new avatar from scratch. Many of these may change with the eventual new IK update.


Hair/Head/Snoot Visible In View

When finalizing an avatar and then equipping it, sometimes you can become blinded by the model itself, having hair or other parts of the model obscure your view. The process to fix this is described here.


Head or Hands Misaligned After Avatar Creation

If you misalign your hands or head during the avatar creation process, you do not have to re-import the model to fix it. You can instead follow this guide.


Avatar Doesn't Import With Textures

Some model formats (namely .fbx) will sometimes import without textures or missing textures. You can create all of the materials required for the model directly by importing your textures and then use the Material Tool, and the Developer Tool to apply them to the model, as described here.


Chest Bone Detected Wrong

Sometimes when importing a new avatar it may look as if the avatar's spine is compressed downwards, upwards, or in some way that doesn't seem right. One common reason for this is that the avatar creator may be detecting the Chest bone incorrectly. This can happen if another bone in the hierarchy contains the word Chest and may have been detected first. (A very common cause is an avatar that has a Chest Fluff bone).

One way to detect that this is the case is by inspecting the root of the avatar and going to the VRIK Component, and looking at which bone was assigned to the Chest. If this looks wrong, you will have to rename the bone listed to include the tag <NoIK> anywhere in the bone name as described here, then reimport the avatar again.


Avatar Arms Don't Match Real Arm Length

Sometimes your avatar's arms may be significantly shorter than your real life arm length, making it hard to reach for and grab objects. There are a few solutions to this, depending on what suits your overall needs some may not be applicable:

  • Edit the model externally to change the arm length
    • This requires 3D modeling knowledge, however it is the more precise option to fixing this
  • Modify the ArmLengthMlp property in the VRIK component
    • This allows you to stretch the arms to lengthen them, however changing this value too much may look unnatural
  • Move the Grab Area Anchor Slot onto your hand proxy slots
    • This has the side effect of allowing you to grab things disconnected from your avatar's hands, however it will let you always grab exactly where you expect

Avatar Hips Inverted/Twisted

After importing, sometimes an avatar's hip bone may look to be facing the wrong way even if it looks fine in an external application. There are a few possible reasons for this:

  • Inconsistent bone roll - Every bone has a property called "bone roll" which controls its twist angle about its major axis. If this is too high, or at a weird angle, the hip bone could possibly end up rotated wrong and affect other bones.
  • Spine bone exactly above the hips, or equal to the hip location - This might cause a weird discontinuity in the IK calculation if the bones are exactly aligned for some reason.
    • In this case you can move one of the bones very slightly offset forward/backward of the other bone and it should fix the issue


Avatar Imports Tiny

When importing an avatar, it might end up much smaller than you expect it to import. This is normally fine and setting up the avatar in the regular prescribed workflow should work fine. When you equip the avatar, you should be able to press Reset Scale in your radial menu to change its scale 1:1 with your real world height. If you want to change the default scale of the avatar, you can add the DefaultUserScale component anywhere to your avatar, then re-equip it and press the Reset Scale button to fix your scale.


Only One Eye Blinking Or Random Blendshape Activating Every Few Seconds

The avatar creator creates a new component on the Head bone of the avatar during creation called Eye Manager. This contains various components for managing and controlling the avatar's eyes. Sometimes, a blendshape on the avatar may not be named something that is detected properly by the avatar creator and causes it to activate instead of the correct one. You can fix this manually by navigating to the Eye Manager slot, then find the EyeLinearDriver Component. This component usually has a list of eyes and their controlled shapes. For each eye your avatar has, you should add an entry to this list, and for every control that the eye has (such as OpenCloseTarget for controlling when a blink happens, WidenTarget for when the eyes should open wider than normal etc.), you can drag and drop blendshapes from your model's SkinnedMeshRenderer to where they should go in this list.


Avatar Mouth Not Moving While Talking or Wrong Blendshapes Assigned to Talking Visemes

When the avatar creator finishes setting up, it will create a new component called DirectVisemeDriver on the slot where your mesh is stored (Usually under CenteredRoot > RootNode). This component tells which blendshapes to activate whenever your avatar starts to talk. If your avatar does not have mouth blendshapes and instead has a jawbone for talking, these will not be assigned and instead you follow a guide such as this one to set it up. If some blendshapes are wrongly assigned or missing, you can drag the correct ones from the SkinnedMeshRenderer to where they belong in the DirectVisemeDriver list.


Avatar On Tiptoes