Unity3D项目开发一点经验

来源:互联网 发布:进军黑科技和人工智能 编辑:程序博客网 时间:2024/05/29 14:36

我们主要使用3dsmax2010进行制作,输出FBX的类型导入Unity3D中。默认情况下,3dsmax8可以和U3D软件直接融合,自动转换为FBX物体。

注意事项如下:

1.面数控制

      在MAX软件中制作单一GameObject物体的面数不能超过65000个三角形,即32500个多边形Poly,如果超过这个数量的物体不会显示出来,这就需要我们合理分布多边形和模型数量。打开MAX场景,选择File/Properties/SummaryInfo可以打开文件属性记录。其中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

其中SoftOcclusion Leaves类型主要应用于片状的树叶材质。

6.物体尺寸

      默认情况下U3D系统单位1等于1米,等于软件1单位。如果我们制作是按照实际大小比例制作,那么导入U3D引擎会自动变成原来的1%的大小。因为默认情况下,U3D的FBXImporter中的Scale Factor的数值为0.01。那个我们可以将ScaleFactor的数值恢复为1,但是这样会占用模型资源,比较消耗物理缓存。我们也可以将这个物体从Hierarchy中选择,并使用Scale放大100倍,这种设置可以有很多好处,并且还能通过用脚本制作动画。

7.关于复制

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

8.山脉控制

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

9.光晕控制

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

10.摄影机控制

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

posted @ 2013-08-02 20:49 蓬莱仙羽 阅读(3) 评论(0) 编辑
Unity3D使用过程中常见的20个问题

1:天空盒有接缝怎么解决?
答:在贴图导入设置里设置Wrap Mode为"Clamp".

2:DDS格式怎么不显示?
答:Unity不支持DDS格式,Unity会将除DDS外的其他格式图片具有为DDS同样的优化.

3:Unity如何动态载入外部模型等文件?
答:可以使用AssetBundle:http://unity3d.com/support/docum ... ce/AssetBundle.html

4:脚本编辑器有语法提示吗?
答:有的,Win版使用Ctrl+I,Mac版使用Ctrl+>.

5:如何使用烘焙贴图(多重纹理)?
答:不要使用Shell贴图,直接将烘焙图赋予贴图的"自发光"通道之上.

6:怎么屏蔽Webplayer右键菜单?
答:<param name="disableContextMenu" value="true" />

7:为什么水面没有实时反射效果?
答:只有专业版才支持这种反射效果.

8:怎么做摄像机漫游动画?
答:Max正常制作摄像机漫游动画,倒到Unity中后,将Unity的Camea拖拽到Max导出的摄像机Gameobject物体之上,作为其子物体即可.

9:如何自定义Webplayer载入Logo及进度条?
答:<param name="logoimage" value="Logo文件名" />,<param name="progressbarimage" value="进度条名"  />,<param name="progressframeimage" value="进度条外框名" />.

10:GUI上怎么使用中文字?
答:导入任意中文字体,然后定义GUISkin字体为该字体即可.

11:购买一个授权可以安装几台电脑?
答:可以安装于2个系统之上比如一个Win版一个Mac版.

12:Max文件扔到Unity中怎么说导入失败?
答:下载最新版Fbx插件,用Max导出Fbx文件然后扔Unity中.

13:如何不让摄像头穿透模型,离模型近了就像模型露面了?
答:设置相机的Near clip plane,调小一点,但是不要给负数.

14:怎么用双面贴图?
答:Unity中可设置双面Shader,最简单有效的办法是直接做成双面的实体模型.

15:导入的Fbx模型尺寸小于Max中的尺寸?
答:在Unity中该文件的导入设置中设置缩放因子为1.

16:如何给相机添加Glow效果?
答:选中相机对象,在菜单中选中Component-Image Effects-Glow赋予该组件即可(专业版才支持此特效)

17:怎么设置Webplayer默认尺寸?
答:到菜单Edit-Project Settings-Player中设置Default Web Screen尺寸即可.

18:怎么设置可执行文件的启动Banner?
答:到菜单Edit-Project Settings-Player中设置Resolution Dialog Banner.

19:如何设置雾效?
答:到菜单Edit-Render Settings中开启Fog及设置Fog Color等即可.

20:如何设定默认Skybox天空盒?
答:到菜单Edit-Render Settings中设置Skybox Material即可.

0 0
原创粉丝点击