赞
踩
当我们创建好一个项目后,就会进入到一个默认的场景中。这是我们的第一步,任何一个伟大的作品,都是这么一步步走来的。那么,面对Unity引擎给我们的这个简单场景,我们又能做些什么呢?
这里以Unity2017为例,其它版本的Unity可能会多一些功能,但是总体应该差不了多少。
上图是总结的一个简单的Unity开发场景,各个面板布局是我自定义的一种比较喜欢的方式(布局是可以在右上角的Layout处设置的,也可以保存自己的布局方式)。可以看到一个面板上可以有不止一个视图,比如下方Console视图和Game视图放在同一个面板上。通过点击面板右上方的箭头或在视图标签上点击右键,可以添加新的视图(甚至可以重复添加)。
有几个比较复杂或位置不够的内容,就拿到下面说明了。
注解1:左侧可以在"Pivot"和"Center"间进行切换:当为Pivot时,表示该游戏物体在创建时指定的中心点,如果选中的是多个物体,那该坐标表示的是第一个选中物体的Pivot坐标;当为Center时,指的是Unity根据模型的mesh信息计算得到的中心位置,当选中多个物体时,其坐标是所有模型共同参与计算出来的坐标。右侧则是在"Global"和"Local"间进行切换:当为
注解2:是否关闭声音。
注解3:通过该Layers按钮,可以隐藏特定层级或锁定特定层级(被锁定层级中的游戏物体在Scene视图中无法用鼠标选中)。
内容补充:
其中部分快捷键可以通过Edit -> Preferences -> Keys里面进行设置。
Q -- Hand (手形) 平移整个Scene视图(可用鼠标中键代替)
W -- Translate(移动) 移动选定的游戏对象
E -- Rotate(旋转)按任意角度旋转游戏对象
R -- Scale(缩放)缩放选中的游戏对象
T -- 横切面工具 可以沿着横截面缩放,绕着横截面中心点旋转(常用于2D开发中)
Z -- Center 在Pivot和Center模式间切换
X -- Local 在Local和Global模式间切换
Ctrl + P -- 播放按钮
Ctrl + shift + P -- 暂停按钮
Ctrl + Alt + P -- 逐帧播放
Ctrl + N -- New Scene 创建新场景
Ctrl + O -- Open Scene 打开场景
Ctrl + S -- Sava Scene 保存场景
Ctrl + Shift + S -- Save Scene as 场景另存为
Ctrl + Shift + B -- Build Settings 发布设置
Ctrl + B -- Build & Run 发布并运行
Ctrl + Z -- Undo Selection Change 撤销上一步操作
Ctrl + X -- Cut 剪切
Ctrl + Y -- Redo 反撤销
Ctrl + C -- Copy 复制
Ctrl + V -- Paste 粘贴
Ctrl + D -- Duplicate 复制并粘贴
Shift + Del -- Delete 删除(不需要再点确认)
Ctrl + A -- Select All 选择全部
Ctrl + F -- Find 搜索,按名称查找物体
Shift + F -- Lock View to Selected 锁定到搜索到的物体
F -- Frame Selected 居中并最大化选中游戏物体(快速双击Hierarchy视图中游戏物体有相同效果)
Selection大类,Ctrl + Alt + 数字键:保存在Hierarchy视图中选中了哪些游戏物体,Ctrl + Shift + 数字:读取之前的选中配置
Ctrl + R -- Refresh 刷新场景
Ctrl+ Shift + N -- Create Empty 创建一个空的游戏对象
Alt + Shift + N -- Create Empty Child 创建一个空的子物体
Ctrl + Alt + F -- Move to New 移动选中对象到视图中心点
Ctrl + Shift + F -- Align With View 将选中物体移动到当前视角处
Ctrl + - --Set as last sibling 将选中物体作为最后一个子物体
Ctrl + = -- Set as first sibling 将选中物体作为第一个子物体
Alt + Shift + A -- Toggle Active State 激活或激死选定的游戏物体
Ctrl + Shift + A -- Add 添加组件
Ctrl + Tab -- Next Window 下个窗口
Ctrl + Shift + Tab -- Previous Window 上个窗口(用于多个视图重叠时)
Ctrl + 1 -- Scene 打开Scene视图
Ctrl + 2 -- Game 打开Game视图
Ctrl + 3 -- Inspector 打开Inspector视图
Ctrl + 4 -- Hierarchy 打开Hierarchy视图
Ctrl + 5 -- Project 打开Project视图
Ctrl + 6 -- Animation 打开Animation视图
Ctrl + 7 -- Profiler 打开Profiler视图
Ctrl + 8 -- Audio Mixer 打开Audio Mixer视图
Ctrl + 9 -- Asset Store 打开Unity资源商店
Ctrl + 0 -- Asset Serve 打开资源服务器
Ctrl + Shift + C -- Console 打开控制台
按住鼠标中键 + 拖拽 -- 平移整个视图
滑动鼠标中键 -- 快速缩放视图
Alt + 鼠标左键拖拽 -- 以当前视图中心点为基准点进行旋转
右键拖拽 -- 以自身为基准点旋转
Alt + 鼠标右键拖拽 -- 进行平滑缩放视图
鼠标右键 + W/A/S/D/Q/E -- 向前/后/左/右/下/上移动浏览视图
鼠标右键 + W/A/S/D/Q/E + Shift -- 向前/后/左/右/下/上快速移动浏览视图
F2 -- 重命名
Alt + 鼠标左键点击Hierarchy视图中游戏物体子物体展开箭头 -- 展开或收起对象所有子物体
Shift + 空格 -- 对当前窗口进行最大化或恢复
选中游戏物体 + V -- 在Scene视图中定位到距离鼠标最近的该物体身上的顶点,可选中拖动
Ctrl + 拖拽游戏物体 在Scene视图中以一定的增量来改变游戏物体的属性(增量在Edit -> Snap Settings中设置)
创建项目后进入Untitled场景中,Unity给我们提供了两个默认游戏物体:Main Camera和Directional Light。我们在进行开发时,操纵的对象也主要是游戏物体。
选中一个游戏物体,我们可以在Inspector面板上看到它会挂有一些组件,如:Transform, Camera等。我们创建出来的游戏物体都是一样的,正是通过组件来实现不同游戏物体的独特功能。组件也可以像游戏物体一样,通过左上方的勾来启用或者关闭(通过组件脚本中的enabled属性来实现)1。
所有游戏物体构成一个场景,使用Ctrl + S保存场景到Assets文件夹中(场景也是资源,必须放在Assets文件夹内)。使用Notepad++打开刚才保存的Unity场景文件2,看下图:
场景文件中预制体记录的是相对原预制体的改变之处3,这样只需要引用原预制体meta文件,并将场景文件中记录下的修改应用到meta文件中,就可以再现在该场景中预制体的样子了(因此预制体节约内存又方便)。
我们再点开一个上图场景中的一个游戏物体,同时开启Inspector的Debug模式:
可以看到:
其中,!u! + 数字ID表示不同的组件类型,具体ID对应关系参阅官方文档,其中114对应的是MonoBehaviour。而游戏物体上的InstanceID是Unity中一个实例的ID,每一个Unity实例都有一个,在运行时可以使用UnityEngine.Object的GetInstanceID获取,但是,每一次运行相当于生成新的实例,这个值是可变的。
因此,场景信息的保存原理因此也显而易见了:场景文件记录了每个场景中的游戏物体,每个游戏物体记录该游戏物体身上组件的FileID,在需要引用时根据FileID查找文件中的组件;而组件内记录在该场景中的初始化数据(即场景中组件记录的数据会覆盖脚本中给公有变量定义的数据)。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。