0

因此,在对变形和骨骼动画(从 Blender 导出)进行了一些试验后,我发现骨骼文件比变形文件小了近 10 倍。看起来显然骨骼是更好的选择,但我想知道使用它是否有缺点。

具体来说,我怀疑动画骨架而不是变形需要更多的处理。什么时候比另一个更好?如果我为 100 个模型制作动画而不是一个模型,这有关系吗?如果 skeletal 确实需要更多处理,并且我在线托管应用程序,那么带宽的减少(由于文件大小较小)是否值得在运行时进行额外的处理?

感谢您的任何意见。

4

1 回答 1

3

事实上,骨骼动画需要稍微多一点的处理,因为骨骼的矩阵必须在每一帧中计算(在 JS 中)并上传到 GPU。使用变形动画时,所有插值都可以在 GPU 端完成。所以这实际上是一种内存性能交易。

当您确实同时播放许多动画时,处理确实会产生一些成本。然而,与此同时,几个不同的变形动画将具有很大的文件大小。

正如你所提到的。

所以要视情况而定。您应该注意一些要点:

  • 如果动画不是太快或太复杂,则可以以减少的每秒帧数存储变形动画,这样您将拥有更小的文件。
  • 骨骼动画具有骨骼信息,您可以使用这些信息将东西附加到模型上,例如,您有一个士兵模型,您想将不同的枪附加到该模型上。使用变形动画,您无法做到这一点,因此您必须为士兵和每支枪都设置动画。
  • 您实际上可以在同一个应用程序中使用这两种类型的动画,为每种用途选择最合适的。
  • SkinnedMesh-es 与 MorphAnimMesh-es 不同,目前不支持光线投射。如果您需要光线投射,例如选择对象,则暂时需要使用变形动画。
于 2014-10-17T20:30:43.790 回答