分离 ThreeJS 模型和动画数据

Separate ThreeJS model and animation data

ThreeJS中动画数据和模型数据是否可以解耦?

这样可以交换模型,同时保留动画?我认为这可能非常强大

我知道如何在 ThreeJS 中做到这一点的方法是将每个动画一个接一个地打包在一个模型中,这似乎很有限。

例如,在游戏中,您可以更改角色模型,而不是让每个角色模型都包含 'baked'(我使用的术语正确吗?)动画。如果我想更改动画,我是否需要重新烘焙每个模型?听起来很反直觉。

动画数据可以在两种情况下重复使用:

  1. 网格相同,您可以重复使用 model/animations,并分配不同的 material/shader。
  2. 模型使用骨骼动画,骨骼在模型之间是相同的。

如果动画或模型彼此有很大不同,您可能无法重复使用动画数据。

此外,除非有很多动画,否则烘焙(是的,这是正确的术语)可能是一个更好的主意。烘焙动画比计算骨架更高效。