zoukankan      html  css  js  c++  java
  • 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数值,数值越大的摄影机越优先显示。

  • 相关阅读:
    三级联动(在YII框架中)
    用composer安装Yii
    在apache中设置访问目录后进入的默认页面为index.php
    php mb_convert_encoding的使用
    采集数据和memchche的存储使用,分页展示
    php操作Memcache
    前端页面卡顿?或是DOM操作惹的祸,需优化代码
    windows mongodb 安装
    浅谈WebSocket
    使用Spring MVC HandlerExceptionResolver处理异常
  • 原文地址:https://www.cnblogs.com/sevenyuan/p/2626790.html
Copyright © 2011-2022 走看看