gpt4 book ai didi

animation - OpenGL 中骨骼动画背后的逻辑

转载 作者:行者123 更新时间:2023-12-05 00:31:17 24 4
gpt4 key购买 nike

骨骼重量、骨骼影响、关节、偏移和局部矩阵用于什么?互联网上没有任何文章可以很好地解释逻辑。我仍然不知道是否每个骨骼都有不同的模型,然后与其他模型组合。或者如何处理这些矩阵,如何设置骨骼、组合和蒙皮……如果您能分享任何文章或您对 opengl 中骨骼动画的了解,我会很高兴。

最佳答案

其中一些术语在实现之间会有所不同。与其尝试提​​供具体的定义,我更愿意对蒙皮的工作原理进行非常粗略的概述,因为我认为这就是您要问的。

此外,这不是特别针对 GL 的...

主要思想是您采用多边形模型并将其附加到骨架上。模型中的每个顶点都分配给一个或多个骨骼。在这种情况下,骨骼实际上只是一种转换,尽管它们通常被视为骨架,因为骨骼通常是在层次结构中创作的,并且自然会类似于实际的骨架。

“关节”可能仅表示“骨头”,或者在其他上下文中实际上可能指的是两块骨头如何连接和铰接...

由于骨骼是分层的,它们将具有“本地”变换,描述它们相对于父对象的变换。在运行时,转换通常会被连接在一起,这样它们就都在同一个空间中。

将顶点分配给骨骼是使用权重完成的。每个顶点的权重通常加起来为 1。权重可以通过接近骨骼自动分配,但通常由艺术家手动调整。通常使用艺术包中的工具将它们“绘制”到 3D 模型上。

在运行时,顶点由它们所影响的每个骨骼进行变换,最终顶点位置是这些不同变换结果的加权平均值。加权平均值的计算方式可能会有所不同,但这是通用方法。

然而,对于运行时应用程序,将影响顶点的不同骨骼的数量保持在最低限度通常很重要,并且可能有一个相对较小的上限; 4,也许。因此,不是为骨架中的每个骨骼提供每个顶点的权重,而是提供固定数量的关节索引和相应的权重是很常见的。

请注意,在蒙皮时您通常不会对纹理坐标执行任何操作,但您几乎肯定必须重新计算法线和可能的切线向量。同样,如何做到这一点可能因实现而异。

关于animation - OpenGL 中骨骼动画背后的逻辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15038302/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com