WECHAT

扫码添加微信

YoungFan 微信二维码
← 返回全部项目
手机游戏Unity3DToLuaC#ShaderLab

百川铸魂录

欧美暗黑风格的 3D 冷兵器拟人卡牌手游。我独立负责神兵锻造系统的客户端开发,并通过定制渲染流程、Shader 和编辑器工具完善兵器与角色表现。

年份2022
百川铸魂录 项目封面

项目概览

《百川铸魂录》是一款欧美暗黑风格的 3D 冷兵器拟人卡牌手游。项目沿用了《百世文华录》的核心玩法框架,并将拟人化主题从文物拓展为具有不同外观和养成路线的冷兵器。

我在项目中期加入团队,主要负责核心“神兵锻造系统”的客户端开发,以及角色渲染效果和运行性能的优化。

神兵锻造系统

我独立完成了神兵系统的客户端逻辑与表现,包括:

  • 神兵打造流程及动画表现
  • 兵器养成与状态管理
  • 兵器模型 Shader
  • 角色穿戴和技能动画配合
  • UI 中的三维兵器展示
  • 美术资源制作与检查工具

这套系统同时涉及业务逻辑、三维渲染、Shader、动画协作和编辑器工具,是项目中综合性较强的功能模块。

2D 与 3D 混合锻造场景

锻造界面以固定的 2D 背景为基础,并在其上叠加兵器模型和粒子特效。原有 UIModel 组件需要使用两张 RenderTexture 才能正确显示半透明对象,流程复杂,也不利于 Additive 混合粒子的表现。

为此,我改用独立摄像机与单张 RenderTexture:先通过 CommandBuffer 将背景图 Blit 到颜色缓冲,再在同一渲染目标中绘制三维模型与特效,最终将结果交给 UI 的 RawImage 显示。

该方案让背景、模型和半透明粒子在同一颜色缓冲中完成混合,改善了 Additive 材质和锻造特效的显示效果,同时简化了渲染流程。

兵器自定义上色

每件兵器支持自定义配色,但不同兵器可上色的区域并不相同。我采用遮罩纹理标记可染色部位,由 Shader 根据遮罩混合目标颜色,使一套材质逻辑能够适配不同结构的兵器。

为了降低新资源接入成本,我还为美术制作了编辑器工具,用于添加兵器部件和检查资源配置,减少重复操作及配置错误。

角色渲染优化

局部柔光效果

我为角色增加了类似 Bloom 的柔光表现,但将作用范围限制在角色本身,而不是处理整个画面。

渲染时先通过模板缓冲标记角色像素,再从屏幕图像中提取对应区域进行模糊处理。合成阶段没有直接叠加模糊结果,而是采用线性插值控制柔光强度,避免角色出现过度曝光。

金属高光与镜面反射

针对盔甲和兵器上的金属区域,我在观察空间中实现 Sphere Mapping,并结合 Mask 纹理区分金属与非金属材质。这样可以在移动端成本可控的前提下,为金属部分增加更明确的高光和镜面反射,强化角色与兵器的材质层次。