急!unity3d模型能unity导出模型三视图吗?

为什么要把地形转成模型呢?在Unity3D中创建地形很方便,用它自带的地形编辑工具,各种跌宕起伏的地形都能很容易的创建出来。但是也有一些不方便的地方,比如创建好的地形不能整体缩放,只能通过修改长宽等参数进行调整。偏偏就有这样的需求,我们要把地形放到虚拟研讨厅的桌子上当做数字沙盘去展示。如果把地形对象的长宽高都缩小的话,高度图也要缩小,地形效果就太不好了。如果地形对象能像模型对象一样,随意的缩放就好了。

终于在网上找到了解决方法,有大神贡献了一个脚本,能够把地形对象转换成模型对象,模型格式为obj,可以直接导入到Unity3D中使用。

这个脚本文件一定要放到工程中Assets文件夹下面的Editor文件夹中(没有的话自己创建)才能正常工作。
完成前两步之后,unity菜单项会多出一个Terrain/Export To Obj...的菜单(4.3以前的版本本来就有Terrain菜单,只是多了个子菜单;4.3版本里面默认没有Terrain菜单了)。

选择场景要转成模型的地形对象。如果什么都没选的话,会使用默认的active terrain。

等待进度条跑完之后就OK了,obj文件就导出成功了。

和地形转模型的方法相反的一个操作,还有模型转地形的方法,类似的也是有脚本完成的,感兴趣可以参考Object2Terrain[2].


Unity 3d导入3dMax模型 会产生若干问题,按照官方 的说明,将max 模型导成fbx文件 导入untiy似乎也不能解决

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

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

模型导入到untiy中,如果你之前在3dmax中没有关心过“单位”问题,则它在场景里的大小一定会出呼你的意料。
所以,如果我们想unity中使用1单位=1米的话,那在max和maya中制作 的时候,单位就设置成1厘米
如果我们想unity中1单位=100M,那单位就设置为1M
如果我们想unity中1单位=1厘米的话,那单位就设置为0.1毫米,或者在单位为1厘米的情况下把比例因子改为1 
在max中,单设置应该像这样

2貼圖放置再同一個資料夾,就會自動導入了
3.比例其實也不用設置,你可以試試在max作一個長、寬、高都是1,1,1,進去就會剛好

我要回帖

更多关于 unity导出模型 的文章

 

随机推荐