Unity项目优化--开发项目的一点经验

来源:互联网 发布:淘宝改评价链接在哪里 编辑:程序博客网 时间:2024/05/18 15:28
我们主要使用 3dsmax2010 进行制作,输出 FBX的类型导入 Unity3D中。
默认情况下,3dsmax8 可以和 U3D软件直接融合,自动转换为 FBX物体。
注意事项如下:
1.
面数控制
在 MAX软件中制作单一 Game Object物体的面数不能超过 65000 个三角形,即 32500个多
边形 Poly,如果超过这个数量的物体不会显示出来,这就需要我们合理分布多边形和模型
数量。
打开 MAX场景,选择 File/Properties/Summary Info 可以打开文件属性记录。
其中 Faces可以看到每个物体的实际数量,个体数量不能超过 65000 个 Faces 面。
2.
建模控制
Unity3D软件支持Line渲染和编辑之后所产生的模型。大部分模型都依靠Polygon进行制作。
在模型表面可以承认多出四边形的面,但不渲染交错的面。
默认情况下,U3D引擎是不承认双面材质的,除非使用植物材质球 Nature 类型。
所以在制作窗户、护栏等物体,如果想在两面都能看到模型,那需要制作出厚度,或者复制
两个面翻转其中一个的 Normal 法线。
3.
文件的放置
模型可以继承 MAX的材质,但是文件的设置要按照以下形式进行放
在项目的 Assets文件夹内,新创建一个 Object 文件夹。
并在其中创建 Materials和 Texture 文件夹(分别自动存放材质球和贴图)。
模型物体并列保存在 Object 文件夹内。
这个规律模式不要打乱,否则会破坏整个系统逻辑。
4.
材质数量控制
如果一个物体给与一个材质球,那么 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.
物体尺寸
默认情况下 U3D 系统单位 1 等于 1 米,等于软件 1 单位。如果我们制作是按照实际大小比
例制作,那么导入 U3D引擎会自动变成原来的 1%的大小。
因为默认情况下,U3D的 FBXImporter中的 Scale Factor的数值为 0.01。
那个我们可以将 Scale Factor 的数值恢复为 1,但是这样会占用模型资源,比较消耗物理缓
存。
我们也可以将这个物体从 Hierarchy 中选择,并使用 Scale 放大 100 倍,这种设置可以有很
多好处,并且还能通过用脚本制作动画。
7.
关于复制
场景中的灯光布局,重复的模型物体都可以使用系统 Prefab 进行关联复制,这样可以改变
一个参数的同时将所有关联物体属性改变。
8.
山脉控制
在创建山脉之后,选择 Terrain/Set Resolution 可以设置山脉的大小和属性。
需要注意的是,默认情况下 Terrain Width 和 Terrain Height为1000 米。如果设置这个数值太
小,那么绘制草的时候会产生偏移,因为草的尺寸必须减少到 0.1 的单位。
也就是说,山脉在处理 0.1 单位的时候会产生 0.01 的偏差,如果模型太小,这种偏差是显而
易见的,所以建议用户不要让模型过小。
9.
光晕控制
光晕又称为 Lens Flare 即灯光光效。
可以选择一个 GameObject 物体给与Component/Rendering/Lens Flare,并在 Flare 中增加一个
Standard Assets/Light Flares/50mm Zoom项目。这样在运行之后就会产生光晕。
但有时候如果光晕太远太高却看不到。
一种办法是将光晕离近,另一种办法是将所有摄影机 Camera 的 Far clip plane 的数值增加。
10.
摄影机控制
如果场景中有多架摄影机,那么如何确定第一打开时间所显示的摄影机,就需要设置 Camera
属性中的 Depth 数值,数值越大的摄影机越优先显示。
原创粉丝点击