游戏开发者必须了解的unity3D技巧

Posted 肖尘

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了游戏开发者必须了解的unity3D技巧相关的知识,希望对你有一定的参考价值。

1.U3D基础

界面

【File】文件、文件菜单

文件菜单:New Scene新建场景、New Project新建项目、Build Settings…发布设置

【Edit】编辑、编辑菜单

编辑菜单:Undo撤销、Redo重复、Cut剪切、Copy复制、Paste粘贴、Duplicate拷贝、Delete删除、Frame Selected将镜头移到选择物体前、Lock View to Selected 锁定视图选择、Preferences…首选参数设置、Modules…模板载入选择、Project Settings项目设置

PS:Project Settings内有输入键设置

【Assets】资源,资源菜单,资源文件夹,资源管理界面

资源菜单:Create创建物体、show in Explorer在资源管理器中查看、Import New Asset导入新的资源

资源文件夹:Audios音效、Material材质、Prefabs预制、Scenes场景、Scripts脚本、Sprites精灵

【GameObject】游戏对象、游戏对象菜单

游戏对象菜单:Create创建物体、show in Explorer在资源管理器中查看、Import New Asset导入新的资源

【Component】组件、组件菜单

组件菜单:Mesh网格、Effects效果、Physics物理、Phusics 2D二维物理、Navigation导航、Audio音频、Video视频、Rendering渲染、Tilemap地图、Layout布局、Playables人模、Miscellaneous杂项、Ui界面

【Window】窗口、窗口菜单

窗口菜单:Layouts布局、Scene场景、Game游戏、Inspector检视、Hierarchy层次、Project工程、Animation动画、Audio Mixer音效混合器、Animator动画控制器、Sprite Packer精灵打包器

【Help】帮助、帮助菜单

【Hierarchy】层级视图界面

2.U3D基本步骤:

  • 开始界面/登录

  • 创建新项目File/new project

  • 创建新场景File/new scene

  • 新建文件夹assets/scenes用来保存场景File/save scene

  • 添加游戏对象 GameObject/Create(主要摄影机Main Camera,平行光Directional Light,游戏物体)

  • U3D层次关系:Project项目 > Scene场景 > GameObject游戏物体 > Inspector组件

【Scene】场景设计界面

  • 基本部件:摄像机位置、光照位置

  • 视图类型:perso透视视野/近大远小 iso平行视野

操作快捷键:

  • 鼠标移动(上下左右移动视角) 鼠标滑轮/alt(缩放视角) 鼠标左键双击/f(聚焦)

  • 鼠标右键 (旋转视角) alt+鼠标左键(视角围绕物体旋转)

  • 【Game】游戏运行界面

  • 【Project】项目管理界面

  • 【Console_1】控制台界面

  • 【Inspector】检视属性界面

  • 【Scene】场景设计界面

  • 【Game】游戏运行界面

  • 【Layout】布局设置

布局设置:2by3二横显示三竖资源、4Split四轴、Default默认、Tall竖着排、Wide横着排、Revert Factory Settings…恢复出厂设置

3.使用RectTransform工具缩放3D物体

RectTransform工具一般用于缩放2D物体,对3D物体使用该工具可以在某个二维平面对其进行缩放,这取决于物体与视口的关系。

4.吸附

按下Ctrl键对游戏对象进行移动、旋转、缩放,将以步进的形式进行操作,选择Editor > Snap Settings…命令,可设置步进大小。

5.组件预设

当完成某个组件的属性设置后,可点击组件右上角的预设按钮,将当前属性设置保存为预设,方便后续进行组件设置时使用。

6.保存选择状态

当选择了多个游戏对象后,可在 Edit > Selection 的子菜单中选择一个Save Selection项,暂存当前选择状态。选择Load Selection+对应的序号,即可恢复某个选择状态。此方法对跨节点选择多个对象的情况非常适用,这样将不必依次展开节点重新进行查找选择。

7.通过脚本暂定编辑器播放

使用EditorApplication.isPaused可通过代码在编辑器播放时将其暂停,如下代码所示:

oid Update()

    if (Time.time >= 10f)
    
        EditorApplication.isPaused = true;
    

8.查看游戏性能统计

点击Game窗口右上角的Stats按钮可以查看游戏性能统计数据,如帧率、批处理等指标。
查看更加详细的分析数据 :可使用Window > Analysis > Profiler工具;使用Profiler.BeginSample和Profiler.EndSample方法可在Profiler中查看函数的资源使用情况,如下代码所示:

Profiler.BeginSample("expensive");
CalculateSomething();
Profiler.EndSample();

需要引入UnityEngine.Profiling命名空间。

9.缓存组件引用

当某组件需要被频繁访问时,可在初始化时预先获取该组件的引用,从而避免在访问时由于重复获取引起的性能开销。

private Rigidbody rb;

void Start()

    rb = GetComponent<Rigidbody>();


void Update()

    rb.AddForce(0f, -2f, 0f);

同样的情况,也不要在使用Camera.main获取摄像机组件,尤其避免使用类似以下方法:

Camera cam = GameObject.FindGameObjectWithTag("MainCamera").GetComponent<Camera>();

这样会带来更大的性能消耗。

10.自定义Inspector

对Inspector进行自定义,添加一些控件。如下代码所示:

using UnityEngine;
using UnityEditor;

[CustomEditor(typeof(Sphere))]
public class SphereEditor : Editor

    public override void OnInspectorGUI()
    
        GUILayout.Label("自定义Inspector");
        GUILayout.Button("确定");
    

以上是关于游戏开发者必须了解的unity3D技巧的主要内容,如果未能解决你的问题,请参考以下文章

unity3d游戏开发脚本笔记之一:坐标系选择对物体运动的影响

Unity3d游戏开发UGUI插件入门之游戏菜单

unity3d 2D平面游戏实现鼠标拖拽物体移动

Unity3D游戏开发最佳实践20技巧

Unity3D 入门小技巧——鼠标拾取并移动物体

Unity3D游戏物体操作 ( 场景简介 | 添加游戏物体 | 操作游戏物体 | 选中游戏物体 | 场景显示效果缩放 | 重命名游戏物体 | 复制游戏物体 | 删除游戏物体 | 移动游戏物体 )