下载 App

《刀光剑影》开发者日志第四期:剑气对标参考、特效拉满

10/101 浏览综合

本期进展

1. 剑气形状定为固定月牙,不再跟玩家手绘走
上一期的刀光形状 = 玩家画什么就是什么。实际试下来这个设计有问题:玩家随手画一笔,出来的形状很难看,而且剑气的"帅"完全依赖玩家的手速和手感。
改成固定月牙形状:玩家画什么只决定"出不出招",形状永远是同一道月牙。程序化生成 32 个点:x = t - 0.5、y = -0.11 + 0.22 * (2t-1)²,两端翘起、中间下沉,就是一道干净的弯月。
2. 刀光整整看不见了——根因不是 Bloom
这是本期最大的坑。刀光代码在跑、Fire() 返回 true、几何体顶点也在生成,但画面上什么都没有。排查过程:
怀疑对象实测结果
Bloom 参数(UE 模式 texture3DLod 编译失败)换成 LEGACY、甚至删掉所有 bloom 设置 → 仍然 54 个错误
场景元素冲突裸场景 + bloom = 0 错误;完整场景 = 0 错误
屏幕热扭曲移除 hint_screen_texture 那块 → 刀光立刻出现
真凶是 shader 里的屏幕热扭曲:uniform sampler2D screen_tex : hint_screen_texture 在这个渲染后端会导致整个材质 link 失败,报 fragment shader input 'vNormal' has no matching output in the previous stage,于是刀光整块渲染不出来。
去掉扭曲后刀光恢复。扭曲属于锦上添花,为了它牺牲整个刀光不值得,所以这一版直接砍掉。
3. 月牙被"压平"成了一条横线
刀光出来了,但形状是"水平放射扇",完全不是月牙。原因是 Settings.Blade.tilt = 80°——刀光面几乎水平贴地,而游戏相机是俯视 20°,看下去就只剩一条横线。
参考《晶核》的剑气是正对镜头的月牙,所以刀光面法线要抬到接近视线方向。扫描了 20° / 35° / 50° 三档,35° 时月牙完整张开、正对镜头。
[图片:暂不支持黏贴,请手动导入]
上图:左 = tilt 80°(被压成一条横线,就是玩家说的"向下挥");右 = tilt 35°(月牙完整张开、正对镜头)。
4. 从"羽毛扇"改成"刀带"
月牙形状对了,但刃身是 36 根细直丝排在一起,像一把羽毛扇,读不出"刀"的实体感。两处调整:
  • 加厚:刃半宽 0.26m → 0.42m。11 米宽的月牙上,0.26m 只占 5%,看着就是细线
  • 少而粗、明显弯曲:光丝 36 根 → 22 根,粗细 1.5 → 2.4,弯曲量 curve 0.30 → 0.62
[图片:暂不支持黏贴,请手动导入]
上图:加厚后的月牙刀光,白热亮芯 + 青色外发光晕 + 拖尾光丝。
5. 飞行速度砍到 1/2.5
原来 60 m/s,0.3 秒就飞出画外,像飞刀一闪而过。竞技场半径 34m、敌人距角色约 19m,刀波得在 0.6~0.8 秒飞到敌人才有命中感。降到 24 m/s 后,射程约 22~31m,正好扫过敌阵再淡出。
6. 粒子层:飞散的光点
新增 SparkMote 粒子系统(120 个粒子池)。刀光飞行的前 40% 时间里持续抛撒光点,在身后留下飞散的光尘。和拖尾一样用顶点色传生命周期——池里所有粒子共用一个材质,只有顶点色能逐粒子传值。
7. 后处理:Bloom + 运动模糊
  • 运动模糊:zone.motionBlurEnabled / motionBlurAmount / motionBlurMaxDistortion。这个我上一期判断错了,说"引擎不支持"——其实 Zone 上有完整的运动模糊属性,已经配上
  • Bloom:LEGACY 模式,threshold 0.85、weight 0.80
