可变形网格包含特定于网格变形的数据。可变形网格包含以下任一内容:
混合形状描述了变形为不同形状的网格版本。Unity 会在这些形状之间进行插值。您可以使用混合形状制作变形目标动画,这是面部动画的常用技术。
混合形状数据存储为混合形状顶点。混合形状数据是“稀疏的”。这意味着并不是每个网格顶点都有一个混合形状顶点;如果网格顶点变形,则只会有一个相应的混合形状顶点。
混合形状顶点包含位置、法线、切线的增量以及索引值。索引值的含义取决于您请求数据的方式。
在 Mesh 类中,可使用 Mesh.GetBlendShapeBuffer 访问混合形状顶点数据。这将返回一个 GraphicsBuffer,允许访问 GPU 上的混合形状顶点数据。此方法允许您在两个不同的缓冲区之间进行选择:一个按混合形状对数据进行排序,另一个按网格顶点对数据进行排序。缓冲区的选择决定了索引值的含义以及缓冲区中数据的布局。有关缓冲区布局的更多信息,请参阅 BlendShapeBufferLayout。
有关将混合形状用于动画的信息,请参阅使用混合形状。
此数据是可选的。
在蒙皮网格中,骨骼的绑定姿势描述了当骨架处于默认位置(也称为绑定姿势或静止姿势)时的位置。
在 Mesh 类中,可使用 Mesh.bindposes 获取和设置此数据。每个元素都包含具有相同索引的骨骼的数据。
蒙皮网格需要此数据。