Hello, I am experiencing an issue with a character animation using RealityKit. I have a file created in Blender that contains the rigged Character, a sword, and a shield. The sword and the shield have bones connected to the character's hands so they can follow the character's animation. When I run the animation in Blender and preview the exported USDZ file on Mac, I can see the sword and shield attached to the hands and the animation is fine. But when I add the USDZ model in RealityKit and play the animation, only the character is animating, the sword and the shield are not moving at all.
This is the code I use to animate the character:
private func loadAnimations() {
let unifiedAnimations = children[0].availableAnimations.first!.definition
let animationResource = try! AnimationResource.generate(with: unifiedAnimations)
self.children[0].playAnimation(
animationResource.repeat()
)
}
Here is a link with a Demo Xcode project, the Blender file, and a video: https://www.dropbox.com/scl/fi/ypq2iwxc5f9dwzjggsvin/AppleTest.zip?rlkey=wiag3rg44urhjdh2wal8cdx2u&st=vbpf7x11&dl=0
STEPS TO REPRODUCE
I have created a demo project that displays the character on a horizontal surface, and the animation starts playing.
-
Run the App. The ARView will be set up, and a yellow square will appear in the middle of the screen.
-
When a horizontal surface is detected the yellow Square will change indicating that the surface is found.
-
Tap on the screen to load the USDZ model and position it in the yellow square's position.
-
The Animation will start playing and you can see that the character is animating, but the sword and shield remain still.
Thanks
Hello @Valsamis,
Your model contains USD Physics Joints (i.e. Constraints), RealityKit does not support that USD feature, please file an enhancement request using Feedback Assistant.
-- Greg