Unity3d教程之导入3dMax模型产生问题的解决办法
更新时间2013-06-29 来源:
本站整理
Unity3d 导入3dMax模型会产生的问题,按照官方的说明,将max模型导成fbx档导入untiy似乎也不行?能解决吗?答案当然是肯定的,接下来小编将分享问题的解决办法。 pc141-ps教程自学网( www.pc141.com)
Unity3d 3.5破解版: http://pan.baidu.com/share/link?shareid=342129&uk=1949277870
Unity3d 4.0破解版: http://pan.baidu.com/share/link?shareid=185355&uk=2316758230
x轴向偏转
3dmax模型导入后自动有一个x轴270度的偏转, 巧合的是,在unity中旋转模型的时候, 你会发现y轴参照方向永远朝上, 而x和z轴则以模型本身的局部座标为准。
这样当模型沿x轴旋转270度之后, z轴正好与y轴重合, 这样你试图用程式控制方向的时候就会发现旋转y和旋转z效果相同, 这显然不是你期望的结果。
解决这个问题的方法是, 将.max文件导出为.3ds档再导入untiy , 而不是官方说的导成.fbx
材质问题
模型在3dmax里赋予材质之后, 不管通过何种方式导入到unity中, 都是没有材质的, 好在untiy自动生成了这些材质的材质球。
需要做的是将贴图再重新设置一遍, 如果你的材质还有其他效果, 比如lightmap , 则需要选择正确的shader之后再设置贴图。
另外一个是多重材质, 多重材质暂时还不知道如何在unity中显示, 所以在制作模型的之后, 应该先确定哪些部件应该合在一起。
而哪些需要独立, 比如, 对于一架直升飞机来说, 身体和螺旋桨就可以分为两个部件, 而不应该把螺旋桨与发动机合并成一个部件, 这样程式就无法旋转螺旋桨了。
缩放因数问题
模型导入到untiy中, 如果你之前在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 。
这样就可以找到所有的身体, 并把爆炸效果的火焰和身体连接起来,Unity3d教程unitymanual.com导入3dMax模型会产生的问题 。
3、模型尺寸比例问题,参考前文所说的设置, 另外不管是飞机, 还是坦克, 尺寸都在10米左右(以这个尺寸为基准) , 也就是3dmax里的10格大小
4、模型要在场景中居中, 否则导入物体质心位置不对
5、起名字可以起这个武器的实际名称, 如果不知道的话, 也可以叫做Tank1 , Tank2这样, 但最重要的是贴图名字和模型名字要相同, 否则很乱。