unity游戏开发之相关的注意事项及技巧

来源:互联网 发布:html5引导动画源码 编辑:程序博客网 时间:2024/04/30 19:25
1. 打开后缀名为.packadge的文件报错(图1),想必很多朋友都碰到过这个问题,其实只要更改一下文件的位置就可以了(文件存放的路径不可以包含中文)。

                                                         Error while importing package: Couldn't decompress package                                                                                         
          
  (图1)

2. 有时候从外部导入后缀名为.fbx模型会莫名的报错(指向一个空指针,图2),只是偶尔发生,解决方法:重新启动U3D即可解决。(具体原因不详,还望高手释疑)

 
(图2)

3. 导入模型面数过多(≥65535三角面),会出现如下状况(图3),三角面数≥65535的模型被分割为两部分,其中一部分为65534,由此可知u3d导入模型的面数上限。

 
(图3)

4.模型从3dsmax等三维建模软件中导出之前需要注意的事项:
(1)可以重复使用的物体只需要导出一个即可,然后在u3d中进行复制拼接即可(这样当项目发布到web平台时,会大大减少文件的加载量)。
(2)模型的名称,材质球的名称以及贴图的名称不要使用中文,导入u3d中名称很容易乱码。
(3)将单体模型的轴心置中(3dsmax中为例,图4)。
(4)贴图文件像素大小最好为2的n次方,unity3d中可识别的最大尺寸为4096*4096。

(图4) 


5. 一般的情况下,模型的名称、材质球的名称以及贴图的名称需要一致,避免出现不必要的麻烦。但对于一些特殊的情况,材质球的名称与贴图的名称无法一致,模型导入u3d中会出现如下状况:(1)材质球的名称变为贴图的名称,解决方法:选中导入的模型素材,在Inspector-->Model-->Material Naming中选择From Model’s Material(图5.1),这样在Material文件夹下会出现两个材质球,一个以贴图名称命名,一个以原始材质球名称命名,删掉以贴图名称命名的材质球即可。


(2)如果我们在u3d中直接更改材质球的名称,再将模型资源导出为packadge给他人使用时,材质球名称会重置,准确说是原始材质球重新生成(图5.2),so,尽量不要在u3d中随意更改材质球(即Material)的名称。

                                  
(图5.1)

(图5.2)

6. 如何得到一个尺寸正确的物体(图6),即在u3d中的比例为1,这样做的原因是:额外的缩放数值会增加不必要的计算量。注意事项:3dsmax中的单位设置要在建模之前完成,如在建模之后设置单位需要根据之前的单位设置调整模型的大小。【狗刨学习网

(图6)

7. 通过在3dsmax中给模型添加平滑组可以在u3d中实现物体的平滑效果,操作方法(图7)。

(图7)


8. 一般的为了较好的表现材质的效果,我们需要3种基本的贴图,漫反射贴图、法线贴图(凹凸)、高光贴图,这里,我们以unity自带的shader——Bumped Specular为例,来表现材质的高光(图8)。首先,我们看到这个shader只有两个位置可以放贴图,Bass(RGB)Gloss(A)与Normalmap,其中Bass(RGB)Gloss(A)的意思是,这边需要一张包含Alpha通道贴图来表现材质的漫反射跟高光效果,所以我们需要在PS中对漫反射贴图进行处理,高光贴图与漫反射贴图可以在ps中制作,这边推荐比较好用的软件,ndo与Crazybump。

 
(图8)

9.  当使用u3d来开发虚拟现实项目的时候,一般的室内灯光都会添加光域网,这边讲一下如何在u3d中模拟光域网的效果(图9)。

 
(图9)

10.Spotlight与Point light如何产生实时阴影(图10),虽然效果好,但不推荐使用,极度影响运行效率。

0 0
原创粉丝点击