独立的ThreeJS模型和动画数据

问题描述 投票:0回答:1

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

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

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

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

javascript animation 3d three.js
1个回答
1
投票

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

  1. 网格是相同的,您可以重用模型/动画,并分配不同的材质/着色器。
  2. 模型使用骨骼动画,并且各个模型的骨骼都是相同的。

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

请注意,如果动画 KeyframeTrack 的名称与模型树中的对象匹配,则它可能仅适用于具有相同名称节点的任何模型。

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

© www.soinside.com 2019 - 2024. All rights reserved.