繁体   English   中英

按顶点数 3D 对象排序 C++

[英]Sort 3D objects by their number of vertices C++

“创建一个应用程序,按顶点数对屏幕上呈现的 *Static Meshes 进行可视化排序。”

*静态网格只是 3D model(在虚幻引擎 4 中)

这是与挑战一起发送的视觉“指南”:

https://drive.google.com/file/d/1v0-3zEoDugelGWK-U9t4GEHkA0hAuLfk/view?usp=sharing

我知道我应该使用排序算法,但是例如顶点数如何适合它

我不明白的是,我将如何根据其 Static 网格的顶点数(整数)对对象的位置(3D 矢量,XYZ)进行排序,以及两把椅子的翻译如何如此不同(查看视频)如果他们有相同数量的顶点,因为它们是完全相同的 Static 网格。 这是否意味着它们的目标位置不是设置而是选择的,这意味着它们的值是恒定的并且在排序之前存在?

我接近这一切都错了吗?

选择相机附近的起点(例如,我们将其称为 cameraPos,坐标为 x1、y1、z1)。 选择朝向相机正在看的方向的某个点(lookAt with coords x2, y2, z2)。 方向向量(我们称之为 dirVec)是 lookAt - cameraPos(x2-x1, y2 - y1, z2 - z1)。 这是一个向量,表示相机的大致方向。 您对 3d 对象进行排序,现在它们被排名 - 例如,具有最多顶点的对象排名为 1,第二个对象排名为 2,依此类推。 现在计算每个 object 的 position,如下所示:pos = cameraPos + dirVec * rank。 在这里,您的对象现在可以直观地排序。 如果您不知道如何添加/减去向量或将向量乘以数字或这些操作的含义,您应该先熟悉它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM