规划

在初期游戏框架>游戏核心内容,我打算先确定好游戏几个核心场景的框架再开始填充内容

首先明确:我需要至少四个场景,分别是主菜单、游戏场景、组队大厅、训练营兼收集物品展示。
前几日就要重点处理主菜单的内容、主菜单与其他场景的链接

主菜单 UI

参考魔兽争霸3杀戮尖塔两款游戏的主菜单UI,对于加载到主菜单的动画有如下构想

  1. 游戏界面由刚加载的纯黑,慢慢由“由远至近”点亮的火把所点亮
  2. 左侧的 UI 由锁链挂着的平台从上方掉落

借助AI提示词大致生成了与我预期接近的图

主菜单UI

布置菜单内容

  1. 创建单独的场景,右键UI->Canvas创建一个画布
  2. Canvas创建空对象,命名为MainMenu
  3. 为MainMenu添加Vertical Layout Group组件,参数可以微调
  4. 在MainMenu下创建UI->按钮-TextMeshPro

最初布局

添加菜单掉落动画

想要为菜单添加重物落地弹回的动画,我通过DOTween实现。动画曲线的选择找到几个参考网站,以后做网页前端也可以参考

  1. https://easings.net/#
  2. https://easingwizard.com/ (这个更强大)

DOTween 配置

  1. 打开 Asset Store:在 Unity 编辑器顶部菜单栏点击 Window -> Asset Store(或者 Search Online),搜索 “DOTween (HOTween v2)”。
  2. 下载免费版:点击 Add to My Assets 然后在 Unity 的 Package Manager 中点击 Download 和 Import。
  3. 导入完成后,Unity 屏幕上会弹出一个带有绿色按钮的 DOTween 控制面板。点击 Setup DOTween… 按钮,在弹出的窗口中点击 Apply。这一步的作用是让 DOTween 扫描你的工程,并生成针对 UGUI(如 RectTransform, CanvasGroup)的专属扩展方法。

UI动画微调

主菜单动画的代码单独放在Assets->Scripts->Menu->MainMenu->MainMenuUILoading.cs

游戏场景

最先确定游戏玩法:俯视角 3D 游戏,所以第一天先解决了用户输入以及摄像机问题

临时使用立方体作为 Player 模型,添加刚体与碰撞体

玩家输入

使用Unity提供的新版Input System

  1. 在 Window -> Package Manager 中搜索并安装 Input System
  2. 为 Player 添加 Input System 组件
  3. Behavior 选择 Invoke Unity Events
  4. 事件中选择 Player 下的 Move 事件,先完成基础的移动部分
  5. 因为是俯视角,所以要冻结Y轴的移动,在刚体组件中勾选 冻结Y轴移动
    玩家移动输入

相机固定

  1. 安装 Cinemachine 插件
  2. 在场景中创建一个空对象,命名为 CameraController
  3. CameraController 添加 Cinemachine Virtual Camera 组件
  4. Virtual Camera 组件中,将 FollowLook At 设置为 Player
  5. 调整 Cinemachine Virtual Camera 组件的参数,如 DampingFollow Offset 等,以获得满意的相机效果

相机固定

移动方向调整

斜俯视角游戏,默认的移动方向输入会出问题,我后续还希望添加类似饥荒的切换相机视角的功能,所以依照相机视角决定用户移动方向最为合适
即:速度=相机角度*输入向量

移动方向修改

多语言选择

游戏内容的翻译应当在一开始便考虑好,实现方式选择Localization

配置 Localization

  1. 找到 Window -> Package Manager,左上角加号旁边的下拉菜单,选择 Packages: Unity Registry(查看官方库)
  2. 在右上角搜索框输入 Localization 搜索并安装
  3. 安装完成后在顶部菜单选择 Edit -> Project Settings…
  4. 在左侧列表中找到 Localization,并点击 Create 按钮
  5. Unity 会让你保存一个资产文件。在 Assets 文件夹下新建一个叫 LocalizationData 的文件夹,将它存进去
  6. 依然在 Project Settings 的 Localization 页面中,点击 Locale Generator 按钮
  7. 在弹出的列表中,打勾选择Chinese(Simplified)(zh-Hans)Chinese(Traditional)(zh-Hant)English(en)
  8. 点击 Generate Locales。把它保存在你刚才建的 LocalizationData 文件夹里
  9. 回到 Project Settings 页面,在 Available Locales 列表里,把简体中文拖到列表的第一位作为默认语言

Localization 配置