重装机兵重构

背景

看到 《大灾变:黑暗之日》 竟然还在维护,突然很感动,想到了重装机兵在国内应该也有一定的受众。于是,再次开始游戏吧。

过程

Day1

  1. 安装 Unity Hub
  2. 按照这个视频一步步学习简单的2d物理引擎 https://learn.unity.com/tutorial/playground-get-started-on-your-first-game?language=en#

Day2

按照这个教程开始2d游戏的高阶基础 https://learn.unity.com/tutorial/set-up-tilemap-collision?uv=2022.3&courseId=64774201edbc2a1638d25d18&projectId=6477424bedbc2a1473e5fce4# ,

人物可以移动,可以和sprite碰撞, 也可以和tilemap 碰撞

  1. 认识 Main window
  2. 认识 Context Menu
  3. 认识 Hierarchy Menu
  4. 认识 Project Menu
  5. 认识 Inspector Menu
  6. 认识 物理引擎 Rigidbody 2D
  7. 认识 碰撞器 Box Collider 2D
  8. 认识 Grid + TileMap
  9. 认识 Palette (tileSet)
  10. 认识 Rect Tool
  11. 认识 prefab 的作用

Day3

继续昨天的教程, 人物移动可以扣血回血, 并在血条上体现, enemy 的巡逻
  1. 认识 Box Collider 2D 的is Trigger 会导致可以穿透,并有事件
  2. 认识 Box Collider 2D 的 auto Tiling
  3. 认识 UI Builder(UI Document)
  4. 认识 VisualElement
  5. PlayerController 的碰撞脚本和静态的 UIHandler 进行血量交互
  6. 认识 Animator
  7. 认识 Animation
  8. 认识 Blend Tree

Day4

  1. Blend Tree 增加 transtion
  2. 认识 Layers (用于发射子弹)
  3. 认识 Edit > Project Settings… > Physics 2D -> the Layer Collision Matrix
  4. 认识 Raycasting
  5. 遇到了子弹射出去不移动的问题
  6. 遇到了子弹从enemy身上穿过去的问题
  7. 实现了对话弹出ui
  8. 认识cinimachine (摄像头碰撞)

Day5

  1. 认识 Audio Source
  2. 认识 Audio Source 的 Spatial Blend
  3. 认识 Effects -> Particle System
  4. 认识 粒子的 Radius 和 angle
  5. 如何手搓动画, 主要是关键帧
  6. Editor -> Project Setting -> Player 设置分辨率,版本
  7. File -> Building Profile -> 设置scene -> Build And Run

Day6

  1. 使用 UIDocument 增加游戏入口 Main , 监听 Enter 利用 SceneManager 切换到另一个场景
  2. unity store 购买免费的 DOTWEEN 插件, 然后实现场景切换时候的fade动画

Day7

  1. 复习实现 NPC 的弹窗对话
  2. 文字的打字机特效
  3. 自动滚动到ScrollView 的最下面

Day8

  1. 修复刚进入场景是 animator 迟缓(关闭Transitions 的 has Exit time)
  2. 在Moving(Blend Tree) 的基础上增加 Idle 的 Blend Tree
  3. 把6张真人的照片 去除背景, 然后处理成 像素图
  4. 学习战斗系统 英文教程, 在b站上看的盗版的
  5. 认识 Rigidbody 2D 的 Body Type: Dynamic / Kinematic / Static
  6. 认识 Rigidbody 2D 的 Collistion Detection: Discrete / Continuous

2025春节

Day9

  1. 参考b站上的中文教程
  2. 认识 Physics2D.OverlapCircle, 实现仇恨范围, 敌人自动追踪
  3. 认识 Cinemachine vs Camera Folllow

Day10

  1. 认识PlayerInput(Script) 和 InputAction 的区别
  2. 认识跨脚本调用,除了使用static 方法, 还可以使用 gameObject.BroadcastMessage()
  3. 在animation里面插入关键帧, 实现动画打击(假设是4帧, 就是1,2 帧 disable, 3帧enable, 4帧disable)

Day11

  1. 利用Collider 的 isTriger实现击退效果, 被伤害动画
  2. 实现死亡效果(死亡的动画插入event, 然后Destory掉 gameObject)
  3. 认识 TextMeshPro, 实现漂浮文字
  4. 实现漂浮文字的暴击效果, 动画效果

至此,动画相关除了持久化都已经测试结果,开始地图篇

作者

amano

发布于

2025-01-15

更新于

2025-02-28

许可协议

评论