【发布时间】:2013-10-07 19:36:52
【问题描述】:
我正在寻找一种方法来生成用于视频游戏的 3D 模型。这个想法是虚拟基元,它们只是具有大小、形状、材料和旋转相关数据的点。
例如,一颗小行星可能从两个相交的简单球体开始。尘土飞扬的岩石材料,它会告诉蒙皮算法提供平滑的沙质曲线和偶尔的锯齿状巨石。最终可能会变成一种块状的花生形状。
然后添加带有空隙或陨石坑材料的较小球体,散布在物体周围。这些会在花生表面产生类似火山口的区域,并且皮肤会调整以适应。最后你会得到一个小行星的半可信的表示。
考虑到这一点,我的问题是,有没有像样的开源或公共领域的蒙皮算法示例,可以找到模型的表面并生成平滑、均匀分布的四条网格,然后可以对其进行纹理处理?
更多信息;我正在研究基础模型的 CSG 方法(增加和减少体积),然后研究用于重新划分整个事物的其他方法。
【问题讨论】:
-
你看过CGAL。他们为mesh generation、processing 和polyhedra 提供了多种开源几何算法。 NEF Polyhedra section 看起来特别接近您所说的。
-
这很有趣,我得做更多的研究。现在正在查看稀疏体素八叉树。
-
如果您想拥有使用 CSG 技术生成 3D 模型的脚本,没有比 OpenSCAD 更好的软件了。它在后端使用前面提到的 CGAL,但为参数模型生成提供了一个基于脚本的接口。我多年来一直使用它进行 3D 打印,并且喜欢它。它还具有命令行界面,因此您可以从 unix shell 或 command.exe 编写脚本。但是,它不能实时集成到您的游戏中。这将要求您提前创建模型,我不确定您正在寻找什么。
-
谢谢 Jestin,这几乎正是我正在寻找的东西,尽管我担心由于它的 GPLv2 我将无法在专有软件中使用它。 :\
-
@EvilSpork:单独的 CSG 不会产生有机形状(当然也不会产生像样的岩石)——你需要可以修改/扭曲初始几何形状的修改器。调查 .kkreiger(100kb 第一人称射击游戏)、ken perlin homepage 和 metaballs。那应该让你开始。此外,要制作体素树,you do not need terabytes of data。您需要一个定义树的递归公式。
标签: c++ algorithm model 3d skinning