[图片:暂不支持黏贴,请手动导入]
上图:月牙刀光飞行的三个时刻,拖尾随飞行流动、粒子光点在身后飘散。

问题与风险

软件渲染后端不跑 Bloom。
本地验证用的 -graphicssurfaceless 后端上,Bloom pass 的 shader link 失败(同样是 vNormal 报错),所以本地截图永远看不到 Bloom 光晕。这意味着:
  • 不能靠"本地截图有没有光晕"来判断 Bloom 参数调得对不对
  • 刀光的"发光感"不能只依赖 Bloom,必须在 shader 里直接画出来
解法是在 shader 里加一层自发光晕(halo_gain):沿刃身横向画一圈柔光,不依赖 Bloom pass。真机上 Bloom 再叠一层,会更强。这是个已知的双轨方案——本地看到的是 shader 兜底效果,真机是兜底 + Bloom。
屏幕扭曲暂时砍掉。 热扭曲(折射背景)在 GPU 上是加分项,但这个后端上它会让整个刀光消失。等确认目标机型的渲染路径支持 hint_screen_texture 后再考虑加回。
运动模糊的强度还没在真机验证。 motionBlurAmount = 0.45 是按经验给的,本地看不到效果(同样不跑这个 pass),需要真机确认是否过强/过弱。

下期计划

  • 真机验证 Bloom 与运动模糊的实际强度,回调参数
  • 评估 hint_screen_texture 在目标机型上是否可用,决定屏幕扭曲是否加回
  • 敌人 AI 与战斗节奏调整(这个从上期拖到现在,仍是优先级最高项)
