BVH rewrite #260

Closed
opened 2026-04-05 18:12:41 +02:00 by MrUnknownDE · 0 comments
Owner

Originally created by @ButterscotchV on 9/10/2025

Major rework of BVH code to take full advantage of Bones and unification the skeleton traversal to simplify serialization. This also implements built-in retargeting of the root, so you can now select any bone as the root. Using the new retargeting, we can use the HIP bone as the default so the recording can be applied directly in Blender or Unity.

Still somewhat WIP as it is not properly tested and may have some silly bugs (one I encountered when using the left hand as the root), but I'm open to early reviews.

*Originally created by @ButterscotchV on 9/10/2025* Major rework of BVH code to take full advantage of `Bone`s and unification the skeleton traversal to simplify serialization. This also implements built-in retargeting of the root, so you can now select any bone as the root. Using the new retargeting, we can use the `HIP` bone as the default so the recording can be applied directly in Blender or Unity. Still somewhat WIP as it is not properly tested and may have some silly bugs (one I encountered when using the left hand as the root), but I'm open to early reviews.
MrUnknownDE added the Priority: NormalArea: ServerType: EnhancementPriority: NormalPriority: NormalPriority: NormalPriority: NormalPriority: NormalPriority: NormalPriority: NormalPriority: NormalPriority: NormalPriority: NormalPriority: NormalPriority: NormalPriority: NormalPriority: NormalPriority: NormalArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: Enhancement labels 2026-04-05 18:12:52 +02:00
Sign in to join this conversation.
No Label Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Priority: Normal Priority: Normal Priority: Normal Priority: Normal Priority: Normal Priority: Normal Priority: Normal Priority: Normal Priority: Normal Priority: Normal Priority: Normal Priority: Normal Priority: Normal Priority: Normal Priority: Normal Priority: Normal Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github/SlimeVR-Server#260