原地址:http://tieba.baidu.com/p/2807225555

我觉得有三点感觉在导出时比较重要的
1.单位的设置
3dsmax系统单位设置就设成厘米显示单位公制也设成厘米这样在max里的一网格就是10厘米,
像这样子

但感觉不是很理想,我这把枪太长了差不多占了6个网格,OhNo这样子就有60厘米长了,我得给它来个整体的缩放,我要把它缩放成1厘米这样到unity就是1米刚好,可是现在一网格是10厘米不好缩放,等缩放成一厘米我的这把枪就看不见了,还是把系统单位设成1毫米可靠,设成1毫米再把枪缩放到大致一个网格那么长,大致就像这样子

2.导出设置
这不用说了大家都会设置(不过细节还是得说下),不过具体情况还是需要具体分析的像我上面的这种情况就是具体情况,来张图比较好看

看到图中展开的项了吗嵌入的媒体必勾,不勾导出到unity3d不给你把贴图导进去(很多人导出后贴图丢失没有大多出在这),勾上后导出到unity3d就会自动生成贴图文件夹像我下图生成的贴图文件夹就是PanLong.fbm,不勾你准备作死吧(不过我有第二手补救办法),办法来了不过还是要举例子,有些人喜欢先把fbx模型拖进unity3d工程然后再把贴图拖进来(那你等着一个一个为材质球上贴图吧),遇到这种情况先拖贴图进unity3d工程后拖fbx进来(此种方法是你导出时没有勾选嵌入媒体的情况下,勾选了那就容易了自动为你倒入贴图生成贴图文件夹,贴图不丢失),导出单位设置是厘米(这就是具体情况具体分析了),因为我是想以厘米作单位的但是系统单位设置毫米是为了适应max的网格大小这样刚好一格一厘米,所以导出面板大小当然以厘米作单位具体看你做多大的东西了

在unity3d中显示的比例图(刚好1单位1米)


3.轴心问题
3dsmax的模型导出到unity3d都会面临轴心问题,轴心不对,不过在max里是可以解决这个问题的调节仅影响轴可以解决看图最方便(把仅影响轴旋转到图示那样就解决了)

再来张unity3d的图可以看到轴调整过来了

这就是我的心得与大家分享了

原地址:http://www.cnblogs.com/ychellboy/archive/2012/08/01/2615751.html

最近房价涨得太快也懒得去看房了,空下来的时间看一下unity,发现unity3D-3.5版官方的AngryBots示例效果很震撼,就下了一个unity来玩玩。想把unity玩起来自然离不开model,面对3dsmax这些nb工具,作为一名服务器端程序员对此表示压力很大,无奈只能求助谷哥找一些model。

废了九牛二虎之力后把model从3dsmax导入unity,把模型drag到一个1*1的场景里,结果如下图......

呃,我的模型呢?还好在Hierarchy里有我导入的model,双击后可以看到(给我的Peon打了一个Point light^_^):

看来是model的scale太小了,为什么会太小了呢?3dsmax和unity的unit scale不一样?怎么设置才能达到想要的效果?本文将逐一解答这些问题。

一、比例问题的产生原因

简而言之:在默认情况下U3D系统的一个单位(1unit)等于1米,而在3dsmax中默认的单位是inch,因此产生了上述的比例问题。下面的引用来自unity官方论坛:

By default, the units in Unity are meters. So the default size for terrains is 1000m x 1000m, with a max height of 600m. You can change this in the Terrain->Set Resolution menu. 
    The default settings for gravity, and audio dopplar also reflect the default 1 unit = 1m. 
    This means that if you want to use the units as some other distance (eg, inches, feet, miles, or whatever), as well as importing models scaled to this new size, you'll also need to adjust the gravity and dopplar settings accordingly so that they produce sensible results for your new world scale.

知道了比例问题产生的原因,接下来就要想办法来解决。

二、解决办法

解决方法有两个方面,一种是在unity中调整模型的Scale Factor;另一种是在3dsmax导出的时候按照unity的单位导出。下面分别进行介绍:

(1)在unity中进行调整

