第2章 Unity引擎入门:界面介绍、场景视图操作、游戏对象与组件基础
好,咱们正式开始接触Unity。说实话,我第一次打开Unity的时候,看着满屏的面板,心里是有点懵的。但别担心,这东西就跟学开车一样——先认识方向盘、油门、刹车,然后就能上路了。
2.1 Unity界面总览
Unity的界面,说白了就是几个核心面板的组合。我习惯把它分成五个区域:
- Scene视图:你搭建游戏世界的“画布”
- Game视图:玩家最终看到的画面
- Hierarchy面板:当前场景里所有对象的清单
- Inspector面板:选中对象的“属性面板”
- Project面板:项目的资源仓库
嗯,这里要注意——很多人一开始会把Scene和Game搞混。Scene是你编辑的地方,Game是运行时的预览。我在项目里见过新手在Game视图里拖拽物体,结果发现根本拖不动,急得满头大汗。其实你该去Scene视图操作。
2.2 场景视图操作
场景视图的操作,说白了就是三个动作:平移、旋转、缩放。快捷键记一下:
| 操作 | 鼠标/键盘 | 说明 |
|---|---|---|
| 平移视图 | 鼠标中键拖拽 | 像在地图上移动 |
| 旋转视角 | 按住Alt + 左键拖拽 | 围绕目标旋转 |
| 缩放 | 滚动滚轮 | 拉近拉远 |
| 聚焦对象 | 选中对象后按F | 瞬间定位到物体 |
我个人习惯用F键来快速定位。比如场景里有个小道具找不到了,点一下Hierarchy里的名字,再按F,镜头就飞过去了。这招在复杂场景里特别管用。
2.3 游戏对象(GameObject)
游戏对象,就是场景里的一切。一个Cube、一个Camera、一个Light,都是GameObject。你可以把它想象成一个空盒子——它本身啥也没有,但你可以往里面塞东西。
创建一个游戏对象很简单:
- 右键Hierarchy面板 → 3D Object → Cube
- 或者直接点菜单栏的GameObject → Create Other
我曾经带过一个新人,他问我:“为什么我创建了一个Cube,它却不会动?” 我告诉他——因为Cube只是一个空壳子,你得给它加“行为”。这就引出了下一个核心概念:组件。
2.4 组件(Component)基础
组件,就是游戏对象的“能力”。一个Cube为什么能显示在屏幕上?因为它有一个Mesh Renderer组件。为什么它能被光照照亮?因为它有一个Mesh Filter组件。为什么它能被物理引擎推动?因为它有一个Rigidbody组件。
你想想看,游戏对象本身只是一个容器,组件才是真正的灵魂。我经常跟团队说一句话:“没有组件的GameObject,就是个光杆司令。”
添加组件的方法:选中一个GameObject,在Inspector面板底部点击“Add Component”,然后搜索你想要的组件。比如你想让一个球滚起来,就加一个Rigidbody。
2.5 Transform组件——每个对象的“身份证”
每个GameObject都自带一个Transform组件。它记录了三样东西:
- Position:位置(x, y, z)
- Rotation:旋转(绕x, y, z轴的角度)
- Scale:缩放(大小比例)
嗯,这里有个坑——我见过有人直接修改Scale的数值来让物体变大,结果发现子物体也跟着变形了。为什么?因为Transform是层级传递的。父物体缩放,子物体也会受影响。所以如果你只想改变模型本身的大小,最好去修改Mesh的导入设置,而不是Scale。
2.6 实践:搭建你的第一个小场景
咱们来动手试试。跟着我做:
- 新建一个场景(File → New Scene)
- 在Hierarchy里右键 → 3D Object → Plane(地面)
- 再创建一个Cube和一个Sphere
- 用移动工具(快捷键W)把它们摆到地面上方
- 选中Cube,在Inspector里点Add Component → 搜索“Rigidbody”并添加
- 点击运行按钮(顶部的▶️),你会看到Cube掉下来,而Sphere没动
为什么Cube会掉下来?因为它有了Rigidbody组件,受到了重力影响。Sphere没有,所以它纹丝不动。这就是组件的威力——加一个组件,就多一种行为。
我个人建议你多试试不同的组件组合。比如给Sphere也加个Rigidbody,然后让它们碰撞看看。或者给Cube加个Box Collider,调整碰撞体的大小。这些操作在Inspector里都是实时生效的,非常直观。
2.7 本章小结
这一章咱们把Unity的界面、场景操作、游戏对象和组件这几个基础概念过了一遍。说白了,Unity就是一个“搭积木”的工具——GameObject是积木块,Component是积木块上的功能模块。你搭得越多,对它的理解就越深。
下一章,咱们会深入聊聊脚本——怎么用代码来控制这些组件。到时候你会发现,Unity真正的威力才刚刚开始展现。
公众号:蓝海资料掘金营,微信deep3321