Godot 剧情 Cutscene 编排:AnimationPlayer、Timeline 和可跳过流程
剧情演出不是一段动画播完 Godot 做剧情 cutscene 时,很容易把镜头、角色动作、音效、对话都塞进一个 AnimationPlayer。时间轴从 0 播到 30 秒,演出看起来完成了。上线后会遇到很多边界:玩家跳过怎么办,资源没加载怎么办,字幕和语音怎么同步,演出中断后角色状态如何恢复,联网游戏里能不能...
tag
剧情演出不是一段动画播完 Godot 做剧情 cutscene 时,很容易把镜头、角色动作、音效、对话都塞进一个 AnimationPlayer。时间轴从 0 播到 30 秒,演出看起来完成了。上线后会遇到很多边界:玩家跳过怎么办,资源没加载怎么办,字幕和语音怎么同步,演出中断后角色状态如何恢复,联网游戏里能不能...
第三人称相机决定玩家是否信任空间 3D 动作或冒险游戏里,肩背相机是核心体验。玩家移动、瞄准、锁定敌人、穿过狭窄走廊、进入室内、靠近墙角,都依赖相机给出稳定画面。Godot 提供 Camera3D、SpringArm3D、RayCast 等基础节点,但一个舒服的第三人称相机需要更多状态和规则。
NavigationAgent3D 负责路径,不负责完整 AI Godot 的 NavigationAgent3D 可以让 3D 角色沿导航网格移动,提供下一个路径点、目标可达性和避障能力。很多项目第一次使用时,会把它当成完整 AI:设置 target_position,然后敌人就应该聪明地追玩家。
渲染器不是最后打包时再选 Godot 4 给了几个渲染路径:Forward+、Mobile、Compatibility。很多团队第一次看设置时,会把它理解成“画质高、中、低”的简单选项。实际项目里,渲染器选择会影响光照模型、后处理、材质表现、平台兼容、性能预算和美术制作规范。
背景:本地通知调度为什么会变成真实问题 运营想加本地通知:体力满了提醒、建造完成提醒、每日奖励提醒、活动结束前提醒。需求听起来简单,移动端插件也能发通知。但第一次测试就暴露了问题:玩家关闭活动后仍收到活动提醒;体力已经被服务器补满又消耗,通知时间不准;同一天收到了三条类似文案;Android 13 没授权时没有任...
背景:多存档槽与玩家档案为什么会变成真实问题 单机和弱联网游戏常常需要多存档槽。看起来只是把 save_1、save_2、save_3 分开存,实际需求很快变复杂:开始新游戏要选择难度和外观,存档列表要显示章节、等级、游玩时长和截图,删除前要二次确认,云同步回来可能覆盖本地,试玩账号升级正式账号还要迁移档案。
背景:埋点事件体系为什么会变成真实问题 项目第一次做留存分析时,数据同学问“玩家卡在教学哪一步”。客户端翻了一圈埋点,发现事件很多却回答不了问题:有人打 ,有人打 ;步骤参数有时叫 step,有时叫 index;成功和失败事件没有同一个 attempt_id;版本更新后事件含义还变了。埋点不是缺数量,而是缺契约。
背景:激励视频广告为什么会变成真实问题 免费游戏里,激励视频看似简单:玩家点“看广告领体力”,广告播放完就发奖励。真正接入后才发现状态多得多:广告未加载、加载中、展示失败、玩家中途关闭、SDK 回调顺序异常、服务端奖励超时、前后台切换、同一按钮重复点击。
背景:运行时主题切换为什么会变成真实问题 一个活动版本要求大厅切成冬季皮肤,设置页还要支持深色模式。美术给了按钮、面板、标签、进度条的一整套资源,UI 同学把 Theme 一换,编辑器里看起来没问题。运行时却出现了几个尴尬问题:部分弹窗仍然是旧颜色,某些按钮 hover 后变回默认样式,背包格子的 StyleBo...
背景:弹窗与 Modal 栈为什么会变成真实问题 大厅开发到第三个月,弹窗开始失控:登录补偿、活动公告、背包满提示、二次确认、支付结果、网络重连都想抢屏幕。最糟的一次是玩家点购买礼包时,活动公告自动弹出,购买确认框被遮住,返回键关闭了公告却没有恢复确认框焦点。测试给的录屏里,遮罩层叠了三层,按钮还能点到下方大厅。
面向中国大陆个人独立游戏开发者的完整实战指南,涵盖引擎选择、原型开发、Steam上架、Demo发布、合规收款等8个阶段,帮你用最低预算完成从0到上线的全流程。
背景:3D 遮挡与 LOD为什么会变成真实问题 团队做一个小型 3D 城镇时,最初的思路很直接:把房屋、摊位、NPC、树和装饰全部放进主场景。编辑器里看起来很舒服,运行到低端显卡上却立刻露馅。玩家站在街角时,看不见的室内家具仍在渲染准备队列里,远处屋顶还是高模,广场另一头的 NPC 动画照常更新。
背景:可见性裁剪为什么会变成真实问题 横版关卡做压力测试时,帧率掉得很奇怪。屏幕里只有三四个敌人,Profiler 却显示 调用数量接近两百。原因是关卡设计把整张地图的机关、敌人、环境动画都提前放进场景树,镜头外的风车仍然在转,远处敌人仍然寻路,离屏粒子还在模拟。玩家看不见,但 CPU 和 GPU 都在付账。
背景:节点引用治理为什么会变成真实问题 有一次版本迭代,我们把角色面板从单列布局改成页签布局。改 UI 的同学只是把 挪到了 ,结果战力显示、装备红点、属性动画同时挂掉。脚本里到处写着硬编码路径,几个路径还藏在动画回调和工具脚本里。
结合一个中型 Godot 客户端的实战改造,梳理 PackedScene 实例化、节点入树、ready 时机、释放与复用之间的边界。