模型由3dsmax按照inch的系统单位导出成FBX格式的文件,导出的模型一个单位代表一个inch。unity每个单位代表1米,而unity导入FBX模型是以厘米为最小单位的,因此需要对模型进行一定比例的放大操作。放大比例应该设为多少呢?先做一个实验:

在max中创建一个1*1的plane,并把参数设置成:

导出fbx文件时注意把单位设置成厘米(cm):

将fbx文件导入unity后,把Insepector面板里的Scale Factor设为1,即放大100倍。下图左侧是一个1*1的terrain(一平方米),右侧就是放大100倍后的plane。可以看出来plane的边长大概是terrain的2.5倍,也就是2.5米左右。可以来计算一下:max中一个1inch * 1inch的plane,其实也就是2.54cm * 2.54cm ——> 以cm为单位导出成fbx文件 ——> 导入unity后放大100倍,变成2.54米 * 2.54米(2.54个单位)的plane。看来这个流程应该是正确的。

总结——在unity中调整放大比例:

1、如果模型以厘米为单位从max中导出,则导入unity放大100倍可以得到想要的结果。

2、如果模型以inch为单位(默认情况下)从max中导出,则导入unity后需放大254倍。1inch * 2.54 –> 2.54cm –> 乘以100倍得到结果

PS:unity的模型放大有两种方法:一种方法是修改FBXImporter中的Scale Factor数值(上文提到的Insepector面板里的Scale Factor,其值默认为0.01),将Scale Factor的数值恢复为1,但这样做据说会占用模型资源,比较消耗物理缓存;另一种方法是从Hierarchy中选中待修改物品,使用Scale同时放大x,y,z各100倍,这种设置据说耗费的资源比较少,同时还能通过使用脚本来进行这个放大操作,十分方便。

(2)在3dsmax中进行调整

在max中进行调整就是要对模型进行整体缩放,这里有两种方法。

1、第一种方法:在max中选中模型后按R键或者在左上部的工具栏按钮可以进行缩放,还可以在右下角找到,进行缩放。但这种方法不会改变模型本身的绝对大小,只是改了一个缩放因子,因此不推荐使用。

2、 第二种方法是等比例缩放:全选模型 –》点右上角的工具面板 -》点击“更多”

-》点击“重缩放世界单位”

-》点击右边的按钮

-》按照图中的比例选择“场景”然后点击确定完成模型的整体放大。

放大比例是1:100,max导出时要放大100倍。(注意导出FBX文件时“单位”要选择厘米)

三、比例问题总结

unity中默认的unit scale和3dsmax的默认scale是不一致的,因此在unity中使用max制作或导出的model时一定要注意比例问题。

下图是一个128个单位(inch)的cliff,图中白色的方块是unity中一个4*4的terrain。128个单位的inch等于128*0.0254=3.2512米,从图中可以看出比例应该是正确的。

 

四、Unity3d和3dMax美工部分总结

本小节的内容全部转载自参考文献[1]

3dsmax2010安装插件,输出FBX的类型导入Unity3D中。默认情况下,3dsmax8可以和U3D软件直接融合,自动转换为FBX物体。

1.面数控制 
    在MAX软件中制作单一Game Object物体的面数不能超过65000个三角形,即32500个多边形Poly,如果超过这个数量的物体不会显示出来,这就需要我们合理分布多边形和模型数量。打开MAX场景,选择File/Properties/Summary Info可以打开文件属性记录。其中Faces可以看到每个物体的实际数量,模型面数要少,个体数量不能超过65000个Faces面。 
    有特殊效果的模型需要单独制作,物体命名要统一(SanLou_YanHuiTing_JingZi或者SanlouYanhuitingJingzi),但不能出现重复,否则整合模型会被覆盖,给后期工作造成不必要的麻烦。

2.建模控制 
    Unity3D软件支持Line渲染和编辑之后所产生的模型。大部分模型都依靠Polygon进行制作。在模型表面可以承认多出四边形的面,但不渲染交错的面。默认情况下,U3D引擎是不承认双面材质的,除非使用植物材质球Nature类型。所以在制作窗户、护栏等物体,如果想在两面都能看到模型,那需要制作出厚度,或者复制两个面翻转其中一个的Normal法线。

