处理Unity中的autocad对象

时间:2016-05-27 11:58:53

标签: unity3d autocad

我是Unity开发的新手,我在Autocad开发方面有很好的经验。可以使用3d solid&在autocad中创建的3d网格地形并在Unity界面中显示它并获得其属性(例如3D纯色,尺寸,手柄等)。

2 个答案:

答案 0 :(得分:10)

Unity supports .FBX,。dae(Collada),。3DS,.dxf和.obj文件。如果您的Autocad可以导出到其中任何一个,那么答案是。可能在下面阅读。

Autocad,SolidWorks或其他类似软件中生成的对象应直接导入Unity。它对Unity来说太沉重了。如果要使用任何这些软件中的模型,请将它们导出到Maya或Blender等软件,然后清理模型。在导入Unity之前减少多边形计数。

请注意,清理模型需要一些时间。您应该花时间在Maya或Blender中制作新模型。如果您的目标是制作游戏,那么您需要学习 Maya Blender 。 Autocad不用于此。由于您已经在使用Autocad,我建议您使用Maya,因为UI现在看起来很相似。

修改

我在下面看到一个答案,表明在Unity中使用Autocad模型或在Autocad中建模对象是完全正确的。它不仅仅是创建模型。你必须在模型上做一些工作才能使它看起来很好,甚至可以使用Unity的渲染引擎。以下是不使用Autocad为游戏对象建模的原因:

  • 1 .UV map / unwrapping。

在将模型导入游戏引擎之前,您必须打开模型的UV。如果没有这个,很难做纹理,你会遇到问题。更不用说一个最大的问题叫做"纹理接缝"。

  • 2 。纹理模型。

同样,这是在像Maya和Blender这样的程序中完成的,而不是Autocad。

  • 3 。烘焙纹理/地图

使用高详细模型时,大多数时候都需要烘焙地图。当使用复杂材质从Maya中的V-ray或任何渲染器生成材质时,您需要将最终结果烘焙为可能类型的地图,例如颜色,法线,alpha ....这也适用于光烘烤。

  • 4 。地图转移

最初,您为高多边形建模,然后将地图转移到低多边形。您无法使用Autocad执行此操作。这非常重要,因为它减少了游戏中的多边形数量。

上面提到的所有内容在游戏开发方面都非常重要,但Autocad并不是为了解决这些问题。

使用适合该作业的工具。使用Autocad进行工程,使用Maya或Blender进行游戏电影艺术。它就这么简单。

答案 1 :(得分:1)

要从AutoCad导出,请使用OBJ格式或FBX。 Unity“我可以导入哪些文件”页面具有误导性,因为导出的文件格式在每个新年都不同,导出程序的新版本通常与Unity不兼容。不幸的是,Unity开发人员花了几年时间来更新导入过程。

关于优化模型,在Maya中“清理它们”是一个笑话,因为Maya还会根据您使用的格式导出“重型”模型。清理模型有优先权,但AutoCad产品是业内最好的,如果你在CAD程序中清理它们然后在OBJ或FBX中导出,它应该没问题。 Maya也是一款AutoCad产品,我只是说你不必在不同的程序中处理文件。如果您使用OBJ或FBX导出格式,并且如果您的文件主要是CG模型,那么通常可以直接从CAD程序进入Unity。 CAD程序具有清理模型的实用程序,如Sketchup,DAZ3D等程序也是如此。你不需要对面部进行三角测量,通常OBJ会很好用。

导入Unity的最佳选择是尽可能使用OBJ,来自任何源程序。如果您没有动画或“骨头”,大多数模型将维持这一点。如果导出到OBJ并选择NOT三角测量所有面的选项,并且DO包含纹理,那么你应该没问题。如果您的模型包含动画,那么您应该使用FBX格式,这将具有相当高的文件大小成本。

此外,将.obj文件,.mtl文件和纹理文件夹拖放到您想要的Unity Asset文件夹中效果更好(比尝试“导入资产”本机Unity功能更好)。 / p>

请注意,根据导出程序的版本,Unity声称要导入的“我可以导入哪些文件”页面的许多格式无效。例如,DXF文件必须是早期版本,而不是最新版本。像Sketchup和.skp这样的程序只会在2013年之前使用早期版本导入Unity,从Unity 5.6.0f3开始。

通常,如果您意识到这些问题,并且您愿意尝试一些CG模型导出/导入方法,那么您将获得成功。显然,游戏开发者一直在使用Unity,因为他们非常重视引擎以容忍这些不完美之处。