广州unity3d培训
达内广州CBD中心

18589266248

热门课程

学unity3d技术开发怎么样?如何掌握体验效果设计?

  • 时间:2017-05-12 17:14
  • 发布:佛山达内培训
  • 来源:unity资讯

佛山达内培训

1、把角色和地面物体的中心点(Pivot)放在底部,不要放在中间

这可以使你方便的把角色或者其他对象精确的放到地板上。如果合适的话,它也可能使得游戏逻辑、AI、甚至是物理使用2D逻辑来表现3D。

2、统一所有的模型的面朝向(Z轴正向或者反向)

对于所有具有面朝向的对象(例如角色)都应该遵守这一条。在统一面朝向的前提下,很多算法可以简化。

3、在开始就把Scale搞正确

请美术把所有导入的缩放系数设置为1,并且把他们的Transform的Scale设置为1,1,1。可以使用一个参考对象(一个Unity的Cube)来做缩放比较。为你的游戏选择一个世界的单位系数,然后坚持使用它。

4、为GUI组件或者手动创建的粒子制作一个两个面的平面模型

设置这个平面面朝向Z轴正向,可能简化Billboard和GUI创建。

5、在Prefab之间链接,而不要链接实例对象

当Prefab放置到场景中时,它们的链接关系是被维护的,而实例的链接关系不被维护。尽可能的使用Prefab之间的链接可以减少场景创建的操作,并且减少场景的修改。

6、如果可能,自动在实例对象之间产生链接关系

如果你确实需要在实例之间链接,那么应该在程序代码中去创建。例如,Player对象在Start时需要把自己注册到GameManager,或者GameManager可以在Start时去查找Player对象。

对于需要添加脚本的Prefab,不要用Mesh作为根节点。当你需要从Mesh创建一个Prefab时,首先创建一个空的GameObject作为父对象,并用来做根节点。把脚本放到根节点上,而不要放到Mesh节点上。使用这种方法,当你替换Mesh时,就不会丢失所有你在Inspector中设置的值了。

使用互相链接的Prefab来实现Prefab嵌套。Unity并不支持Prefab的嵌套,在团队合作中第三方的实现方案可能是危险的,因为嵌套的Prefab之间的关系是不明确的。

7、使用安全的流程来处理Prefab分支

我们用一个名为Player的Prefab来讲解这个过程。

用下面这个流程来修改Player:

复制Player Prefab;

把复制出来的Prefab重命名为__Player_Backup;

修改Player Prefab;

测试一切工作正常,删除__Player_Backup;

不要把新复制的命名为Player_New,然后修改它。

有些情况可能更复杂一些。例如,有些修改可能涉及到两个人,上述过程有可能使得场景无法工作,而所有人必须停下来等他们修改完毕。如果修改能够很快完成,那么还用上面这个流程就可以。如果修改需要花很长时间,则可以使用下面的流程:

第一个人:

复制Player Prefab;

把它重命名为__Player_WithNewFeature或者__Player_ForPerson2;

在复制的对象上做修改,然后提交给第二个人;

第二个人:

在新的Prefab上做修改;

复制Player Prefab,并命名为__Player_Backup;

把__Player_WithNewFeature拖放到场景中,创建它的实例;

把这个实例拖放到原始的Player Prefab中;

如果一切工作正常,则可使删除__Player_Backup和__Player_WithNewFeature;

8、制作并使用测试资源

为SkyBox创建带文字的方形贴图;

一个网格(Grid);

为Shader测试使用各种颜色的平面:白色,黑色,50%灰度,红,绿,蓝,紫,黄,青;

为Shader测试使用渐进色:黑到白,红到绿,红到蓝,绿到蓝;

黑白格子;

平滑的或者粗糙的法线贴图;

一套用来快速搭建场景的灯光(使用Prefa);

Prefabs

9、所有东西都使用Prefab

只有场景中的“目录”对象不使用Prefab。甚至是那些只使用一次的唯一对象也应该使用Prefab。这样可以在不动用场景的情况下,轻松修改他们。(一个额外的好处是,当你使用EZGUI时,这可以用来创建稳定的Sprite Atlases)

10、对于特例使用单独的Prefab,而不要使用特殊的实例对象

如果你有两种敌人的类型,并且只是属性有区别,那么为不同的属性分别创建Prefab,然后链接他们。这可以:

在同一个地方修改所有类型

在不动用场景的情况下进行修改

如果你有很多敌人的类型,那么也不要在编辑器中使用特殊的实例。一种可选的方案是程序化处理它们,或者为所有敌人使用一个核心的文件/Prefab。使用一个下拉列表来创建不同的敌人,或者根据敌人的位置、玩家的进度来计算。

如果大家想了解到更多的unity3d开发方面的更多技术,或者想学一门专业的unity3d技术,欢迎来广州达内培训机构进行更多的了解和咨询。

上一篇:用人工智能来开发游戏,这可能吗?
下一篇:学Unity3D技术怎么样?如何掌握简单的Unity-UI框架的实现技巧?

马上预约三天免费体验课

姓名:

电话:

学unity3d技术开发怎么样?如何掌握体验效果设计?

VR 未来的 3 个走向你更认可哪一个?

选择城市和中心
贵州省

广西省

海南省