GLTFUtility icon indicating copy to clipboard operation
GLTFUtility copied to clipboard

Jittering animation with imported animated humanoid GLTF files

Open ROBYER1 opened this issue 3 years ago • 1 comments

Describe the bug We have found this issue across most Unity GLTF importers and haven't found a fix yet, the same models play back just fine using web GLTF viewers like https://sandbox.babylonjs.com/

When importing a humanoid animated character in a gltf in Unity, the playback is jittery and skipping, we have tried various export settings with Blender and Cinema4D only to see consistent results of jittering, even using mixamo characters and, separately with our own motion capture data.

Files

Direct links: https://drive.google.com/uc?export=download&id=1uBO5gmF1wssFvYfwL1kGQDO3AyE0jjpO https://drive.google.com/uc?export=download&id=1aP3cnlMdPla1GC3aZ6XA5n1uhaZInvq0

Gdrive links https://drive.google.com/file/d/1uBO5gmF1wssFvYfwL1kGQDO3AyE0jjpO/view?usp=sharing https://drive.google.com/file/d/1aP3cnlMdPla1GC3aZ6XA5n1uhaZInvq0/view?usp=sharing

To Reproduce Steps to reproduce the behavior:

  1. Use the links above to import the models
  2. See in playback in Unity the animation is jittery

Expected behavior A clear and concise description of what you expected to happen.

Screenshots If applicable, add screenshots to help explain your problem. Glitchninja1

Desktop (please complete the following information):

  • glTFast version 4.3.1
  • Unity Editor version 2020.1.1.17f1
  • Render Pipeline and version 11.0.0
  • Platform: Editor Windows, Windows exe build, Android, IOS

Additional context Add any other context about the problem here.

ROBYER1 avatar Oct 04 '21 10:10 ROBYER1

In order to fix this, we found that the ImportSettings.InterpolationMode.ImportFromFile was not working correctly or the exported files we had were not including the interpolation mode in the GLTF file.

To fix we had to do this: legacyAnimSetting = new ImportSettings(); legacyAnimSetting.useLegacyClips = true; legacyAnimSetting.interpolationMode = InterpolationMode.STEP;

ROBYER1 avatar Oct 04 '21 11:10 ROBYER1