分类:Unity、C#、VS2015 模块化
建立日期:2016-04-05 动画
因为游戏引擎自己的建模功能相对较弱,不管是专业性仍是自由度都没法同专业的三维软件相比,因此大多数游戏中的模型、动画等资源都是经过专业的三维软件来制做的,制做完成后再将其导入到Unity中使用就好了。 操作系统
Unity支持几乎全部主流的三维文件格式,例如.FBX、.dae、3Ds、.dxf、.obj等。其中,最经常使用的三维建模软件有:3Ds Max、Blender、Maya、……等。 插件
用户在3Ds Max、Blender或Maya中导出文件到Unity工程的资源文件夹下之后,Unity会自动更新这些资源,而后就能够在工程中使用了。 设计
一、3ds Max 3d
Autodesk3D studio Max(简称3ds Max或MAX)是Autodesk公司开发的基于PC系统的三维动画渲染和制做软件。3ds Max被普遍应用于广告、影视、工业没计、建筑设计、三维动画、多媒体制做、游戏、辅助教学及工裎可视化等领域。 视频
3ds Max 2015(16.9商业版)的文件扩展名为“.max”,可利用该软件提供的fbx导出插件直接导出.fbx格式的文件(安装时已经自动包含该插件)。 对象
经过此软件导出的.fbx文件导入到Unity后,网格(Meshes)、纹理(Textures)、动画(Animations)、骨骼(Bones)都支持。 blog
二、Maya 游戏
Autodesk Maya是美国Autodesk公司出品的三维软件,应用领域是专业的影视广告、角色动画、电影特技等。Maya可以提供良好的3D建模、动画、特效及渲染功能,是电影级别的高端三维制做软件。Maya可在Windows、Mac os等操做系统上运行。
经过此软件导出的.fbx文件导入到Unity后,网格(Meshes)、纹理(Textures)、动画(Animations)、骨骼(Bones)都支持。
三、Blender
Blender是—个开源的、跨平台的全能三维软件,提供从建模、动画、材质、渲染到音频处理、视频剪辑等一系列动画短片制做的解决方案。Blender以Python为内建脚本,支持Yafaray渲染器,同时还内置游戏引擎,拥有极丰富的功能。
经过此软件导出的.fbx文件导入到Unity后,网格(Meshes)、纹理(Textures)、动画(Animations)、骨骼(Bones)都支持。
四、Cinema 4D
Cinema 4D是—套由德国Maxon Computer公司开发的三维软件,以极高的运算速度和强大的渲染插件而著称。Cinema 4D应用普遍,在广告、电影、工业设计等方面都有出色的表现。它正成为许多—流艺术家和电影公司的首选。
经过此软件导出的.fbx文件导入到Unity后,网格(Meshes)、纹理(Textures)、动画(Animations)、骨骼(Bones)都支持。
五、LightWave
LightWave是由美国NewTek公司开发的一款高性价比的三维动画制做软件,在生物建模和角色动画方面功能异常强大。基于光线跟踪、光能传递等技术的渲染模块,令它的渲染品质几尽完美。LightWave的11.5版(或更高)已经成为一款功能很是强大的三维动画软件,并支持大多数操做系统,并且在各个操做系统上都有一致的操做界面。
经过此软件导出的.fbx文件导入到Unity后,网格(Meshes)、纹理(Textures)、动画(Animations)、骨骼(Bones)都支持。
导入用其余软件制做的三维模型时,Unity会将其表示为许多不一样对象,包括游戏对象 (GameObject)、网格(能够根据导入选项蒙皮)、动画片断 (AnimationClip) 等。在Project下的文件夹中,主导入对象为模型预设 (Model Prefab)。
对于网格(Mesh)来讲,必须使用网格过滤器 (Mesh Filter) 组件将导入的网格附加到游戏对象 (GameObject) 上。另外,要使网格可见,游戏对象 (GameObject) 还必须附加网格渲染器(Mesh Renderer) 或其余渲染组件。有了这些组件,网格就能够在游戏对象 (GameObject) 位置处可见,其确切外观取决于渲染器使用的材质。
网格筛选器 (Mesh Filter) 与网格渲染器 (Mesh Renderer) 相结合使模型出如今屏幕上。
Unity的网格导入程序提供了许多选项,用于控制网格生成并将其与其纹理和材质相关联。
一、将模型导出为.fbx或者.obj格式
这种方式先用某种三维软件导出三维文件,好比导出为.FBX文件或者.OBJ文件,而后再将导出的三维文件导入到Unity中。
这是建议的方式。
优点:
劣势:
这种方式直接导入三维应用文件到Unity中,好比直接导入用3DS Max制做的.max文件,或者直接导入用Blender制做的.Blend文件。
通常不采用这种方式。
优点:
劣势:
三、缩放因子(Scale Factor)和文件缩放比例(File Scale)
Unity的默认度量单位为“米”,将其余专业三维软件制做的模型导入到Unity 5.3.4中时,若是但愿模型和原来的大小相同,须要设置缩放因子,其默认的比例关系以下:
导入3ds Max时,缩放因子应设置为0.01
导入Lightwave时,缩放因子应设置为0.01
导入Maya时,缩放因子应设置为100
导入Cinema4D时,缩放因子应设置为100
若是是导入的文件,Unit会再提供一个文件缩放比例,这个比例实际上就是缩放系数。
下面经过例子说明具体步骤。
下面以3ds Max 2015(16.9商业版)为例,说明用专业三维软件建立模型的基本办法,以及将建立的模型导入到Unity中的基本操做步骤。
一、先解决3ds Max 2015显示驱动程序的问题
不知道什么缘由,3ds Max 2015推荐的显示驱动程序(Direct3D 11.0)在本人的计算机上没法正常显示模型,只能显示线框。为了解决这个问题,须要先更改一下显示驱动程序。具体办法为:运行3ds Max 2015,选择主菜单的【自定义】->【首选项】,在弹出的窗口中,将【显示驱动程序】改成“Direct3D 9.0”,以下图所示:
修改之后,从新启动3ds Max 2015,就能够正常显示模型或线框了(F3切换)。
二、设置度量单位
因为3ds Max 2015导出的.fbx模型导入到Unity中时默认的缩放因子为0.01,为了让建立的模型导入到Unity后看到的大小一致,可将3ds Max 2015的【系统单位】和【显示单位】都设置为“厘米”。下面是具体操做办法。
启动3ds Max 2015,【自定义】->【单位设置】,以下面的左侧图所示。在下面右侧的弹出界面中,将【显示单位比例】设置为“厘米”:
单击上图右侧的【系统单位设置】按钮,在下面的弹出界面中,将【系统单位比例】也设置为“厘米”:
依次单击【肯定】按钮,完成单位设置。
三、建立立方体
建立—个长宽高都为100cm的立方体,并将其位置移动到坐标原点。以下图所示:
四、将模型导出为.fbx格式
选中建立的立方体,而后选择【导出】->【导出选定对象】,将该模型导出到文件名为Box001.fbx的文件中。以下图所示。
记住导出的文件位置,以备下一步使用。
还有一种更简便的办法,就是直接将模型导入到Unity工程的某个文件夹下,这样就能够在Unity工程中直接双击该模型打开3ds Max 2015并编辑该模型,编辑后Unity会自动更新,不须要再复制了。
为了演示如何导入现有的模型,本节的例子并无将模型直接保存到Unity工程下(下一节的例子再介绍这种办法)。
五、导入模型到Unity
运行Unity,打开ch03Demos工程,而后将从3ds Max 2015导出的Box001.fbx文件(若是有其余文件和文件夹,要一块导入)拖放到工程视图Assets文件夹下的Models文件夹下:
观察检视器,可看到该模型的【File Scale】为0.01,而【Scale Factor】为1:
六、使用导入的模型
将Box001.fbx拖放到层次视图中,并调整其位置,以下图所示:
七、贴图
将Texture文件夹下的砖块纹理拖放到层次视图的Box001上,就能在场景中看到该模型贴图后的效果了:
经过这个例子,咱们就理解了从用3ds Max 2015建立模型到在Unity中导入并使用这些模型的基本操做步骤,之后既能够本身去建立模型,也能够直接导入别人建立好的各类复杂模型了。