3.文件的放置 
    模型可以继承MAX的材质,但是文件的设置要按照以下形式进行放在项目的Assets文件夹内,新创建一个Object文件夹。并在其中创建Materials和Texture文件夹(分别自动存放材质球和贴图)。模型物体并列保存在Object文件夹内。这个规律模式不要打乱,否则会破坏整个系统逻辑。

4.材质数量控制 
    物体材质要赋予默认的标准材质standard,特殊材质需要特殊调节(玻璃,镜面等),透明材质需要给双面。如果一个物体给与一个材质球,那么Unity3D对于材质数量和贴图数量没有任何的限制。 
    如果一个物体给与多个材质球,我们需要用Multi/SubObject来实现,但是这种罗列的材质球的数量没有严格的控制,但尽量保持在10以内,过多的数量会导致一些错误。 
    如果不使用Multi/SubObject材质球,也可以选择一些面,然后给与一个材质球。这样系统会自动将其转换成Multi/SubObject材质。 
    综合而言Unity3D软件对于材质的兼容还是很好的。

5.物体的质感 
Diffuse、Diffuse Bumped、Bumped Specular,这三种类型为常用类型,其中Bumped需要增加Normal法线贴图来实现凹凸。 
Decal 
    这种材质为贴花材质,即相当于Mask类型,可以再Decal(RGBA)贴与一个带有Alpha通道的图像,形成和原图像相叠加的效果。 
Diffuse Detail 
    这种材质可以创造出污迹和划痕的效果,即相当于Blend混合材质。 
Reflective 
    其中各种类型可以创造出金属反射效果,需要增加Cubmap贴图。 
Transparent 
    其中各种类型可以创造出透明的效果,需要增加具有Alpha的通道贴图。 
    注意:如果要做玻璃贴图,Alpha如果全是灰色或黑色(即要求全透明),那么Alpha就会失效,如果要全透明,材质Alpha其中必须至少有1像素为白色。 
Nature 
    其中Soft Occlusion Leaves类型主要应用于片状的树叶材质。

6.关于复制 
    场景中的灯光布局,重复的模型物体都可以使用系统Prefab进行关联复制,这样可以改变一个参数的同时将所有关联物体属性改变。

7.山脉控制 
    在创建山脉之后,选择Terrain/Set Resolution可以设置山脉的大小和属性。 
    需要注意的是,默认情况下Terrain Width和Terrain Height为1000米。如果设置这个数值太小,那么绘制草的时候会产生偏移,因为草的尺寸必须减少到0.1的单位。 
    也就是说,山脉在处理0.1单位的时候会产生0.01的偏差,如果模型太小,这种偏差是显而易见的,所以建议用户不要让模型过小。

8.光晕控制 
    光晕又称为Lens Flare即灯光光效。可以选择一个GameObject物体给与Component/Rendering/Lens Flare,并在Flare中增加一个Standard Assets/Light Flares/50mm Zoom项目。这样在运行之后就会产生光晕。但有时候如果光晕太远太高却看不到。一种办法是将光晕离近,另一种办法是将所有摄影机Camera的Far clip plane的数值增加。

9.摄影机控制 
    如果场景中有多架摄影机,那么如何确定第一打开时间所显示的摄影机,就需要设置Camera属性中的Depth数值,数值越大的摄影机越优先显示。

References:

[1]http://ilaoxu.com/unity3d-and-3dmax-art-section-summarizes.html

