ue的procedural geometry
时间: 2023-11-23 11:07:48 浏览: 140
引用\[1\]:在UE中,可以使用SetMeshTriangles节点将新的三角形应用于GameGeneratedActor。可以在运行时使用它来创建动态的网格(当更新过多的顶点时可能会出现延迟)。如果需要,可以使用SetMeshMaterial节点为网格应用材质。需要注意的是,这些网格没有UV坐标。\[1\]
引用\[2\]:关于UE的procedural geometry,有一种修复算法可以用来处理环状结构的切面。该算法将切面切割为多个“无孔”的多边形。具体步骤如下:首先遍历所有封闭多边形,判断其外部存在的封闭多边形数量,如果是奇数个,则认定其为内边,并将其设置为上一层多边形的内边;如果是偶数个,则认定其为外边。然后遍历所有外边,将没有内边的多边形放入最终输出的多边形队列,并将有内边的多边形压入堆栈。接下来,从堆栈中弹出一个多边形,任取一个内边,判断切割该内边是否会影响其他内边。如果不会影响,则进行切割。切割方式可以是任取内边上的一点,找出距离最远的点,然后计算这两个点到外圈多边形各个边的距离,找出距离最小的边,通过这两个点做垂线,得到的两条垂线即为切割线。判断切割线是否会影响其他内边的方法是判断切割线是否与其他内边相交。如果不满足条件,则重新选择内边上的点进行切割。重复以上步骤,直到没有含有内边的多边形。最后输出无内边的多边形队列。\[2\]
引用\[3\]:在UE中生成程序化几何体并在游戏中生成它们的方法非常简单。这只是一个简单的演示,用于帮助您生成自己的网格,而不是作为正确编程技术的示例。\[3\]
回答: 在UE中,可以使用SetMeshTriangles节点将新的三角形应用于GameGeneratedActor,从而生成程序化几何体。可以在运行时使用这种方法来创建动态的网格。如果需要,还可以使用SetMeshMaterial节点为网格应用材质。需要注意的是,这些程序化几何体没有UV坐标。此外,还有一种修复算法可以用来处理环状结构的切面,将切面切割为多个“无孔”的多边形。该算法通过遍历多边形并判断其内外边的数量来实现切割。然后,根据切割线的计算结果进行切割,并将切割后的多边形进行分类和处理。最后,输出无内边的多边形队列作为结果。需要注意的是,这只是一种简单的演示,用于帮助您生成自己的程序化几何体,而不是作为正确编程技术的示例。\[1\]\[2\]\[3\]
#### 引用[.reference_title]
- *1* *3* [UE4 Procedural Mesh Generation](https://blog.csdn.net/pizi0475/article/details/53514831)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* [UE4——SliceProceduralMesh 函数解析及BUG修复](https://blog.csdn.net/lz_oases/article/details/88135148)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文