【Unity】3.4 将现有的3ds Max模型导入到Unity
分类:Unity、C#、VS2015
创建日期:2016-04-05
一、简介
这一节我们用一个带有“装子弹和上膛”动画的“枪”模型,介绍在3ds Max 2015中编辑它并将其导入到Unity中的过程。
本节示例介绍的gun模型可在《Unity 4.x从入门到精通》附带的资源中找到,自己从网上搜索吧。
二、导出gun.max模型为FBX格式
1、在3ds Max 2015中打开gun.max
在3ds Max 2015中打开gun.max文件:

单击【播放动画】观察子弹上膛的过程:
单击上图最左侧的【转至开头】按钮-回到第0帧位置,按M键弹出材质编辑器,可看到该物体材质名称为gun,材质类型为【标准】材质,在漫反射贴图通道上以及凹凸贴图通道上都已经指定了对应的贴图:
注意:Unity支持的3ds Max材质球类型包括:standard(标准材质),Multi/sub-object(多维子材质),需要注意每个子材质必须是标准材质。另外,材质的名称要尽量与模型的名称对应,建议都采用英文字符命名。
2、将gun.max导出为FBX格式
确认动画、材质无误后,接下来进行资源导出。单击左上角的按钮,选择【导出】:

在弹出的对话框中,选择保存类型为Autodesk(*.FBX),将其保存到ch03Demos工程的Assets文件夹下。
再次说明一下,虽然FBX文件导出时存放的路径可以自由指定,但是,如果将其直接导出到Unity工程的Assets文件夹下,打开Unity工程时它就会自动刷新Assets文件夹中的资源。这样就不需要再手动将资源导入Unity了,用起来非常方便。
单击【保存】按钮,然后在接下来弹出的对话框中,勾选【Animation】下的复选框,以及【Bake Animation】下的复选框:
取消勾选的【Camera】和【Lights】选项,不导入相机和灯光。另外,勾选【Embed Media】,以便将嵌入的资源一并导出:
展开观察下面的选项,可看出导出时Y轴是朝上的,导出的FBX版本:

