是否有3D模型/ 3D数据的版本控制系统?

时间:2020-03-05 18:47:06  来源:igfitidea点击:

那么主题基本上就是问题。是否有3D模型的版本控制系统。当然,首选开源方法。

我正在寻找颠覆性的功能,但是更基本的系统也会引起人们的兴趣。诸如分支/合并/提交之类的基本操作应以一种或者另一种形式可用。

更新:使用开放源代码方法不是免费的,而是在需要时进行大量扩展和自定义系统的选项

UPDATE2:我不知道如何以最好的方式来描述它,但是3d模型的格式并不那么重要。我们将使用IFC模型和大多数CAD程序。亚当·戴维斯(Adam Davis)描述的方法可能是我正在寻找的方法。

解决方案

回答

我的印象是SVN非常适合使用文本文件的任何类型的项目。因此,如果模型是由文本文件组成的,那就很好了。

我不知道二进制数据如何工作,因为我所知道的所有版本控制都使用了diff管理,该管理使用文本比较。

回答

与GingaNinja所说的类似,如果我们只关心对不同版本的二进制文件进行管理,则大多数版本控制系统都将为我们服务。但是,如果我们正在寻找一种将在实际图像中显示更改的工具,则可能很难在这里找到该工具的推荐。我将从在图形艺术家论坛上提问开始。

回答

3d模型和数据只是数据文件,无论其格式是文本还是二进制。由于经常签入二进制文件库等,因此版本控制系统可以处理这两种情况。

我不太确定我们所说的"开源方法"是什么意思。我们是说免费的解决方案吗?我们可以获取开源项目,这些项目需要付费(具体取决于用法),例如Qt。

Subversion或者CVS将存储文本或者二进制模型,并且都是免​​费的。 Subversion比CVS更可取,因为它可以提交变更集中的多个文件。在Windows上,我们可以使用TortoiseSVN,它是一种出色的免费工具集。

回答

如果使用Subversion,则必须记住要锁定(假设文件是​​二进制的,几乎所有3D模型格式都是二进制的)。除了Subversion和其他类似的OSS,我们还可以查看Gridiron Flow,这是Gridiron Software的新内容/工作流管理软件。 Adobe的John Nack给予了好评如潮。

回答

这将非常困难,因为大多数3D CAD程序都没有考虑修订的可能性,因此,当我们加载某些内容然后再次保存时,可能会完全重新排列点(这是有原因的,通常是为了提高性能)。

此外,以文本格式表示的大型模型是巨大的文件,并且将永远需要复制/合并/等操作。

当前没有系统可以解决此问题,但是行业对此确实有很大的需求。

我希望这样的系统具有模型规范化器,该模型规范化器可以与所需的CAD格式和修订格式进行相互转换。然后,它可以处理合并并更轻松地跟踪更改。

它还需要以我们可以在cad程序中打开"差异"模型的形式输出差异,并且更改以不同的颜色显示或者以其他方式突出显示。没有人能够查看文本差异并了解他们在看什么。该差异化程序最终将需要支持以下理解:即使0,0,0的位置和旋转不相同(困难的匹配问题),两个模型也相同(并向用户提供匹配的界面),以便用户获得一些帮助卡住。

我们可能必须分别处理模型的各个部分(骨骼,网格,纹理等),并拥有第三个文件,当将它们转换为包含的模型文件以供使用和修改时,它们可以同步它们。

这不是一个小问题……但是,如果我们开始从事仅处理网格物体并将其开源的工作,那么我们可能会引起很多人的兴趣。

回答

尽管我意识到这是一个稍微不同的主题,但是我们可能对图形的版本控制问题的答案感兴趣...

回答

DXF是文本文件标准(类似于XML),但是我认为合并这些类型的文件不是一个特别好的主意。

如果要对2个AutoCAD文件执行Diff操作,则可以通过它们的"句柄"以唯一的十六进制标识符来编程寻址各个对象。位置,旋转,缩放,颜色等是对象的属性。 CAD工程图基本上是一个对象数据库。我不知道有任何产品可以做到这一点。变更跟踪是一个可行的主张,但合并会复杂得多。