骨架网格体简化工具算法详情

了解骨架网格体简化工具的边缘重叠算法的工作原理。

Windows
MacOS
Linux

边缘重叠

简化代码使用边缘重叠算法来简化骨架网格体。它可以帮助我们了解边缘重叠的实际作用。下图显示了重叠边缘的三个步骤。实际的简化工具可以看作是一个循环,它重叠网格体中的边缘,直到网格体中只保留所需数量的三角形(或顶点)。

NotesOnEdgeCollapse_01.png

  1. 选择要重叠的边缘

    1. 要重叠的边缘

  2. 计算替换位置。(它可能不在边缘上)

    1. 替换顶点

  3. 边缘已重叠,消除了两个三角形。

边缘是如何选择的?

对于网格体,每个边缘都有一个 "成本开销",表示如果该边缘重合折叠,网格体将发生多大的改变。简化算法选择成本开销最低的边缘(即对网格体的改变最小的边缘)。现在我们可以更详细地解释简化。如果我们按从开销最低到开销最高的顺序对边缘进行排序:算法将遍历该边缘列表,直到保留指定数量的三角形(或指定数量的顶点)。也就是说,开销最低(最不重要)的边缘已重叠,保留开销最高(重要)的边缘。有一个微妙之处,即当一个边缘重合时,该行为会改变其附近的边缘,它们的"成本开销"需要进行更新,同时它们在按成本开销排序的列表中的位置也需要进行更新。

HowIsTheEdgeChosen_01-1.png

  1. 选择要重叠的边缘

    1. 要重叠的边缘

那么,成本开销从何而来?

实际的 重叠成本开销 是根据网格体的局部形状会发生多大的变化(当使用可能的最佳替换顶点位置时)来计算的,另外还根据新顶点的属性(例如法线、颜色和其他属性)表现的好坏来计算额外的损失。在实际的骨骼简化器中,我们能够使某些边缘的成本开销变得更高。特别是,对于与用户认为重要的骨架骨骼相关的边缘,我们展示了向它们增加额外损失的能力。现在,这并不意味着边缘永不会重叠,这只是意味着,边缘将更晚成为提供简化器的边缘堆栈。

Select Skin
Light
Dark

Welcome to the new Unreal Engine 4 Documentation site!

We're working on lots of new features including a feedback system so you can tell us how we are doing. It's not quite ready for use in the wild yet, so head over to the Documentation Feedback forum to tell us about this page or call out any issues you are encountering in the meantime.

We'll be sure to let you know when the new system is up and running.

Post Feedback