第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 + Component = 有功能的游戏实体。缺一不可。

添加组件的方法:选中一个GameObject,在Inspector面板底部点击“Add Component”,然后搜索你想要的组件。比如你想让一个球滚起来,就加一个Rigidbody。

2.5 Transform组件——每个对象的“身份证”

每个GameObject都自带一个Transform组件。它记录了三样东西:

  • Position:位置(x, y, z)
  • Rotation:旋转(绕x, y, z轴的角度)
  • Scale:缩放(大小比例)

嗯,这里有个坑——我见过有人直接修改Scale的数值来让物体变大,结果发现子物体也跟着变形了。为什么?因为Transform是层级传递的。父物体缩放,子物体也会受影响。所以如果你只想改变模型本身的大小,最好去修改Mesh的导入设置,而不是Scale。

避坑指南: 我曾经在做一个关卡时,为了省事直接缩放了一个父物体,结果所有子物体的碰撞体都错位了。排查了半天才发现是Scale的问题。所以,尽量保持Scale为(1,1,1),除非你有明确的设计需求。

2.6 实践:搭建你的第一个小场景

咱们来动手试试。跟着我做:

  1. 新建一个场景(File → New Scene)
  2. 在Hierarchy里右键 → 3D Object → Plane(地面)
  3. 再创建一个Cube和一个Sphere
  4. 用移动工具(快捷键W)把它们摆到地面上方
  5. 选中Cube,在Inspector里点Add Component → 搜索“Rigidbody”并添加
  6. 点击运行按钮(顶部的▶️),你会看到Cube掉下来,而Sphere没动

为什么Cube会掉下来?因为它有了Rigidbody组件,受到了重力影响。Sphere没有,所以它纹丝不动。这就是组件的威力——加一个组件,就多一种行为。

我个人建议你多试试不同的组件组合。比如给Sphere也加个Rigidbody,然后让它们碰撞看看。或者给Cube加个Box Collider,调整碰撞体的大小。这些操作在Inspector里都是实时生效的,非常直观。

2.7 本章小结

这一章咱们把Unity的界面、场景操作、游戏对象和组件这几个基础概念过了一遍。说白了,Unity就是一个“搭积木”的工具——GameObject是积木块,Component是积木块上的功能模块。你搭得越多,对它的理解就越深。

下一章,咱们会深入聊聊脚本——怎么用代码来控制这些组件。到时候你会发现,Unity真正的威力才刚刚开始展现。


公众号:蓝海资料掘金营,微信deep3321