在XNA中拉伸或缩放模型的肢体

时间:2012-04-23 01:21:24

标签: xna

我想创建一个导入XNA游戏的模型。

我希望能够复制此模型并在执行期间对其进行编程修改(目的是使用相同的模型来表示游戏中的多个角色)。例如,我想让腿稍长或稍短,或者腰部略微变胖或变薄,或者头部稍微变小或变大。

我知道如何使用变换来修改网格,但似乎我需要的是将变换仅应用于该网格中的顶点子集。我不知道如何在XNA中执行此操作,或者甚至支持它。

两个问题:
1)是XNA支持的功能吗?
2)如果是这样,使用什么样的方法来获得所需的结果?

1 个答案:

答案 0 :(得分:0)

您要找的是retargeting。您希望拥有多个skeleton,但需要一个model

使用骨架动画,每个骨骼使用权重影响model的顶点,称为skinning。如果您有不同的骨架,则模型保持不变,但顶点变换的方式会发生变化。

您的问题的简短答案:

  1. 否。但是可能存在帮助您的项目。
  2. 这取决于您尝试使用的解决方案。它将影响角色在引擎中的动画,导出和播放方式。
  3. 此问题可在stackexchangethis project上获取更多信息。

    我从未试图在XNA中这样做,只是“商业游戏引擎”。