美国Autodesk公司的3DStudioMax(前身是Discreet公司的,后被Autodesk收购)是基于PC系统的三维建模、动画、渲染的制作软件,为用户群最为广泛的3D建模软件之一。常用于建筑模型、工业模型、室内设计等行业。因为其广泛性,它的插件也很多,有些很强大,基本上都能满足一般的3D建模的需求。我们的学生也需要经常用到3DSMax来构建模型。网上关于3DSMax的教程和学习视频非常多,使用者众多。
2.Maya
3.Softimage
Softimage曾经是加拿大Avid公司旗下的专业的3D动画设计软件,后被Autodesk收购。它在影视动画方面,特别是角色功能非常强大。许多电影,比如《泰坦尼克号》、《失落的世界》、《第五元素》等,都曾使用Softimage来制作大量的惊人的视觉效果。
4.LightWave
5.Rhino(犀牛)
Rhino是美国RobertMcNeel公司开发的专业3D造型软件,它对机器配置要求很低,安装文件才几十兆,但“麻雀虽小,五脏俱全”,其设计和创建3D模型的能力是非常强大的,特别是在创建NURBS曲线曲面方面功能强大,也得到很多建模专业人士的喜爱。在与上海造船厂研究所的合作项目中,我们用Rhino来进行船体曲面的NURBS建模和修改,非常方便灵活。
6.Cinema4D
Cinema4D(C4D)是德国Maxon公司的3D创作软件,在苹果机上用得比较多,特别是在欧美日为最受欢迎的三维动画制作工具。2009-2010年我在美国哈佛大学访问期间,经常看到学生用C4D在进行3D建模和动画的设计。
7.Creator
MultiGen-Paradigm公司开发的Creator是专门创建用于大型3D虚拟仿真的实时三维模型的软件。其强大之处在于管理3D模型数据的数据库,使得输入、结构化、修改、创建原型和优化模型数据库非常容易。前几年与一家从事数字城市的公司合作时我们就用Creator快速创建大量的城市建筑模型,并且生成数据库来管理这些模型,还是相当的方便。
注:从上述介绍可知,美国Autodesk公司当之无愧是当今3D建模和动画的“老大”,拥有3DSMax、Maya和Softimage等3D建模和动画专业软件。3DSMax和Maya在3D建模方面各有特色,前者更为大众化些,相对容易掌握些,后者在专业级的行业应用更为广泛,特别在制作动画和高质量渲染方面强于前者。我们的学生用Maya的相对多些,包括建模,渲染和动画制作。Softimage和LightWave在3D动画方面表现强大。Rhino对NURBS曲面的支持更好。Creator适合于构建大量的3D模型并构建数据库进行管理和修改。
二、CAD建模和产品设计软件
1.AutoCAD
AutoCAD(AutoComputer-AidedDesign)是美国Autodesk公司出品的自动计算机辅助设计(CAD)软件,用于二维绘图、文档规划和三维设计。适用于制作平面布置图、地材图、水电图、节点图及大样图等。广泛应用于土木建筑、装饰装潢、城市规划、园林设计、电子电路、机械设计、航空航天、轻工化工等诸多领域。大家买房时看的房型图大部分都是用AutoCAD来做的。
2.CATIA
Catia由法国DassaultSystems公司开发的CAD/CAE/CAM一体化的三维软件,支持产品开发的整个过程,从概念(CAID),到设计(CAD),到分析(CAE),到制造(CAM)的完整流程。可帮助制造厂商设计未来的产品,并支持从项目前阶段、具体的设计、分析、模拟、组装到维护在内的全部工业设计流程,在机械行业,航空航天、汽车工业、造船工业等应用广泛。其实体造型和曲面设计的功能非常强大。我读博期间曾接触过Catia,在它上面写过一个NURBS曲面转换的插件程序。
3.SolidWorks
SolidWorks是世界上第一个基于Windows开发的三维CAD系统,后被法国DassaultSystems公司(开发Catia的公司)所收购。相对于其他同类产品,SolidWorks操作简单方便、易学易用,国内外的很多教育机构(大学)都把SolidWorks列为制造专业的必修课。SolidWorks在杭州有专门的研发机构,我有个学生硕士毕业后在那里进行研发工作。
4.UGNX
UGNX由美国UnigraphicsSolutions(UGS)公司开发的CAD/CAE/CAM一体化的三维软件,后被德国西门子公司收购。广泛用于通用机械,航空航天、汽车工业、医疗器械等领域。现在西门子公司在上海有专门的研发机构对UGNX产品进行升级完善,我有2个学生博士毕业后在那里负责产品的开发和维护。
5.Pro/E
Pro/Engineer是美国PTC公司(ParametricTechnologyCorporation)旗下的CAD/CAM/CAE一体化的三维软件。在参数化设计,基于特征的建模方法具有独特的功能,在模具设计与制造方面功能强大,机械行业用的比较多。
三、3D雕刻建模软件:笔刷式高精度建模软件
3D雕刻建模软件(Sculpturingmodeling),也称为笔刷式高精度建模软件,顾名思义,就是像艺术家那样用不同的“笔刷”工具在模型表面上进行“雕刻”的自由创作。建模过程就像玩橡皮泥一样,利用拉,捏,推,扭等操作来对几何进行编辑,生成任意的高度复杂和丰富的几何细节(如怪兽的复杂表面细节)。这些工具的出现颠覆了过去传统三维设计工具的工作模式,解放了艺术家们的双手和思维,告别过去那种依靠鼠标和参数来笨拙创作的模式,完全尊重设计师的创作灵感和传统工作习惯。
1.ZBrush
美国Pixologic公司开发的ZBrush软件是世界上第一个让艺术家感到无约束自由创作的3D设计工具。ZBrush能够雕刻高达10亿多边形的模型,所以说限制只取决于的艺术家自身的想象力。
2.MudBox
MudBox是Autodesk公司的3D雕刻建模软件,它和ZBrush相比各有千秋。在某些人看来,MudBox的功能甚至超过了ZBrush,可谓ZBrush的超级杀手。
3.MeshMixer
最近,Autodesk公司又开发出一款笔刷式3D建模工具MeshMixer,它能让用户通过笔刷式的交互来融合现有的模型来创建3D模型(似乎是类似与Poisson融合或Laplacian融合的技术),比如类似“牛头马面”的混合3D模型。
4.其他
其他还有一些同类的3D雕刻建模软件,比如3DCoat,Sculptris,Modo等。这里就不再详细介绍了。
注2:虽然这些笔刷式建模工具上手容易,给了用户便利的方式进行3D细节建模,但是,要想真正构建一个细节复杂和逼真的3D模型还是不容易的,除了用户需要熟练掌握软件的各种工具及雕刻技巧外,还需要用户具有较好的艺术和绘画功底。
四、基于草图的3D建模软件
虽然在科研上提出了很多基于草图的3D建模技术,但是至今仍未能有比较成熟的商业化的软件出现,可能是因为要理解不同用户的划线和草图还是一件比较困难的事情。对于一些比较规则的物体,比如建筑、家具等人造物体,这种方式相对可行些,比如Google的SketchUp(在国内我们也称为“草图大师”)。SketchUp是一套面向普通用户的易于使用的3D建模软件。使用SketchUp,创建3D模型就像我们使用铅笔在图纸上作图一般,软件能自动识别你画的这些线条,加以自动捕捉。它的建模流程简单明了,就是画线成面,而后拉伸成体,这也是建筑或室内场景建模最常用的方法。SketchUp还可以将你自己的制作成果发布到GoogleEarth上和其他人共享,或者是提交到Google的3DWarehouse(Google的3D模型库)。当然你也能从Warehouse那儿得到想要的素材,以此作为创作的基础。很有趣的是,在2012年Google公司的SketchUp被美国Trimble公司收购了。去年出了个TrimbleSketchUp2013,网评似乎不太好。不知其是否能继续免费。
另外,值得一提的是,基于草图的交互方式在现在正在兴起的Web3D建模领域会有新的广阔空间。Web3D建模在稍后会介绍。
五、基于照片的3D建模软件
从物体的照片来进行3D模型的构建,是计算机图形学和计算机视觉的一大研究方向,称为基于图像的几何建模(Imagebasedmodeling)。这种技术已逐渐成熟且走向实用阶段,最近有些软件能够让用户拿着普通相机或者手机对着要建模的实物从不同视角拍摄若干照片,然后软件就能根据这些照片自动地生成相应的3D模型。这种基于图片的建模技术提供给了非专业建模人士来构建3D模型的工具。
1.Autodesk123D
Autodesk公司最近发布了一套平民级的建模软件Autodesk123D,用户不需复杂的专业知识,只要为物体从不同的视角拍摄几张照片,该软件就能自动地为其生成3D模型,而且软件是完全免费的。
(1)Autodesk123D是一款免费的3DCAD工具,用户可以使用一些简单的图形来设计、创建、编辑三维模型,或者在一个已有的模型上进行修改。
(3)Autodesk123DMake是将3D模型转换为2D的切割图案,用户可利用硬纸板、木料、金属或塑料等低成本材料将这些图案迅速拼装成实物,从而再现原来的数字化模型。这让用户能够“制造”出所造的3D模型,有点像3D打印的雏形。目前123DMake只有Mac版的。
(4)Autodesk123DSculpt是一款运行在iPad上的3D雕刻软件(前面已介绍过),通过绘画的方式在模型上雕刻几何细节。
2.3DSOMPro
3DSOMPro是一款从高质量的照片来生成3D建模的软件,它可以通过一个真实物体的照片来进行3D建模,并且制作的模型可以在网络上以交互的方式呈现。
3.PhotoSynth
六、其他3D建模软件
1.人体建模软件
关于构建人体模型及动画,首推Metacreations公司的Poser软件(俗称“人物造型大师”)和开源的MakeHuman软件。这两款软件都是基于大量人类学形态特征数据,可以快速形成不同年龄段的男女脸部及肢体模型,并对局部体形进行调整。可以轻松快捷地设计人体造型、动作和动画。我读博期间用过Poser构建人体模型来做morphing,还是蛮方便的。
2.城市建模软件
3.其他小巧的3D建模软件
4.网页3D(Web3D)建模工具
七、虚拟现实软件和平台
1.VirTools和Quest3D
法国VirTools公司的VirTools和美国Act-3D公司的Quest3D都是元老级的虚拟现实制作软件,简单来说,就是工业或游戏用的实时图形渲染引擎,是3D虚拟和互动技术的集成工具。可以让没有程序基础的美术人员利用内置的行为模块快速制作出许多不同用途的3D产品,如网际网络、计算机游戏、多媒体、建筑设计、交互式电视、教育训练、仿真与产品展示等。网上的学习资料比较多。
2.Unity3D(U3D)
UnityTechnologies开发的Unity3D(U3D)是最近几年冒出来的新秀,是一个全面整合的专业虚拟3D和游戏引擎。它在制作虚拟现实及3D游戏方面上手非常容易,操作简单,互动性好,有强大的地形渲染器。我们的学生使用U3D可以很快地制作一个3D游戏,因此也强烈推荐大家学习使用。
3.Vega
Vega是MultiGen-Paradigm公司开发的用于实时视觉模拟和虚拟现实应用的开发引擎,提供很多的C/C++语言的应用程序接口API,结合其应用程序的图形用户GUI界面软件LynX,可以迅速创建各种实时交互的3D环境。对于开发3D游戏和3D场景漫游的项目非常方便。
4.OSG(OpenSceneGraph)
OSG(OpenSceneGraph)是一套开源的基于C++平台的应用程序接口API,能够让开发者快速、便捷地创建高性能、跨平台的交互式图形程序。它将3D场景定义为空间中一系列连续的对象,能够对3D场景进行有效的管理。由于OSG是开源和完全免费的,很多3D应用的软件都选用OSG作为基础架构。几年前,我们与一个公司合作开发的义齿软件就选用OSG作为管理3D数据的框架,使得开发非常方便。
5.其他
其他的一些用于3D应用程序开发的软件开发包(SDK)或API还有GLUT(OpenGLUtilityToolkit),OpenGLPerformer,CG2VTree,Quamtum3DMantis等。有兴趣的读者也可以去了解一下。
注:相比于十年前,由于有了上述开发平台和开发包,现在开发一个看起来还比较cool的3D应用程序或游戏不是那么困难,随着技术的不断发展和3D应用不断渗入到各行各业,相信以后会更加方便。
八、开源3D网格处理库
MeshLab是一个开源的处理三角形网格的C++处理框架,提供了三角网格的数据结构和算法,诸如曲面重建、编辑、修复、光顺、编辑等算法。MeshLab并没有集成太多独特的算法,但是作为一个三维网格数据的显示工具和框架已被学术界广泛使用,并作为科研的必备程序库之一。
Libigl是由瑞士Ethz大学的OlgaSorkine研究小组开发的C++网格处理库,使用说明文档比较齐全,很容易上手使用。它具有较好的构造稀疏离散微分算子和有限元稀疏方程组等功能。有很多研究人员对其有贡献,包括:AlecJacobson,DanielePanozzo,ChristianSchüller,OlgaDiamanti,QingnanZhou,NicoPietroni,StefanBruggerr,KenshiTakayama,WenzelJakob,NikolasDeGiorgis,LuigiRocca,LeonardoSacht,OlgaSorkine-Hornung。
OpenMesh是由德国RWTHAachen大学的LeifKobbelt研究小组开发的C++网格处理库。OpenFlipper是基于OpenMesh基础上架构的网格处理框架。使用非常广泛。
MeshProcessingLibrary是由微软研究院的HughesHoppe博士在早年(1992-1998)从事几何处理工作过程中所写可系列算法库,包括曲面重建、简化、网格优化、渐进网格、LOD等算法。早年有很多人使用。
CGAL功能非常强大,是我们学生做科研的必备程序库之一。但需要较强的C++代码掌控能力,特别是基于C++Template的开发。
9.一些优秀的几何处理的算法库
9.5平面三角化
9.6空间四面体化
SuiteSparse是一个特别针对稀疏线性方程组求解的C++代码库,对Cholesky,LU矩阵分解等做了特别的优化,效率会比Eigen高。
9.9最近邻搜索库ANN
ANN(ALibraryforApproximateNearestNeighborSearching)是一个优秀的查找最近邻的代码库,简单实用,在几何与图像处理中经常使用。
注:这里列出了几个主要的网格处理的C++代码库,我们的学生在学习和科研的过程中会经常用到它们。当然,网上还有其他的各种算法库,对我们的科研和开发都是非常有用,我们有时也会用到,这里就不再详述。
九、基于扫描(逆向设计)的3D建模软件
1.Geomagic
Geomagic(俗称“杰魔”)包括系列软件GeomagicStudio、GeomagicQualify和GeomagicPiano。其中GeomagicStudio是被广泛使用的逆向工程软件,具有下述所有特点:确保完美无缺的多边形和NURBS模型处理复杂形状或自由曲面形状时,生产效率比传统CAD软件提高数倍;可与主要的三维扫描设备和CAD/CAM软件进行集成;能够作为一个独立的应用程序运用于快速制造,或者作为对CAD软件的补充。是我们学生科研的必备软件之一。
2.RapidForm
3.ReconstructMe
ProFactor公司开发的ReconstructMe是一个功能强大且易于使用的三维重建软件,能够使用微软的Kinect或华硕的Xtion进行实时3D场景扫描(核心算法是KinectFusion),几分钟就可以完成一张全彩3D场景。我们尝试过,效果还可以。ReconstructMeQt提供了一个实时三维重建利用ReconstructMeSDK(开源)的图形用户界面。
注:法国ManCTL公司开发的Skanect为Mac平台的第一款3D扫描软件,也支持者华硕的Xtion或者微软的Kinect进行实时3D扫描。
4.ArtecStudio
Artec公司出品的ArtecEva,ArtecSpider等手持式的结构光3D扫描仪,重量轻且易于使用,成为许多3D体验馆扫描物体的首选产品。我试用过ArtecEva后感觉还是需要较多的技巧才能扫描好物体,而且后期需要用软件进行较多的处理,比如数据的去噪、修复、光滑、补洞等。
同时,Artec公司还开发了一款软件ArtecStudio,可以和微软的Kinect或华硕的Xtion以及其他厂商的体感周边外设配合使用,使其成为三维扫描仪。Kinect通过ArtecStudio可以完成模型扫描,然后进行后期处理,填补漏洞、清理数据、进行测量、导出数据等。不确定它是否也使用了KinectFusion算法。
5.PolyWorks
PolyWorks是加拿大InnovMetric公司开发的点云处理软件,提供工程和制造业3D测量解决方案,包含点云扫描、尺寸分析与比较、CAD和逆向工程等功能。
注3:在测绘和地理信息等领域,由于数字城市和智慧城市的发展,再加上摄影测量的快速发展,近年来遥感测量和航拍测量得到快速发展并广泛应用,特别地,倾斜摄影在近年来发展迅速,在城市级的3D建模方面发挥重要的作用,也是城市级数据采集和建模的重要工具。
十、后记
1.3D模型数据浏览与转换软件
上面介绍的大部分的软件或库都支持查看不同格式的3D模型数据。如果仅仅是浏览或查看现有的3D模型数据,我个人推荐3DExploration软件(相当于查看图像的ACDSee软件),它是一个专门用来查看各种格式的3D模型文件,包括3DS数据(*.3ds,*.prj,*.asc)、LightWaveObjects(*.lwo,*.lw)、DirectX(*.x)、AutoCAD(*.dxf)、ObjectFileFormat(*.off)、Wavefront(*.obj)等,还可以用鼠标交互从不同视角来查看。而且还能查看各种图像文件,包括bmp、rle、dib、gif、jpg、png、tif、tga、pcx等。当然也能查看带纹理的3D模型。3DExploration是我的机器必装软件之一,强烈推荐。另一个我推荐的同类软件是DeepExploration,它除了可以浏览3D数据外,还可以转换数据格式(最新版本还支持Sketchup文件),同时它还可以对你的模型进行编辑及添加注释制作动画等,我也强烈推荐。
注:现在有很多3D数据格式,几乎每个3D建模软件都会定义自己的数据格式。几种比较公认的3D数据格式有VRML、obj、off、stl(用于3D打印的数据格式)等。现在有些组织在力推3D数据的标准。相信随着3D技术的发展,这些格式都将越来越标准化和统一化。对各种数据格式需要更多了解的,可以到网上找找,比如:
2.3D模型渲染软件
本文介绍的各种3D建模软件一般都能渲染3D模型,但要得到更为逼真的真实感渲染效果,还可以使用专门的3D模型渲染软件,比如PixarRenderman、POV-Ray、V-Ray、MentalRay、Final-Render等,这里就不详细介绍。一般我们使用Maya进行渲染放在论文中,已经足够漂亮了,读者可以在我们的许多论文中看到利用Maya渲染的结果图。
4.学习使用3D建模软件
5.3D时代的来临
我们再来看一下这几年的一些巨头科技公司的变化,2011年微软公司的Kinect让人们获取3D数据的硬件代价降低了许多,2012年3D打印的兴起造就了两家上市公司Stratasys和3DSystems,2013年苹果公司收购了Kinect的核心技术公司PrimeSense,谷歌公司收购了大名鼎鼎的机器人公司BostonDynamics,这些都说明,越来越多的高科技企业在快速发展3D科技,3D时代已经来临!
随着人们对3D技术有了越来越多的需求,本文所介绍的3D建模工具将会发挥出更为巨大的价值。随着科学和技术的发展,云计算与物联网的进一步发展,将会出现越来越便利的3D建模工具,比如Autodesk123D正在将3D技术从专业变成非专业,人们接触3D技术的门槛将越来越低,创造的3D模型越来越丰富。我坚信,日后3D技术将“飞入寻常百姓家”,会越来越平民化,且成为人们生活中重要的一部分。
当然,当前人们对3D技术的了解还远远不够,大部分的人对3D技术仍然很陌生。另一个我个人看好的市场就是3D教育与培训,普及3D技术与培养3D技术人才已时不我待。
我们很庆幸成为3D科技新时代的弄潮儿,有很多的机会和挑战在等待着我们!让我们一起努力!J