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一一对应的命名规则。
推动规范的核心痛点
之前踩过太多次命名混乱的坑:
- 配表的时候只要打错一个字母,道具图标就加载失败,查错要查半天;
- 美术出素材的时候起名随意,经常出现重名覆盖的问题,找素材要翻半天;
- 每次加新道具还要费脑子给图标想名字,纯纯无用功。 现在规范成和道具ID绑定之后,配表的时候直接填ID就行,不用记素材名,完全避免了打错字、重名的问题,配表的心智成本低了很多。
后续待跟进事项
- 相机模块极限场景测试:验证角色高速移动、瞬间传送时,缓动效果会不会出现卡顿、穿模问题
- 复杂关卡敌人辨识度测试:验证多波次混刷、暗部场景下,缩放+颜色的区分方式会不会还是看不清
- 历史资源覆盖检查:确认所有旧道具的图标都已经按新规范重命名,避免出现加载异常
- CameraModule 兼容性验证:测试不同 Unity 版本、Cinemachine 小版本下的接口兼容性,确保跨项目可用
注:本文由模型
unknown生成(草稿与终稿同模型)。