1

我想创建一个模型并将其导入 XNA 游戏。

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

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

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

4

1 回答 1

0

您要查找的内容称为retargeting. 你想有多个skeletons 但只有一个model.

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

对您的问题的简短回答:

  1. 不,但可能存在项目可以帮助您一路走来。
  2. 这取决于您尝试使用的解决方案。它都会影响角色在引擎中动画、导出和回放的方式。

这个关于stackexchange这个项目的问题以获取更多信息。

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

于 2013-01-15T18:52:58.710 回答