1

为了更好地解释我想要实现的目标,这里有一个简单的例子:

  • 场景 1:在某个 3D 容器对象中,我想添加两个 Cube:一个没有任何变换,一个具有较小的位置、旋转和缩放调整。添加这两个立方体后,我还想变换容器的位置、旋转和比例。

  • 场景 2:在 3D 角色的身体中,它由许多分层的子项(和子子项)组成,每个子项在动画过程中都有各种变换。

所以我的问题是:

如何有效地计算这些单独的 3D 对象转换?甚至可以只用一个来做到这一点VertexBuffer3D吗?还是我需要几个VertexBuffer3D来跟踪每个对象?使用多个VertexBuffer3D似乎可能会达到限制(但我没有阅读足够的Stage3D/Context3D文档来确定)。

4

1 回答 1

1

您应该将这些转换作为矩阵的顶点程序常量传递。常数变化很快。顶点缓冲区用于源数据,应该很少更改。对于像骨骼这样的高级事物(我认为骨骼动画或骨骼动画是维基百科术语:))角色模型,您传递多个矩阵并选择权重。

于 2012-02-01T06:20:30.023 回答