《刀光剑影》开发者日志截图
《刀光剑影》开发者日志
剑气随机滚转 + 拖尾居中 本期进展 1. 剑气不再永远是水平的 之前每道剑气都是固定的水平月牙,看久了很单调。这一期让它绕飞行轴随机滚转: lua复制 self.roll = math.random() * 360.0 self.rotation = Quaternion(yaw, Vector3.UP) * Quaternion(self.roll, Vector3.FORWARD) yaw
官方
1 赞
《刀光剑影》开发者日志
第一期:让刀光"是画出来的",而不是贴上去的
本期进展
1. 核心玩法跑通了
玩家在屏幕上画一笔,这一笔的形状直接变成一道飞出去的刀光。画横线出横劈,画弧线出月牙,画爱心就出爱心刀光。笔画越长刀波越大,画得越快伤害越高。
技术上走的是「屏幕笔画 → 归一化形状 → 程序化几何体」这条路:把玩家的采样点降采样、居中、按最大跨度归一化到 [-0.5, 0.5],再沿着轨迹生成带截图
《刀光剑影》开发者日志 第一期:让刀光"是画出来的",而不是贴上去的 本期进展 1. 核心玩法跑通了 玩家在屏幕上画一笔,这一笔的形状直接变成一道飞出去的刀光。画横线出横劈,画弧线出月牙,画爱心就出爱心刀光。笔画越长刀波越大,画得越快伤害越高。 技术上走的是「屏幕笔画 → 归一化形状 → 程序化几何体」这条路:把玩家的采样点降采样、居中、按最大跨度归一化到 [-0.5, 0.5],再沿着轨迹生成带
官方
1 赞
《刀光剑影》开发者日志截图
《刀光剑影》开发者日志
角色蒙皮重构、画质链路,和一次发布环境的两连错 本期进展 1. 角色蒙皮:给"设备上一换角度就碎"做了一条兼容渲染路径 用户反馈的角色横片破碎,本地用独立观察相机做了固定姿势的前/后/侧/高俯角实拍,全部正常——问题复现不了,但截图是真的。排查收敛到一个高危点:内置 GPU 蒙皮的骨矩阵纹理存的是世界空间矩阵(角色在 470/326 米一带),一旦设备某个阶段把精度降到 FP16,光这个平移就会产
官方
《刀光剑影》开发者日志截图
《刀光剑影》开发者日志
给游戏配上武侠 BGM(音效试听后撤掉) 本期进展 之前完全没有声音 查了一遍:项目里没有任何音频资源和音频代码,连 SoundSource 都没出现过。素材声明里也写着"作品无背景音乐与音效"。这期补上。 生成 3 首武侠 BGM 用 AI 音乐模型生成,纯器乐(古筝/琵琶/二胡/战鼓),无人声: 文件 用途 时长 bgm_menu.ogg 菜单、结算 约 3.5 分钟 bgm_battle.o
官方
1 赞
《刀光剑影》开发者日志截图
《刀光剑影》开发者日志
第八期:资源瘦身、流式不卡,和把草地"做回草地" 本期进展 包体从 1.2GB 压到 637MB(源目录 630MB → 239MB) 用户问"是不是资源不够",实际是资源没用对。审计发现三类浪费: 问题 体积 处理 assets/image 30 张设计稿 + 开发截图 138MB 运行时零引用,归档 Textures/Landscape、terrain、TileSets、Environment
官方
1 赞
《刀光剑影》开发者日志截图
《刀光剑影》开发者日志
三幕扩到六幕,把数值收进一张表 本期进展 1. 问题:内容太少 用户反馈"经常有玩家抱怨内容太少了"。当时是 3 幕、每幕 240 秒,一局约 12 分钟,而且第 3 幕首领一死就直接结算——中段没有变化,重复玩很快腻。 2. 扩到 6 幕,并调整单幕时长 旧 新 幕数 3 6 单幕时长 240 秒 150~180 秒 一局总时长 约 12 分钟 约 16 分钟 单幕缩短、幕数翻倍,是为了让"变
官方
《刀光剑影》开发者日志截图
《刀光剑影》开发者日志
修稳定性和 BGM,再补上"上瘾"缺的那两块 本期前半段是用户点名的「开始修稳定性和 BGM」,后半段是用户看完手感后说"游戏没有令人上瘾的点",于是补了连击回报和卡池定向。 本期进展 剑气粒子:从"每帧重建"改成"固定缓冲原位更新" SparkMote 原来是每帧 BeginGeometry + 逐粒子逐角 DefineVertex/Normal/Color/UV/Tangent + Commi
官方
《刀光剑影》开发者日志截图
《刀光剑影》开发者日志
一、本期核心进展 本期完成从纯战斗爽感原型到动作肉鸽核心玩法的完整落地,同步补全战斗基础体验、搭建系统框架,核心交付内容如下: 1. 战斗基础体验闭环补全 剑气判定重构:解决坡地命中偏差、贴脸漏判问题,统一剑气视觉高度与伤害判定高度,保证 “看到命中即生效”;保留固定伤害基底,同步优化多目标命中、伤害去重逻辑。 怪物 AI 与战斗逻辑迭代:重构怪物攻击流程,新增短蓄力→扑击→恢复的完整动作周期,出
官方
《刀光剑影》开发者日志截图
《刀光剑影》开发者日志
手机端布局返工、输入方案收敛,和一次 7420 条报错的排查 本期进展 抽牌三选一在手机上溢出屏幕 用户反馈:横屏手机上三张牌显示不全,必须上下翻动才能看全。 排查发现根因是布局判定写反了: lua 复制 -- 修改前:按可用【宽度】判定窄屏 return graphics:GetWidth() / scale - insets.left - insets.right - 80 < 810 横屏手
官方
《刀光剑影》开发者日志截图
《刀光剑影》开发者日志
从"画符"到肉鸽,和一次被用户点破的三连修 这一期跨了两天(10/14、10/17)。前半程把《画刃》从"画一笔出刀光"改造成三阶段肉鸽,后半程是用户上手后一口气点出的三个表现问题。日志按事情本身写,不按天数。 本期进展 1. 玩法转向:从"画符"到肉鸽 原先的核心是"在屏幕上画一笔,这一笔变成刀光"。玩家反馈方向变了——不要画符,要战斗爽。于是做了一次大转向: 删掉剧情、任务、NPC、采集、宝箱
官方
1 赞