Unity3D支持多种外部导入的模型格式,但它并不是对每一种外部模型的属性都支持。具体的支持参数,您可以对照如下列表:
种类 |
网络 |
材质 |
动画 |
骨骼 |
Maya的.mb和.mal格式 |
√ |
√ |
√ |
√ |
3D Studio Max的.maxl格式 |
√ |
√ |
√ |
√ |
Cheetah 3D的.jasl格式 |
√ |
√ |
√ |
√ |
Cinema 4D的.c4dl 2格式 |
√ |
√ |
√ |
√ |
Blender的.blendl格式 |
√ |
√ |
√ |
√ |
Carraral | √ |
√ |
√ |
√ |
COLLADA | √ |
√ |
√ | √ |
Lightwavel | √ |
√ |
√ |
√ |
Autodesk FBX的.dae格式 |
√ |
√ |
√ |
√ |
XSI 5的.xl格式 |
√ | √ |
√ |
√ |
SketchUp Prol | √ |
√ |
||
Wings 3Dl | √ |
√ |
||
3D Studio的.3ds格式 | √ |
|||
Wavefront的.obj格式 |
√ |
|||
Drawing InterchangeFiles的.dxf格式 |
√ |
在下面的实例中,我们利用3D MAX来制作一个完整的动画,并导出FBX的格式给Unity3D使用。
***步:创建新的工程文件。
创建一个名为“Turret”的项目文件夹。然后打开Unity3D软件,选择 ——> ,创建一个新工程项目,在项目路径中点击 找到我们刚才创建的“Turret”文件夹,并点选我们需要导入的包文件,然后点击 来创建一个新的工程文件。需要注意的是,以上步骤千万不能乱,因为Unity3D是无法以非空的文件夹作为工程文件夹来创建项目的。
在此为了节省时间,笔者直接使用刚才创建好的场景来进行示范。
第二步:制作一个炮塔模型。
打开3D MAX软件制作一个炮塔模型,并将制作好的模型保存在“Assets”【资源】文件夹下面。3D MAX中的模型样图如图8.1所示:
图8.1
第三步:将炮塔模型放入场景。
重新来到Unity3D的软件环境中,这时大家已经能在Project【项目文件栏】看到我们刚才用3D MAX导出的模型文件和材质贴图文件了。接着我们在地形场景中找到一个合适的位置,将我们的炮塔拖拽进去。如图8.2所示:
图8.2
但是我们发现,这样似乎太小了一点。在改变外部模型尺寸的时候,有一个技巧,您不必在场景中修改它。儿科一道该模型的属性面板中去修改它的“Scale Factor”大小。如图8.3所示:
图8.3
它的默认值都是0.01,我们在这里将它改为0.1,并在属性面板的最下方找到 按钮,点击它让模型尺寸在Unity3D中得到改变。如图8.4所示:
图8.4
怎么样,我们的炮台是不是雄壮了许多?但是,我们并不赞同这样的模型导入方法。因为根据官方的说法,他们建议您将做好的模型导出成为FBX格式的模型文件 给Unity3D使用。也许这样会使模型在Unity3D中的运行速度得以提高吧。所以说我们还是回到3D MAX的软件环境下面,将模型导出。
第四步:将炮塔模型导出。
在3D MAX中,点击File【文件】——>Export【导出】,将模型文件导出为FBX文件,保存到我们创建的文件夹中的“Assets”【资源】文 件夹下面。注意一下弹出的“FBX Export”面板,这里包含了模型动画、骨骼工具、材质等等一系列的导出设置。如果您没有在模型中添加这些东西,就需要将不必要的复选框勾选掉。
第五步:将炮塔模型再次放置到场景中。
回到Unity3D的软件环境,在Hierarchy【层次清单栏】中选中原先的炮塔模型,按下“Delete”键将其删除。然后在Project【项目 文件栏】中找到刚刚导入的FBX模型,点击选中,用前面修改模型尺寸的方法来修改FBX模型的尺寸。然后将其放置在场景中合适的位置上。于是从3D MAX中导出的模型就顺利的导入到Unity3D的场景中了。