`
bcyy
  • 浏览: 1823470 次
文章分类
社区版块
存档分类
最新评论

模型导入问题解析【unity3d教程】

 
阅读更多
1、x轴向偏转

3DMax模型导入后自动有一个x轴270度的偏转,巧合的是,在Unity中旋转模型的时候,你会发现y轴参照方向永远朝上,而x和z轴则以模型本身的局部坐标为准,这样当模型沿x轴旋转270度之后,z轴正好与y轴重合,这样你试图用程序控制方向的时候就会发现旋转y和旋转z效果相同,这显然不是你期望的结果。解决这个问题的方法是,将.max文件导出为.3ds文件再导入Unity,而不是官方说的导成.fbx

2、材质问题

模型在3DMax里赋予材质之后,不管通过何种方式导入到Unity中,都是没有材质的,好在Unity自动生成了这些材质的材质球,我们需要做的是将贴图再重新设置一遍,如果你的材质还有其他效果,比如lightmap,则需要选择正确的shader之后再设置贴图。

另外一个是多重材质,多重材质暂时还不知道如何在Unity中显示,所以在制作模型的之后,应该先确定哪些部件应该合在一起,而哪些需要独立,比如,对于一架直升飞机来说,身体和螺旋桨就可以分为两个部件,而不应该把螺旋桨与发动机合并成一个部件,这样程序就无法旋转螺旋桨了。

3、缩放因子问题

模型导入到Unity中,如果你之前在3DMax中没有关心过“单位”问题,则它在场景里的大小一定会出呼你的意料。

Unity中的1单位是fbx文件中的1单位的100倍。所以,如果我们想Unity中使用1单位=1米的话,那在max和maya中制作的时候,单位就设置成1厘米。如果我们想Unity中1单位=100M,那单位就设置为1M。如果我们想Unity中1单位=1厘米的话,那单位就设置为0.1毫米,或者在单位为1厘米的情况下把比例因子改为1。

在Max中,单设置应该像这样:

1Unit = 1厘米,这样在Unity中1格就等3DMax中的1M了。

针对经常出现的问题,将需要注意的点罗列如下:

1、物体的头要朝下。

2、所有游戏中的车辆飞机大致都可以分成两个部分,一个是身体,一个是炮台或螺旋桨,那么身体要有一个统一的名称,都叫做Body,螺旋桨叫做Airscrew,炮台叫做 Barbette ,这样我就可以找到所有的身体,并把爆炸效果的火焰和身体连接起来。

3、模型尺寸比例问题,参考前文所说的设置,另外不管是飞机,还是坦克,尺寸都在10米左右(以这个尺寸为基准),也就是3dmax里的10格大小。

4、模型要在场景中居中,否则导入物体质心位置不对。

5、起名字可以起这个武器的实际名称,如果不知道的话,也可以叫做Tank1,Tank2这样,但最重要的是贴图名字和模型名字要相同,否则很乱。

* 版权声明:转载时请以超链接形式标明文章原始出处和作者信息

* 本文来自:Unity3D教程手册

* 本文链接: http://www.unitymanual.com/5184.html
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics