VR Inverse Kinematic Avatar?
I have an idea for a VR game, but it requires a custom avatar with IK arms. I was wondering if such a thing is easily doable with normcore and whether there is an example of it I could look at?
I was also wondering if it is possible to get avatars to look similar to a humanoid rather than a head and 2 hands?
4 Replies
Hi @Aloonytunes. I'm kapa.ai, your friendly support bot. I will try to answer your question by searching through the knowledge base. :wave:
----------------------
Yes, creating a custom avatar with IK arms is possible with Normcore. You can start by creating an empty Game Object in the scene with a RealtimeAvatar component on it. RealtimeAvatar includes a button that will create all of the game objects and components needed for a basic avatar. This includes a game object for the player, head, and hands. Each component has a RealtimeTransform component on it, and the head has a RealtimeAvatarVoice component on it for voice chat. You can then use the assets from the VR Player avatar to create a custom avatar. You can delete each of the Geometry game objects that RealtimeAvatar created for you and then drag the HeadModel, LeftHandModel, and RightHandModel meshes into each of their corresponding game objects on the avatar prefab [source (https://normcore.io/documentation/guides/xr-avatars-and-voice-chat#creating-custom-avatars)].
If you are using a plugin like VRIK for IK movement on avatars and your avatar setup uses a camera rig, you’ll need to wire it up to RealtimeAvatarManager’s Root, Head, and Hand transform inputs. This will ensure that your RealtimeAvatar instance matches the transforms of your camera rig instead of using the default Unity XR APIs [source (https://normcore.io/documentation/realtime/common-questions#im-using-a-vrik-plugin-for-ik-movement-on-avatars-when-i-teleport-or-move-my-camera-rig-the-rig-moves-but-my-avatar-doesnt-whats-going-on)].
As for making avatars look more humanoid, Normcore comes with a set of built-in scripts that can be used to create XR avatars quickly. However, if you want to introduce extra functionality or modify the existing scripts, you can copy all RealtimeAvatar classes into your project under a new namespace and make any changes required for your project [source (https://normcore.io/documentation/realtime/xr/avatars#modifying-realtimeavatar-scripts)].
For more advanced avatar customization, you can also use the MetaAvatar component provided by Normcore and Meta. This allows you to create a custom avatar prefab with more advanced features such as lip sync and finger tracking [source (https://normcore.io/documentation/guides/meta/meta-avatars-customization)].
----------------------
Note: you can ask me a follow up question by @ mentioning me again :speech_balloon:
----------------------
<@684938952695611433> kapa.ai is still learning and improving, please let us know how it did by reacting below
Can I configure my IK in a way where my avatars legs are stationary because they will always be seated on something while the torso is able to lean, the head is able to rotate and the arms can move?
you have to at normcore assistant if you want a response. but ik legs would be fine