Gorilla tag fan game head movement
I have a live gorilla tag fan game that uses normcore, and was wondering if you guys at normal knew how to add head movement. Or could make some. Thanks! That game is on meta quest store and it's called Puchin @Max
10 Replies
Hi @Dominicffrr. I'm kapa.ai, your friendly support bot. I will try to answer your question by searching through the knowledge base. :wave:
----------------------
To add head movement synchronization in a Normcore-powered XR game (like a Gorilla Tag fan game), you should use the RealtimeAvatar system provided by Normcore. The RealtimeAvatar component is designed to synchronize the head and hand positions of each player across the network.
Here’s a high-level summary of how to set up head movement:
1. Create or use an avatar prefab with a
RealtimeAvatar
component on the root. This prefab should have child objects for the head and hands, each with their own RealtimeTransform
components.
2. The RealtimeAvatar
component will automatically synchronize the head (and hands) positions and active states between clients.
3. The RealtimeAvatarManager
in your scene will instantiate the avatar prefab for each player and keep them in sync.
Basic steps:
- Make sure your avatar prefab’s head object is tracked by the RealtimeAvatar
component.
- When the local player moves their head (e.g., via VR headset tracking), the head transform updates locally and is synchronized to other clients via Normcore.
- Other players will see the head movement in real time.
If you want to create a custom avatar, you can follow the guide to set up the prefab structure and ensure the head transform is properly referenced and synchronized. Here’s a relevant excerpt:
RealtimeAvatar will create the avatar prefab structure for us. There’s a game object for the player, head, and hands. Each component has a RealtimeTransform component on it... The head game object will scale up/down with voice volume to show the mouth movement of the player.For a Gorilla Tag-style game, you can use the same approach: ensure your avatar prefab’s head transform is updated by the VR headset and synchronized using
...
You should see your cube avatar spawn when Realtime connects to the room. The head game object will scale up/down with voice volume to show the mouth movement of the player.
...
This is still a pretty simple example, but using these tools, you should be able to make any avatar you’d like.
Creating custom avatars
RealtimeTransform
and RealtimeAvatar
.
If you need more advanced customization (like custom mouth animation or additional body parts), you can extend the avatar prefab and scripts as described in the guide.
If you need a code example or more detailed setup, let me know!
----------------------
Note: you can ask me a follow up question by @ mentioning me again :speech_balloon:
----------------------<@835582463241224192> Kapa.ai is still learning and improving, please let me know how I did by reacting below.
@Normcore Assistant I want the body to stay still while the head moves like gorilla tag. Is there any scripts I need?
Let me check the knowledge base for you again. One moment! :books:
----------------------
To achieve head movement where the body stays still (as in Gorilla Tag) using Normcore, you should set up your avatar prefab so that the head is a separate child object with its own RealtimeTransform component, and the body remains stationary.
Key points from the documentation:
- The RealtimeAvatar system is designed to synchronize the head and hands independently. The prefab structure includes a root (body), head, and hands, each with their own RealtimeTransform. The head’s transform will follow the VR headset, while the body/root can remain static unless you want to move it for other reasons.
- You do not need a special script to keep the body still—just do not update the body/root transform in your local player logic. Only update and synchronize the head (and hands) transforms with the player’s tracked devices.
- When you set up your custom avatar, make sure the head object is the only part that receives position/rotation updates from the headset, and the body/root object stays at its initial position.
Here’s a relevant excerpt:
No special script is required beyond the standard Normcore XR avatar setup. Just ensure your avatar prefab’s body/root does not move, and only the head’s transform is updated and synchronized. This will give you the Gorilla Tag-style effect where the body stays still and only the head moves. ---------------------- Note: you can ask me a follow up question by @ mentioning me again :speech_balloon: ----------------------
RealtimeAvatar will create the avatar prefab structure for us. There’s a game object for the player, head, and hands. Each component has a RealtimeTransform component on it...Summary:
...using these tools, you should be able to make any avatar you’d like.
Creating custom avatars
No special script is required beyond the standard Normcore XR avatar setup. Just ensure your avatar prefab’s body/root does not move, and only the head’s transform is updated and synchronized. This will give you the Gorilla Tag-style effect where the body stays still and only the head moves. ---------------------- Note: you can ask me a follow up question by @ mentioning me again :speech_balloon: ----------------------
<@835582463241224192> Kapa.ai is still learning and improving, please let me know how I did by reacting below.
Are you using GorillaTemplate? that one should work exactly the same
Where would I find the template?
@Max
GitHub
GitHub - NormalVR/GorillaTemplate: Everything you need to make your...
Everything you need to make your own multiplayer VR game - NormalVR/GorillaTemplate
check out the discord for that repo too. there’s a whole community of folks just making GT fan games
Thanks!