我正在寻找一种用于线框模型的简单文件格式。我知道VRML,u3D等,但这些似乎对我的需求很重要。我的criterea是:
或者我只是更好地将顶点/边缘列表写入文本文件并完成它?
答案 0 :(得分:7)
Wavefront OBJ是一种非常简单的文本文件格式,用于存储3d模型,并且所有3D建模应用程序(例如maya,3dsmax,lightwave)都支持它,因此您可以非常轻松地导出和导入模型。
您可以在此处阅读更多内容和规格:
http://www.fileformat.info/format/wavefrontobj/
我建议不要制作自己的文件格式。 Wavefront OBJ就像它获得并且指定得一样简单。
这是一个2x2平面的例子。 v 用于顶点坐标, f 用于描述面(连接的顶点):
v -0.500000 -0.000000 0.500000
v 0.000000 -0.000000 0.500000
v 0.500000 -0.000000 0.500000
v -0.500000 0.000000 0.000000
v 0.000000 0.000000 0.000000
v 0.500000 0.000000 0.000000
v -0.500000 0.000000 -0.500000
v 0.000000 0.000000 -0.500000
v 0.500000 0.000000 -0.500000
v -0.500000 -0.000000 0.500000
v 0.000000 -0.000000 0.500000
v 0.500000 -0.000000 0.500000
v -0.500000 0.000000 0.000000
v 0.000000 0.000000 0.000000
v 0.500000 0.000000 0.000000
v -0.500000 0.000000 -0.500000
v 0.000000 0.000000 -0.500000
v 0.500000 0.000000 -0.500000
f 1/1 2/2 5/5 4/4
f 2/2 3/3 6/6 5/5
f 4/4 5/5 8/8 7/7
f 5/5 6/6 9/9 8/8
f 10/10 11/11 14/14 13/13
f 11/11 12/12 15/15 14/14
f 13/13 14/14 17/17 16/16
f 14/14 15/15 18/18 17/17
答案 1 :(得分:3)
我不知道任何主动定位线框视图的格式。 (仅限边缘/顶点)你几乎总是必须至少处理面部。幸运的是,除非你有一个非常特殊的需要,除了边缘列表线框渲染可以使用面部列表中的任何API完成。
至于格式,OBJ是好的和简单的,如果有点过时。它也可能是查找文档的最简单格式。微软的X文件很适合快速和脏的渲染,但我总是偏向于Quake格式。但是,他们往往非常注重游戏,因此包含了很多你可能不想要的信息。
如果这些都不符合您的需求,可以查看COLLADA。它可能不适合你自己,但你可以编写一个快速导出器到你自己的格式,只包含边/顶点信息,那时你基本上支持这个星球上的每个建模包:)
答案 2 :(得分:1)
可能更容易在文本文件中执行这些列表。这是我想到的第一件事!
答案 3 :(得分:1)
POV-Ray的RAW triangle format是我认为最简单的。在我看来,你真的不能更简单。我在几分钟内为此实现了一个加载 - 它是非常简单的格式。
答案 4 :(得分:0)
OBJ是最普遍和最简单的,但如果您需要的不仅仅是顶点位置,法线和单个纹理坐标,它就会崩溃。它根本不可扩展。它也是基于文本的,所以它在大网格上有问题。
GTO已经成为一种新的交换格式。它简单,快速,可扩展,并且有一个经过生产验证的开源代码可以读取和写入它们:这已经在几个VFX和游戏工作室中使用,但是将加载程序编写为OBJ文件(其中一个示例是OBJ到GTO转换器)的工作量相同。
检查出来,并帮助阻止Collada膨胀病毒的传播。