Log Detail

vampire-like Git 变更总结

本次优化敌人视觉辨识度,引入基于Cinemachine的相机跟随模块,扩充道具系统并统一图标命名规范。

2026/06/10 basil/vampire-like commit: ee69efe9..a2cd3ab7

敌人优化相机优化道具规范

2026-06-10 vampire-like 开发变更汇总

仓库:basil/vampire-like(别名:vampire-like)| 本次共提交 3 个 commit | 总增删行数:+287 / -324 | 改动类型:代码 3 项,文档 1 项

本次核心围绕体验优化、逻辑复用、规范落地三个方向做了调整,具体如下:


一、敌人辨识度与移动反馈优化

对应 commit:ee69efe9 | 触及 8 个文件 | 增删 +77 / -146

这次调整完全没有修改敌人的基础战斗、寻路逻辑,只是在**敌人数据表(Enemy.txt)新增了缩放系数、颜色编码两个字段,配合关卡配置表(Level.txt)**的生成规则调整,用「尺寸缩放 + 自定义颜色」的方式做不同敌人的视觉区分,同步调整了近战敌人、手枪子弹预制体的组件引用,适配新的属性字段。顺道还修正了 .gitignore 里 archive 目录的路径写法,加了本地 .omc 配置目录的忽略规则,避免把本地临时配置提交到仓库。

当时遇到的问题与调整过程

这套方案其实是和俯视角移动体验优化配套做的:最开始切俯视角的时候踩了个很隐蔽的体验坑——地面是纯色的,玩家又固定在画面中心,只要镜头范围内没有敌人,玩家完全感知不到自己在移动,一点反馈都没有。 一开始我把水平光删了,加了几个点光源,靠实体的影子给玩家提供移动反馈,但很快又出了新问题:整体光照偏暗,敌人、掉落物的颜色辨识度暴跌,混刷的时候根本分不清是什么怪。 后来又把水平光加回来了,把强度卡到一个刚好的阈值:既能照清楚所有实体的固有颜色,又不会抵消点光源投下的影子,再配合这次的缩放、颜色区分,就算同屏刷多种敌人也能一眼分清,移动反馈的问题也解决了,和后面的相机优化搭配起来体验好了很多。


二、相机系统重构:引入可复用 CameraModule 插件

对应 commit:7a3a2cf1 | 触及 6 个文件 | 增删 +164 / -125 | 含文档更新

这次把原来硬编码在玩家预制体里的相机逻辑全部拆了,引入了基于 Cinemachine 2.x 封装的 CameraModule 可复用插件,自带摄像机跟随缓动、移动方向偏移、朝向校准这些常用基础效果,支持开关控制,还写了完整的《接入说明.md》,后续其他项目要用到直接导目录就行。 代码层面的调整很简单:在游戏入口(GameEntry.Custom.cs)注册了相机模块的单例,在游戏流程逻辑(ProcedureGame.cs)里加了跟随目标的绑定——进战斗场景自动绑定玩家 transform,切场景的时候自动解绑,原来写在 Player.prefab 里的 100 多行相机相关组件配置全删掉了,预制体结构干净很多。

为什么封装插件而不是直接调用原生 Cinemachine?

主要是权衡了复用效率和维护成本:原生 Cinemachine 的功能很全,但配置步骤繁琐,每个项目从零搭一遍要花不少时间,团队新人用还要啃一遍文档。封装成插件之后,常用的基础效果都内置好了,按接入说明两步就能跑,后续要改相机逻辑也只要改插件这一处,所有用到的项目都能同步更新,不用每个项目分别改。


三、道具系统扩充 + 图标命名规范统一

对应 commit:a2cd3ab7 | 触及 5 个文件 | 增删 +46 / -53

这次扩充了道具系统的配置,调整了**道具表(Prop.txt)、升级奖励表(LevelUpReward.txt)、稀有度表(LevelRarity.txt)**的字段结构,补了一批新道具的属性,顺道清掉了角色表、音乐表里的冗余测试数据,表结构更整洁了。 重点是落地了道具图标命名的统一规范,不再用之前随意起名的方式,改成和道具ID一一对应的命名规则。

推动规范的核心痛点

之前踩过太多次命名混乱的坑:

  1. 配表的时候只要打错一个字母,道具图标就加载失败,查错要查半天;
  2. 美术出素材的时候起名随意,经常出现重名覆盖的问题,找素材要翻半天;
  3. 每次加新道具还要费脑子给图标想名字,纯纯无用功。 现在规范成和道具ID绑定之后,配表的时候直接填ID就行,不用记素材名,完全避免了打错字、重名的问题,配表的心智成本低了很多。

后续待跟进事项

  1. 相机模块极限场景测试:验证角色高速移动、瞬间传送时,缓动效果会不会出现卡顿、穿模问题
  2. 复杂关卡敌人辨识度测试:验证多波次混刷、暗部场景下,缩放+颜色的区分方式会不会还是看不清
  3. 历史资源覆盖检查:确认所有旧道具的图标都已经按新规范重命名,避免出现加载异常
  4. CameraModule 兼容性验证:测试不同 Unity 版本、Cinemachine 小版本下的接口兼容性,确保跨项目可用

注:本文由模型 unknown 生成(草稿与终稿同模型)。