单击【OK】按钮完成导出过程。
关闭3ds Max 2015。
三、在Unity中观察gun.fbx模型
运行Unity 5.3.4f1(64-bit),打开ch03Demos工程,观察3ds Max 2015导出的结果。
刚打开ch03Demos工程时,由于刚才导出的模型带有法线贴图,所以会弹出下面的【NormalMap Settings】对话框:
单击【Fix now】,然后就可以在Assets下看到导入的模型了:
1、观察导入的模型属性
检视器中各属性的含义如下:
(1)Meshes
网格。
Scale Factor:缩放系数。如果导入的模型大小不一样,可通过它调整缩放系数。
Mesh Compression:网格压缩。共有4个选项,off沩不压缩,Low、Medium、High依次代表增大压缩值,压缩值越大则网格体的文件越小,但有可能导致网格出现错误。要依据实际情况进行调节。
Read/Write Enab!ed:读/写启用。勾选该项后网格可被实时读写,默认为勾选。
Optimize Mesh:优化网格。勾选该项后会优化网格,以加快Unity渲染的效率。
Cenerate Colliders:生成碰撞体。勾选该项会为导入的物体生成碰撞体。
SwapUVs:交换UV。如果光照贴图识别了错误的UV通道,勾选这个选项,可以交换第一、第二UV通道。
Cenerate Lightmap:生成光照贴图UV通道。勾选此选项将生产光照贴图所用的第二UV通道,并会弹出Advanced Options高级选项,参数如下:
- Hard Angle:硬边角度。该选项用来控制相邻三角面夹角的阈值,可根据网格的形状去调节,设置哪些边将作为硬边和接缝处理。如果设置这个值为180°,那么所有的边角将都被圆滑,默认值为88(88°)。
- Pack Margh:紧缩间隔。这个选项控制UV坐标簇的间隔,会尽量减少UV坐标簇的间隔,从而最大限度利用生成光照贴图资源,默认值为4。
- Ang!e Error:角度误差。网格面片夹角可能影晌的最大UV角度误差,用来控制基于原始网格影晌UV坐标簇相似程度的百分比(值越大相似三角面越多)。设置一个较小的数值可以避免烘培光照贴图时产生问题,默认设置为8(8%)。
- Area Error:面枳误差。网格面枳可能影晌的最大UV面枳误差,用来控制基于原始网格相对UV坐标簇面积相似程度的百分比,将此值没置—个较大的数值可以得到更完整的UV坐标簇,默认没置15(15%)。
(2)Normas & Tangents
法线和切线。
Normas:法线。定义网格的法线,有3个项可供选择:
Import:导入。该项为默认选项,从模型文件中导入法线。
Cakulate:计算。依照smoothing angle计算法线,选择后会激活Smooting angle滑竿,可依据网格面之间的夹角阈值来计算法线,真值可在0~18度之间调整,默认值为60度。
None:无。如果模型既不需要法线贴图映射,也不需要实时光照影晌,则选择该选项。
Tangens:切线。定义如何计算切线,当网格上面赋予法线贴图时调节该项才会起做用(针对法线贴图),有3个选项:
- Import:导入。依据在三维软件中设置的方式计算切线和副法线,可理解为依据在三维软件中的没置来决定是否计算法线贴图。只有文件是.FBX、.dae、.3Ds、.dxf、.obj等格式时,并旦法线贴图已从文件中导入后,这个选项才可用。
- Calculate:计算。默认选项,计算切线和副法线,可理解为计算法线贴图。只有当法线贴图已导入并计算后,这个选项才可用。
- None:无。关闭切线和副法线,可理解为不计算法线贴图。网格将不具有切线,因此将不支持法线贴图着色器。
Smoothing Angle:平滑角度。没置网格面片的夹角阈值,作用于调节法线贴图切线。
Split Tangents:分割切线。如果模型因法线贴图出现接缝,激活这个选项可以修复接缝问题。
(3)Material
材质。
Import Naming:导入材质。勾选该项,系统将用默认的漫反射材质取代FBX导入时的材质。
Material Naming:材质命名。决定Unity材质的命名方式。有3个选项:
- By Base Texture Name:依照基础贴图名称。以导入材质中的漫反射贴图名称作为物体材质的名称(如果导入的材质中不含漫反射贴图,Unity将用导入的材质名称来命名)。
- From Model's Material:来自模型的材质名称。以导入模型的名称作为物体材质的名称。
- Mode name + Model's Material:模型名+模型材质名。以导入模型的名称加上导入的材质名称作为物体材质的名祢。
- Material Search:材质搜索。决定Unity如何根据Material Naming选项,搜索定位相应的材质。有3个选项:
- Local Material Folder:局部材质文件夹。仅在和模型文件处于同—个文件夹下的子文件夹中搜索。
- Recursive-Up:向上。Unity将依次向上搜索Assets文件夹中所有的材质子文件夹。
- Project-Wide:项目范围。Unity将在整个Assets文件夹中搜索材质。
2、将模型拖放到场景中
将模型拖放到场景或层次视图中,再缩放旋转一下,就可以得到下面的效果:

