how-to-make-a-video-game-in-unity-gameplay-e06

Course: 【油管100w+】 Unity 入门视频


🎮 视频标题|How to make a Video Game in Unity — GAMEPLAY (E06)

👤 主讲人|Brackeys

📅 系列定位|Unity 初学者系列 Episode 06

🏷 关键词|Prefab | Level Design | Rigidbody | ForceMode | Drag | Fog | Lighting | Gameplay Polishing


🏛 课程目标

手工搭建第一个完整关卡、提升玩家控制手感、并添加“雾效(Fog)”与场景氛围,

让游戏真正从原型变为“可玩体验”。


🧭 第一步:关卡结构设计

核心思路:

  • 使用 Prefab(预制体) 快速复制障碍物。
  • 在场景中排列、组合障碍块构成关卡。
  • 每个障碍可单独调整,但共享 Prefab 更新。

操作步骤:

1️⃣ 选中场景中的 Obstacle 对象 → 拖入 Project 面板 → 自动生成 Prefab

2️⃣ 在场景中多次拖入该 Prefab,复制出多个障碍物。

3️⃣ 修改某个障碍的属性(如 Scale),点击 “Apply” → 所有实例同步更新。

✅ Prefab 是 Unity 中“复用设计”的基础组件。

只需一次调整,即可全局更新所有实例。


📦 第二步:扩大地面与场景布局

问题:

当前地面太短,玩家会很快掉落。

解决:

  • 选中 Ground 对象:
    • Scale Z → 10000
    • Position Z → 4000
  • 地面延伸至远方,形成可玩空间。

🧱 “无尽跑酷”通常通过移动障碍,而非移动玩家。

但本教程保持物理真实,让玩家自己前进。


📚 第三步:视图与层级优化技巧

功能用法
场景视图切换点击视角轴(如 Y、Z)可切换方向。
透视 → 等距视图点击场景右上角小方块切换。
隐藏环境元素通过右上角下拉菜单禁用 Skybox / Fog。
图层分组新建 Layer(如 “Environment”),将地面归类。
锁定层在 Layer 视图中勾选锁定图标 🔒,避免误选地面。

🧩 小技巧:使用 Ctrl(或 Cmd)+ D 复制物体,结合网格吸附功能快速布局障碍。


🧠 第四步:提升玩家移动手感

当前问题:左右移动反应迟钝。

原因:

AddForce() 默认以 “连续力(Force)” 模式工作,会逐帧叠加动量,造成迟滞。

解决方案:使用 ForceMode.VelocityChange

  • 立即改变速度(忽略质量),响应更迅速。

修改代码:

rb.AddForce(sidewaysForce * Time.deltaTime, 0, 0, ForceMode.VelocityChange);

📘 ForceMode 类型:

模式含义
Force按物体质量施加持续力(默认)
Impulse按质量施加瞬时力
VelocityChange忽略质量,直接改变速度(推荐用于角色控制)
Acceleration忽略质量,连续加速度

✅ 建议:左右移动用 VelocityChange,前进力仍使用默认持续模式。


📦 第五步:调整物理阻力(Drag)与速度感

  • Rigidbody.drag:空气阻力值,越高则减速越快。
  • 调整建议:
    • Drag = 1
    • ForwardForce = 4000
    • SidewaysForce = 100

结果:

  • 更灵敏的控制反馈
  • 快速转向时不会“漂移”
  • 玩家响应更自然平滑

🧪 第六步:测试与关卡平衡

  • 使用 Ctrl + P(Windows)或 Cmd + P(Mac)快速进入播放模式。
  • 调整障碍间距:
    • 让玩家在 3–4 秒内必须反应一次。
    • 过密会导致挫败,过稀则无挑战。

📘 经验:

手工调试难度优于程序生成。

视觉节奏与空间节奏同样重要。


🎇 第七步:添加雾效(Fog)增强氛围

操作路径:

1️⃣ 菜单栏 → Window → Rendering → Lighting

2️⃣ 在 Inspector → Environment → 勾选 “Fog”

3️⃣ 设置参数:

  • Color:选取背景天色(淡蓝或灰蓝)
  • Density:0.2
  • Mode:Linear(线性)

结果:

  • 远处物体逐渐消隐
  • 增强纵深感
  • 营造神秘或梦幻气氛

🌫️ “看不清前方” = 玩家对未知的好奇 + 挑战感。


本集成果总结

功能模块实现效果
Prefab 管理快速创建重复障碍并统一调整属性
地面扩展无限延伸的游戏空间
Layer 管理精准选中对象与组织层级
物理优化ForceMode + Drag 提升手感
美术增强雾效 + Lighting 改善视觉体验

🪄 延伸挑战任务

1️⃣ 加入动态障碍:

  • 使用 transform.Translate()Mathf.Sin() 实现往返运动。

    2️⃣ 添加收集物(Coins):

  • 带触发器 Collider + OnTriggerEnter() 检测拾取。

    3️⃣ 优化关卡编辑器:

  • 创建自定义 Prefab 组(障碍 + 装饰 + 音效)。

    4️⃣ 性能优化:

  • 使用 Static Batching 固定背景对象减少 Draw Call。


📚 下一集预告:GAME OVER & RESTART SYSTEM

Episode 07 将引入 GameManager,

实现死亡后自动重启关卡与 UI “Game Over” 提示。

你将学习:

  • Scene 重载 (SceneManager.LoadScene)
  • 延迟调用 (Invoke())
  • UI Text 显示与隐藏