游戏开发者必须了解的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游戏物体操作 ( 场景简介 | 添加游戏物体 | 操作游戏物体 | 选中游戏物体 | 场景显示效果缩放 | 重命名游戏物体 | 复制游戏物体 | 删除游戏物体 | 移动游戏物体 )