Unity项目优化--开发项目的小经验
原文地址:http://blog.csdn.net/liang_704959721/article/details/8548619
我们主要使用 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 号码值,号码值越大优先显示相机。
Unity项目优化--开发项目的小经验的更多相关文章
- 跨端开发技术 | 拼团商城项目同时开发app和小程序的要点
此项目为拼团商城类型,主要功能包括商品分类.商品详情.商品搜索.拼团.订单管理等. 项目源码在 https://github.com/apicloudcom/group-ec 仓库的 widget 目 ...
- 总结使用Unity 3D优化游戏运行性能的经验
原地址:http://www.gameres.com/msg_221889.html 作者:Amir Fasshihi 流畅的游戏玩法来自流畅的帧率,而我们即将推出的动作平台游戏<Shadow ...
- (转)总结使用Unity 3D优化游戏运行性能的经验
http://www.199it.com/archives/147913.html 流畅的游戏玩法来自流畅的帧率,而我们即将推出的动作平台游戏<Shadow Blade>已经将在标准iPh ...
- [转]总结使用Unity 3D优化游戏运行性能的经验
转载自:http://www.gameres.com/msg_221889.html 作者:Amir Fasshihi 流畅的游戏玩法来自流畅的帧率,而我们即将推出的动作平台游戏<Shadow ...
- Duilib 开发中的小经验
# duilib开发中收集的小代码 # ## 1 窗体创建 ## - 窗体多继承于 public WindowImplBase ,简单的定义几个函数就可以实现:拖曳caption移动(设置xml窗体的 ...
- 记录微信支付开发中的小经验(errcode = 40163; errmsg = "code been used")
今天上午客户提出问题,看了一下报错截图,应该是我更新版本时少传了一个参数,导致后续报错, 心里想着小问题,直接生产环境添加一下就行了,于是就为了我这一上午的悲剧埋下了伏笔 十分自信的把页面中的代码添加 ...
- 大三小学期 web前端开发的一些小经验
1.html是页面的布局设计,就是页面上要放哪些东西,比如登录界面需要按钮,输入框等等:css是被用于使用设计部件和布局,例如哪些部件放在哪里,多宽多大,是否有边框等:js/jQuery是用于实现函数 ...
- Unity全面优化
前言 Unity的项目优化已经是老生常谈,很多人在项目完成之后,即便创意新颖,也会觉得差强人意,原因就在于没有做详细的项目优化.众所周知,Unity是一个综合性的3D开发引擎,其中包含图像渲染,逻辑处 ...
- 项目优化经验分享(八)TeamLeader经验总结
引言 通过前面的七篇博客.我把自己在项目优化过程的经验进行了分享,今天这篇博客,作为一个总结,就来讲讲作为一个TeamLeader,在项目管理中遇到的问题和解决经验! 正文 问题一:团队之间怎么沟通? ...
随机推荐
- 使用Visual Studio 2010 创建简单的Silverlight应用程序
使用Visual Studio 2010 创建简单的Silverlight应用程序 Silverlight是创建动态的引人的RIAs(Rich Internet Application)的新方法.这里 ...
- ProductHunt,TechCrunch和AppStore的差的值
ProductHunt(产品狩猎)硅谷社区的新产品,起初只存在一个技术性的房子维修.然后进入YC训练营已经收到了几百美元的融资2. 这款产品的形式非常easy.粗产物似乎是一个节目的部位,加上一些评论 ...
- Windows Phone开发(13):如何规范用户的输入行为
原文:Windows Phone开发(13):如何规范用户的输入行为 很多时候,我们对用户的操作或输入做一定程度的限制,以避免发生不必要的异常或错误,因此,对一些特殊的类型,进行输入限制是很有必要的. ...
- spring.net中间IoC、DI和MVC
轮廓 spring.net它是开源的业务层框架,功能很强大,它归结到什么都有3能:面向切面编程:IoC和DI:提供综合型的框架支持,本片博客主要说一下IoC和DI.和其提供的对MVC框架的支持. Io ...
- HTML5 CSS3 诱人的实例 : 网页载入进度条的实现,下载进度条等
今天给大家带来一个比較炫的进度条,进度条在一耗时操作上给用户一个比較好的体验,不会让用户认为在盲目等待,对于没有进度条的长时间等待,用户会任务死机了,毫不犹豫的关掉应用:一般用于下载任务,删除大量任务 ...
- log(n)在第一时间,以确定该阵列i小号码
简介参考算法9.2 int partition(int *a,int p,int r){ int x=a[r]; int i=p-1; for(int j=p;j<=r-1;j++){ if(a ...
- tokumx经营报表
#见数据库列表 show dbs #切换/创建数据库(当创建一个集合(table)的时候会自己主动创建当前数据库) use admin; #添加用户 db.addUser("zhoulf ...
- 【原创】《算法导论》链表一章带星习题试解——附C语言实现
原题: 双向链表中,需要三个基本数据,一个携带具体数据,一个携带指向上一环节的prev指针,一个携带指向下一环节的next指针.请改写双向链表,仅用一个指针np实现双向链表的功能.定义np为next ...
- 警告: [SetPropertiesRule]{Server/Service/Engine/Host/Context}
警告: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to'org.eclipse ...
- [LeetCode258] Add Digits 非负整数各位相加
题目: Given a non-negative integer num, repeatedly add all its digits until the result has only one di ...