【发布时间】:2010-06-10 06:46:17
【问题描述】:
我想知道如何在运行时在 XNA 中编辑 3d 模型的顶点,我想做一些类似 3d max 减法的功能,你将 2 个模型放在一起并删除其中 1 个的相交顶点,更像是雕刻一个网格和另一个。
如果我不清楚,请参阅this
无论如何,任何关于如何在运行时编辑顶点的指针或任何帮助都非常感谢。
谢谢
【问题讨论】:
我想知道如何在运行时在 XNA 中编辑 3d 模型的顶点,我想做一些类似 3d max 减法的功能,你将 2 个模型放在一起并删除其中 1 个的相交顶点,更像是雕刻一个网格和另一个。
如果我不清楚,请参阅this
无论如何,任何关于如何在运行时编辑顶点的指针或任何帮助都非常感谢。
谢谢
【问题讨论】:
你不能那样做。
AFAIK、OpenGL、DirectX 和 XNA 没有用于对三角网格进行布尔运算的实用函数(如果它们有这些,我们将在市场上的每款游戏中看到完全可破坏的环境)。如果你想这样做,你必须自己实现布尔运算。这将是非常困难的(尤其是处理拓扑),我的意思是(试图这样做,当我有更多时间时,有一天(作为练习)会实施它们)。
或者您可以尝试改编/使用来自blender 或libgts 的源代码。它们都实现了布尔运算,但它们是用 C/C++ 编写的,而不是用 C# 编写的,所以无论你怎么看都会很“有趣”。此外,如果您决定使用他们的代码,请注意许可证。两者都使用 GPL 的风格,而 GPL 是“病毒”许可证。
【讨论】: