unity 开发注意事项

转自:http://www.unity3d8.com/content/%E4%BD%BF%E7%94%A8unity%E5%BC%80%E5%8F%91%E9%A1%B9%E7%9B%AE%E7%9A%84%E4%B8%80%E7%82%B9%E7%BB%8F%E9%AA%8C

 

我们主要使用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项目中使用SVN的最佳实践和注意事项 #### 选择合适的SVN客户端工具 对于Windows环境,TortoiseSVN是一个非常流行的SVN客户端工具。它集成到了Windows资源管理器中,使得操作更加直观方便[^1]。 #### 初始化仓库结构规划 合理规划SVN仓库的目录结构非常重要。通常建议采用标准布局:`trunk`, `branches`, 和 `tags`三个主要部分。其中`trunk`用于保存主线开发代码;`branches`用来创建特性分支或维护不同版本间的差异;而`tags`则记录每次发布的重要里程碑版本。 #### 正确配置忽略列表 为了防止不必要的文件被纳入版本控制系统,在`.svnignore`文件里定义好要排除的内容是很必要的。这包括但不限于编译生成物、临时文件以及个人设置等。例如Unity工程中的Library, Temp, obj这些文件夹都不应该加入到版本库当中。 ```bash # .svnignore example content /Library/ /Temp/ /obj/ *.sln.meta *.csproj.user ``` #### 定期更新并解决冲突 团队成员之间应保持良好的沟通习惯,经常执行`Update`命令来获取最新的更改,并及时处理可能出现的合并冲突情况。当多人协作修改同一份文档时尤其要注意这一点。 #### 提交前仔细审查变更 每一次提交之前都应该认真检查待上传的改动内容,确保只包含了预期的变化点。可以利用TortoiseSVN提供的Diff功能对比前后两个状态之间的区别,从而减少误操作的可能性[^3]。 #### 使用有意义的日志消息 撰写清晰明了且具有描述性的日志信息有助于追踪历史变动轨迹,也为后续排查问题提供了便利条件。一个好的做法是在每条记录开头注明具体解决了哪个Bug或是实现了哪项Feature。 #### 场景切换与对象清理 在多场景编辑模式下工作时,记得适时卸载不再使用的GameObject及其组件(Component),还有全局管理者(GameManager)实例,以此避免潜在的数据残留影响其他页面加载效率[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值