Unity模型导入的若干问题的更多相关文章

  1. Unity 模型导入导出

    从3DMAX导出,参考: http://tieba.baidu.com/p/2807225555 -> 使用3dmax 2013,会自带导出 fbx 的功能 -> 从 3dmax 导出 - ...

  2. Unity模型导入导出

    从3DMAX导出,参考: http://tieba.baidu.com/p/2807225555 -> 使用3dmax 2013,会自带导出 fbx 的功能 -> 从 3dmax 导出 - ...

  3. Unity 3d导入3dMax模型 产生若干问题

    Unity 3d导入3dMax模型 会产生若干问题,按照官方 的说明,将max 模型导成fbx文件 导入untiy似乎也不能解决 1.x轴向偏转3dmax模型导入后自动有一个x轴270度的偏转,巧合的 ...

  4. Blender模型导入进Unity,旋转缩放的调整

    Blender跟Unity的XYZ轴不同的原因,导致Blender模型导入Unity之后会发生模型朝向不对. 请先看看下边这个情况: 首先,Blender物体模式下,对模型进行 旋转 缩放,将会在右边 ...

  5. Unity3D 模型导入Error

    在导入3d max模型的时候报错: 3ds Max could not be found.Make sure that 3ds Max is installed and the max file ha ...

  6. 【自制插件】将MMD4Mecanim转换的MMD模型导入maya

    这个已经废弃了_(:зゝ∠)_,另外做了升级版: http://www.cnblogs.com/marisa/p/5174150.html ============================== ...

  7. Unity3d中模型导入轴向不对的解决方法

    在unity3d中导入模型,经常会遇到模型的轴向与unity中默认的轴向不符合的情况. 网上有很多解决办法都是说在3dmax中导出模型时修改模型的轴向,那么我接下来讲的就是如何在unity里面修改模型 ...

  8. unity模型法线反转问题

    fbx模型导入unity正常 但只要绑了骨骼,在3dmax中正常,进入unity就法线反转 原因是3dmax中模型用到复制和镜像的导出需要多一步处理 1重置变换 2反转法线 按顺序进行这两个,在绑定模 ...

  9. 将lol人物模型导入到Unity3d

      接下来我打算将提取出来的lol人物模型导入到Unity3D中,这样会更加好玩!(不知道如何提取lol人物模型的话请看该链接)   首先我们已经把dae文件导入到c4d中了,可以看到这是一只吹笛子的 ...

随机推荐

  1. 微信小程序开发:Flex布局

    微信小程序页面布局方式采用的是Flex布局.Flex布局,是W3c在2009年提出的一种新的方案,可以简便,完整,响应式的实现各种页面布局.Flex布局提供了元素在容器中的对齐,方向以及顺序,甚至他们 ...

  2. [工具类]获取url中参数列表

    写在前面 在项目中经常用到解析url中参数的逻辑,今天先下载就自己封装了一个方法,方便以后使用的时候,信手拈来.当然这里给出的方法是针对常见的url参数类型的,对于重写url,或者路由格式的不考虑. ...

  3. javascript基础知识拾遗

    1 下面列出的值被当作假 false null undefined '' 0 NaN 其它所有值被当作是真 console.log(undefined || true); //true console ...

  4. js 选项卡实现

    <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8&quo ...

  5. 知道了grunt怎么用了

      第一步: //如何安装指定grunt的插件,安装后自动在当前cmd目录下新建node_modules文件夹,文件夹里面包含了下载完成的插件 npm install <module> - ...

  6. Ajax、反向Ajax和WebSocket 概念

    Ajax 异步的JavaScript和XML(Asynchronous JavaScript and XML,Ajax),一种可通过JavaScript来访问的浏览器功能特性,其允许脚本向幕后的网站发 ...

  7. 缓存插件 EHCache

    EHCache是来自sourceforge(http://ehcache.sourceforge.net/)的开源项目,也是纯Java实现的简单.快速的Cache组件. 下载jar包 Ehcache ...

  8. SpringMVC实现一个controller里面有多个方法

    我们都知道,servlet代码一般来说只能在一个servlet中做判断去实现一个servlet响应多个请求, 但是springMVC的话还是比较方便的,主要有两种方式去实现一个controller里能 ...

  9. x86汇编指令详解

    80x86指令系统 80x86指令系统,指令按功能可分为以下七个部分. (1) 数据传送指令. (2) 算术运算指令. (3) 逻辑运算指令. (4) 串操作指令. (5) 控制转移指令. (6) 处 ...

  10. linux桌面应用开发之折腾

    1 起因 需要开发一个wifi定位的应用,最先在android下搞,后来因为多网卡的原因要换平台,经历了windows,最终选择用kaili linux.debian系的linux,开发桌面应用怎么办 ...