---
title: Pets
description: Not every 3D avatar will be your avatar per say, some can become your companions
image: https://xrdevlog.com/img/t_pets.jpg
robots: index, follow
lang: en
dir: ltr
breaks: true
disqus: xrdevlog
---
# Pets
###### tags: `devlog` `m3`
{%hackmd @themes/dracula %}
- :arrow_right: https://hackmd.io/@XR/wearables1
- :arrow_right: https://hackmd.io/@xr/nftavatars

Pets are technically wearables from a programming perspective and thus part of avatar interop research: https://github.com/M3-org/avatar-interop
**How to make a pet**
You mainly need a glTF file with an animation or two.
- Main documentation: https://webaverse.notion.site/Creating-Pets-aef3a63dd09947d59aadff94ceafad1f
- Old documentation: https://madjin.github.io/docs/docs/create/pets

---
## Fox
Using this for reference: https://github.com/webaverse/fox
Looks at you when you walk up close

See file: https://github.com/webaverse/fox/blob/master/.metaversefile
```json=
{
"name": "fox",
"start_url": "fox.glb",
"components": [
{
"key": "look",
"value": {
"rootBone": "Neck_1"
}
},
{
"key": "pet",
"value": {
"idleAnimation": "",
"walkAnimation": "Walk",
"runAnimation": ""
}
}
]
}
```
---
## Tubby Pets
- https://github.com/M3-org/tubby-pet (lots of 3D tubbys)
- https://github.com/la53rshark/tubby-cats :star:
- https://tubbycats.xyz/home
Biped pet that follows you around


https://github.com/M3-org/tubby-pet/blob/main/.metaversefile


https://xp3d.io/jins-tubby-cat/
https://xp3d.io/jins-tubby-ar/

Look now works after renaming all the bones!
Bones need to be underscores letters and numbers
Can have multiple `.metaversefile` in a Github pages repo also, just include `.nojekyll` and `.metaversefile` in each directory.


**Wings**
- https://xp3d.io/18595-2/
- https://xp3d.io/18595-2/ (flying)
Example flying around: https://twitter.com/la53rshark/status/1506434789796102155
Good as a hubs / janusweb avatar as well

VRM avatar controller on Apple + Play store:
- https://apps.apple.com/us/app/avatavi/id1574630277
- https://avatavi.com/en/index.html

https://twitter.com/la53rshark/status/1506753314595254276
## VRchat Pets
- https://hfcred.booth.pm/items/3872107
- https://github.com/hfcRed/Among-Us-Follower
A very simple, one step set up, self contained crewmate follower. Models and animations can be changed, you're free to upload your own version of this package both publicly and commercially.



## Source (Anarchy Arcade)

## Mozilla Hubs
The Hubs team did a hack week and came up with all sorts of REALLY cool projects and experiments that they listed on their site: https://hubs.mozilla.com/labs/quhack-week-2022/
In this demo the user throws an object and has a [tubby cat](https://github.com/la53rshark/tubby-cats) go and fetch it.

There's even a cute animation when (clicking?) on the tubby!

Also portals!

---
### Snoggles
Mythical mount
To do: add example in tubby-pets repo




Watch on Youtube: https://www.youtube.com/watch?v=Eso822o-LtA
{%youtube Eso822o-LtA %}
Tubby credit: https://twitter.com/la53rshark
---
## Flying Droids
- Metashima
- Tubby with wings

---
## Meepets
- Link: https://hackmd.io/@XR/SyHqmBL7c
---
## Super Yeti Pets / Mounts
- https://hackmd.io/@XR/nftavatars#Super-Yetis
- https://hackmd.io/Os4pNDTtT8G_QPrbGXyS3Q notes

First make sure if other stuff is deleted (light/cube/camera)
Change to 30fps in settings, save default new blend, then install [vrm addon](https://github.com/saturday06/VRM_Addon_for_Blender) for blender.
rename vrm bones

Delta mush / bone corrective
add smooth corrective

voxel heat diffuse skinning blender market https://blendermarket.com/products/voxel-heat-diffuse-skinning
if changed scaling, use apply as rest pose in CATS
if issue, restart blender and start vrm plugin before import
### Webaverse Test

Eyebones add a little bit of life to the creature

Work on mount version also
biped mount + pet is interesting combo
---
### Animation proposal
Collabed with ifire on Friday on rigging a biped yeti
Create animation standard with VRM + GLB
Godot engine takes GLB animations
create a blend file with multiple armatures for avatar interop
- VRM (use saturday06 armature)
- VRM w/ mixamo bone names
- VRM w/ VRoid bone names?
aspire to same sorta standard as as pmx / vmd / mmd (pmx / mmd are the same)
First map out creator tool ecosystem
What are the steps in between programs? Conversions / file types etc
Dances look a bit wonky but honestly that can be part of its charm
why strive for perfection everytime?
If you try and teach a yeti how to dance, do you expect a monkey to get it right the first time?
The jankiness can be part of the appeal, we can learn to appreciate imperfection
Glitches are organic, weird and unexpected, sometimes spicy
It's this easy going spirit that might spawn the next meme
Take it as a W, created something unique for the character
Having every humanoid avatar do a perfect floss might turn out to be uncanny
Perhaps adding a little grime and dirt into the system will do it justice
Make things less robotic and sanitory
Machine perfect is an inhuman trait
Can replicate VRChat emote ssystem with open standards
VRM for the mapping and then GLB pure animations for the animations
ANIM_yeti_perfume_aachan.glb (has like 10 animations in it to test)
https://github.com/V-Sekai-fire/ANIM_perfume/blob/master/LICENSE
pipeline from shadermotion
workflow for animations
---
## Pain points

- Special characters affected functionality
- mixamo by default exports bone names with `mixamorig:<bone>`
- Need to be underscores and numbers, no colons
- Could unpack glb to gltf, search and replace, repack
concern with renaming is if the vrm add on that guesses bones will trip up now, needs testing
Make sure to double check the 3D model files, I was confused while Snoggles didn't work and realized my files were all fucked up in blender.

---
## AI
Pets are a good vessel for AI for many reasons
- friendly interfaces
- advanced AI can be intimidating, pets are cute
- derpy
- bugs can be features
- understanding blockchain ownership
- familiar with ownership of pets already
Webaverse has hot swapping AI backend features and path finding for NPCs and pets.
---
## Tamagotchi

- https://twitter.com/Trezor/status/1401903528256409600
- https://blog.trezor.io/1001-games-new-console-firmware-for-the-trezor-model-one-5b9438a07fc6
- https://github.com/trezor/trezor-hardware
- https://wiki.trezor.io/Open-source_hardware
Antpb has lots of digivices, also a Flipper chip. Can mod the trezor into something cool perhaps.

https://twitter.com/antpb/status/1002623104231800833?s=21


https://booth.pm/en/items/2756183
Could act as an awesome backpack design as well

Feed pets dank nugz?! :thinking_face:
https://twitter.com/webaverse/status/1363569345859907585

Watch on Youtube: https://www.youtube.com/watch?v=6_yEFqlCuIk
{%youtube 6_yEFqlCuIk %}
Circle of life?

https://twitter.com/SproutAndroid/status/1485273920978698247