SuperAPI AI 工具集

godot-theme-easter

设计与创作

查看项目

更新于 10-16 10:39

技能介绍

用途

该工具包用于在 Godot 项目中应用经典复活节季节性叠加:柔和的马卡龙色调、富有弹性的动效、彩蛋与兔子图标元素,并通过日历日期与玩家设置进行门控,仅在合适的时间窗口内生效。适用于发布节日皮肤、四月活动,或在不修改共享 .mesh/.tres 资源的前提下实现彩蛋寻宝的动效。

主要能力

  • 激活门控:提供日期窗口、Disable Seasonal Themes 退出选项(通过 user://settings.cfg)以及开发覆盖(Dev Override)。设置变化时需调用 refresh_activation(),且不应用 _process 轮询日历。
  • 主题注入:通过 easter_runtime_ui_themer.gd 在 UI 树上批量应用柔和色样式,色值来自 easter_pastel_color_palette.gd(PINK、BLUE、YELLOW、MINT、PURPLE)。
  • 音频替换:easter_seasonal_audio_swapper.gd 将标准 UI 音效映射为季节性音频流。
  • 动效与 VFX:包括挤压拉伸(easter_squash_stretch_juice.gd)、闪光效果(easter_shimmer_vfx_emitter.gd)、彩纸炮(easter_confetti_canon_vfx.gd)、摄像机 FOV 弹跳(easter_camera_pop_juice.gd)、蛋形摇摆物理(easter_wobble_physics_body.gd)等。
  • 3D 上色:easter_mesh_painter_override.gd 使用 surface_override 实现季节性 3D 材质替换,保留基础资源不变。
  • 自定义光标:easter_custom_cursor_manager.gd 替换系统鼠标指针为复活节图标,并需设置 hotspot。
  • 收集追踪:easter_egg_collection_tracker.gd 通过信号追踪隐藏物品的收集进度。

使用方式

季节性引导按顺序执行:

  1. 门控:挂载 easter_seasonal_activation_gate.gd,在 _ready 和设置变化时调用 refresh_activation()。
  2. 主题:门控激活时,使用 easter_runtime_ui_themer.gd 并配合调色板令牌。
  3. 音频:使用 easter_seasonal_audio_swapper.gd 映射标准 UI 音效到季节性音频流。
  4. 动效:在前三步通过后叠加彩纸、闪光、光标、摇摆脚本;门控关闭时完全跳过第 2–4 步。

对于替代上色器,按上下文二选一:3D 网格季节色调使用 easter_mesh_painter_override.gd;2D/modulate 或已接线的材质槽替换使用 easter_palette_override.gd 或 seasonal_material_swapper.gd,且不要在同一目标上同时接线。

适用场景

适合节日皮肤发布、四月活动、彩蛋寻宝类玩法,以及需要在不改动共享资源的前提下按实例做季节性覆盖的 UI 与 3D 场景。

限制与规则

  • 不要在 _process 中运行日期检查,应在 _ready 或事件触发时通过门控运行一次 Time.get_date_dict_from_system()。
  • 不要修改原始 .mesh 或 .tres 资源,应使用 surface_override 或 duplicate()。
  • 不要忽略“无季节性”开关,应始终在设置中提供 Disable Seasonal Themes 选项。
  • 避免锐利边缘与高对比黑色;不要对弹出使用标准线性缩放,应使用 TRANS_ELASTIC 或 TRANS_QUART;不要对复活节粒子使用 billboarding。
  • 前置要求:在基础 Theme 资源存在前,不要加载 godot-ui-theming;季节性叠加注入 StyleBox 覆盖,而非替代基础主题创作。
  • 官方文档与相关技能链接可参考原文,包含 GUI skinning、主题编辑器、粒子系统、Tween、Environment 等。