我是Unity开发的新手,在Autocad开发方面有着丰富的经验。是否可以使用三维实体&在autocad中创建三维网格地形,并将其显示在Unity界面中,还可以获得其属性(如三维纯色、尺寸、手柄等)
Unity支持.FFBX、.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映射/展开
在将模型导入游戏引擎之前,必须先打开模型的UV。如果没有这个,很难进行纹理处理,你会遇到问题。更不用说一个最大的问题叫做"纹理接缝"。
- 2。对模型进行纹理处理
同样,这是在Maya和Blender等程序中完成的,而不是在Autocad中。
- 3.烘焙纹理/贴图
使用高细节模型时,大多数时候都需要烘焙贴图。从V-ray或Maya中任何具有复杂材质的渲染器生成材质时,需要将最终结果烘焙到可能类型的贴图中,如颜色、法线、alpha。。。。这也适用于轻度烘焙。
- 4.地图传输
最初,对高多边形建模,然后将贴图转移到低多边形。使用Autocad无法做到这一点。这是非常重要的,因为它减少了游戏中多边形的数量。
当涉及到游戏开发时,上面提到的一切都非常重要,但Autocad并不是用来处理这些的。
为作业使用正确的工具将Autocad用于工程,将Maya或Blender用于游戏、电影和艺术。就这么简单。
若要从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并选择"不对所有面进行三角化"选项,并且确实包含纹理,则应该没问题。如果模型中包含动画,则应使用FBX格式,因为FBX格式的文件大小成本要高得多。
此外,将.obj文件、.mtl文件和纹理文件夹拖放到所需的Unity Asset文件夹中效果更好(比尝试"导入资产"原生Unity功能更好)。
请注意,Unity在其"我可以导入哪些文件"页面上声称导入的许多格式根据导出程序的版本而无效。例如,DXF文件必须是早期版本,而不是最新版本。Sketchup和.skp等程序只有在使用早期版本的情况下才会导入Unity,最早可以追溯到2013年,此时为Unity 5.6.0f3。
通常,如果你意识到这些问题,并愿意尝试几种CG模型导出/导入的方法,你会发现成功的。显然,游戏开发人员一直在使用Unity,因为他们对引擎的重视足以容忍这种缺陷。