按 <Ctrl>+S 保存场景。
【Unity】3.4 将现有的3ds Max模型导入到Unity的更多相关文章
- [iTyran原创]iPhone中OpenGL ES显示3DS MAX模型之二:lib3ds加载模型
[iTyran原创]iPhone中OpenGL ES显示3DS MAX模型之二:lib3ds加载模型 作者:u0u0 - iTyran 在上一节中,我们分析了OBJ格式.OBJ格式优点是文本形式,可读 ...
- [iTyran原创]iPhone中OpenGL ES显示3DS MAX模型之一:OBJ格式分析
[iTyran原创]iPhone中OpenGL ES显示3DS MAX模型之一:OBJ文件格式分析作者:yuezang - iTyran 在iOS的3D开发中常常需要导入通过3DS MAX之类 ...
- Blender模型导入进Unity,旋转缩放的调整
Blender跟Unity的XYZ轴不同的原因,导致Blender模型导入Unity之后会发生模型朝向不对. 请先看看下边这个情况: 首先,Blender物体模式下,对模型进行 旋转 缩放,将会在右边 ...
- 3D max模型导入unity 3D中注意事项
一.单位,比例统一 在建模型前先设置好单位,在同一场景中会用到的模型的单位设置必须一样,模型与模型之间的比例要正确,和程序的导入单位一致,即便到程序需要缩放也可以统一调整缩放比例.统一单位为米. ...
- Unity3d / 3ds max 模型分享站点
http://www.cgrealm.org/model/ 王国3D模型库 http://www.cgjoy.com/ 游戏特效论坛
- 【Unity】3.3 用3ds Max 2015制作模型并将其导入到Unity
分类:Unity.C#.VS2015 创建日期:2016-04-05 一.常用三维软件简介 由于游戏引擎本身的建模功能相对较弱,无论是专业性还是自由度都无法同专业的三维软件相比,所以大多数游戏中的模型 ...
- (转)Unity与3ds Max的单位关系(使用FBX文件)
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/a1780531/article/deta ...
- 【Unity原神AR开发实战 2022】下载原神模型,PMX转FBX,导入到Unity,AR设置,测试应用程序,生成应用程序
文章目录 一.前言 二.模型下载 1.官网下载 2.模之屋官方下载 3.第三方链接 三.pmx转fbx 1.Blender插件CATS的下载与安装 2.pmx模型的导入 四.Unity开发部分 1.V ...
- 3ds Max光照纹理导入Unity的教程.
原地址:http://www.cocoachina.com/gamedev/gameengine/2010/0531/1581.html 相信这个3ds Max光照纹理导入Unity的教程对游戏设计师 ...
随机推荐
- Flink流处理之迭代案例
当前Flink将迭代的重心集中在批处理上,之前我们谈及了批量迭代和增量迭代主要是针对批处理(DataSet)API而言的,而且Flink为批处理中的迭代提供了针对性的优化. 可是对于流处理(DataS ...
- django之创建第8-3个项目-数据库数据提取之高级操作
1.配置test2.html <!DOCTYPE html> <html lang="en"> <head> <meta charset= ...
- 解决ajax异步传输数据,return返回为undefined的问题
function GetUserInfo(tp) { var username; $.ajax({ type: "POST", cache: false, data: " ...
- mysql触发器 学习
1. 说明: 触发器的定义就是说某个条件成立的时候,你触发器里面所定义的语句就会被自动的执行.因此触发器不需要人为的去调用,也不能调用.然后,触发器的触发条件其实在你定义的时候就已经设定好 ...
- 合并果子(NOIP2004)
合并果子(NOIP2004)[问题描述]在一个果园里,多多已经将所有的果子打了下来,而且按果子的不同种类分成了不同的堆.多多决定把所有的果子合成一堆.每一次合并,多多可以把两堆果子合并到一起,消耗的体 ...
- Highstock 演示 › 导航器包含多数据列
$(function () { var seriesOptions = [], seriesCounter = 0, names = ['MSFT', 'AAPL', 'GOOG']; /** * C ...
- cnpm不是内部或外部命令 cnpm: command not found
问题是处在于 你没用用淘宝的镜像 安装cnpm 不信 你打下cnpm -v, 看是 是不是也不是内部命令: 好了,那就安装下吧 npm install cnpm -g --registry=htt ...
- [转载]linux下如何查看系统和内核版本
原文地址:linux下如何查看系统和内核版本作者:vleage 1. 查看内核版本命令: 1) [root@q1test01 ~]# cat /proc/version Linux version 2 ...
- Geocoding java调用百度地图API v2.0 图文 实例( 解决102错误)
如何使用? 第一步:申请ak(即获取密钥),若无百度账号则首先需要注册百度账号. 第二步,拼写发送http请求的url,注意需使用第一步申请的ak. 第三步,接收http请求返回的数据(支持json和 ...
- 页面生命周期里面还有很东西,如PageHandlerFactory等等这些东东也够吃一壶的,发现每走到一个领域,发现要学的东西实在是太多太多啦,总感觉自己所学的东西只是沧海一粟,走过了这道坎,又是一片海洋,我只能呐喊:生命永不止息,学海无涯----够用就好。
页面生命周期里面还有很东西,如PageHandlerFactory等等这些东东也够吃一壶的,发现每走到一个领域,发现要学的东西实在是太多太多啦,总感觉自己所学的东西只是沧海一粟,走过了这道坎,又是一片 ...