您的位置:首页 > 移动开发 > Unity3D

Unity3d 导入3dMax模型会产生的问题

2013-07-13 23:53 253 查看
Unity3d 导入3dMax模型会产生的问题 , 按照官方的說明,將max模型導成fbx檔導入untiy似乎也不能解決

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  , 這樣我就可以找到所有的身體 , 並把爆炸效果的火焰和身體連接起來

3、模型尺寸比例問題,參考前文所說的設置 , 另外不管是飛機 , 還是坦克 , 尺寸都在10米左右(以這個尺寸爲基準) , 也就是3dmax裏的10格大小

4、模型要在場景中居中 , 否則導入物體質心位置不對

5、起名字可以起這個武器的實際名稱 , 如果不知道的話 , 也可以叫做Tank1 , Tank2這樣 , 但最重要的是貼圖名字和模型名字要相同 , 否則很亂
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: