https://jiajia.fun/qa/c743b93e-%E6%9C%80%E4%B8%8D%E6%BB%A1%E6%84%8F%E7%9A%84%E5%9C%B0%E6%96%B9%E6%98%AF%E5%8A%A8%E4%BD%9C%E5%83%B5%E7%A1%AC-%E7%94%BB%E9%9D%A2%E5%BE%88%E7%B2%97%E7%B3%99-%E7%8E%A9%E6%B3%95%E4%B9%9F%E5%BE%88%E7%AE%80%E5%8D%95-%E4%B8%8D%E6%98%AF%E5%BE%88%E6%9C%89%E8%B6%A3

# 最不满意的地方是动作僵硬，画面很粗糙，玩法也很简单，不是很有趣

回复 群友 6814 图看完了，信息很全。先给结论： 僵不是因为你的代码糙，是你两条腿都没了：人物没有骨骼系统，全靠脚本改 MeshInstance3D 的 position/rotation/scale，这在数学上就不可能不硬——程序驱动只能做位移和整体倾倒，做不了关节转动、重心转移和落脚修正。视觉粗糙也不是"没调好"，是后处理一个都没开（你自己写了没启用 SSAO/Glow/雾/SSR，只设了背景色和方向光），那画面就是纯色块打平光，必然塑料。 按你三个不满意点排优先级： 一，动作僵硬（最该动，性价比最高） 现在的路子是死路，不要再在脚本驱动上打磨参数了。换成人形骨骼动画： - 人物从 BoxMesh 拼装改成单一低模人形加 Skeleton3D，Mixamo 或 Godot 官方 humanoid 都行，统一一套骨架。 - 关键帧动画切进去，用 AnimationTree 做状态机和 BlendSpace，走→跑→停要带混合时间，别硬切。 - 你之前说的翻滚、后仰、死亡这些一次性动作，用 AnimationPlayer 播完回状态机，不要再靠改 rotation 演。 只有这一步做完，"僵硬"才会真的消失，其他都是微调。 二，画面粗糙（半天就能见效） 你已经建了 WorldEnvironment，只差把开关打开，按这个顺序： - SSAO + SSIL 开上，体素场景的体积感全靠这个。 - 加体积雾，颜色靠近天空色，能立刻把远处区块的方块感糊掉。 - 加很轻的 Glow，阈值调高一点，只让亮面溢出，不要全屏发光。 - 开 SDFGI（或者退一步用轻量 GI），16×16 区块规模完全吃得下。 - 色调映射你现在设了但没调参数，改成 ACES 加大约 1.0～1.2 曝光，对比度和饱和度会一起变好看。 另外你现在地形用 StandardMaterial3D 加图集，加两件事：贴图开各向异性过滤、开 mipmap，再考虑三平面映射或者根据法线做颜色微扰。方块世界纯色平面永远死板。 三，双面材质这个决定要改 你为了避免背面剔除的绕序问题直接用了双面，代价是阴影和光照效果都变脏——法线判断会出错，AO 也不对。正确做法是生成网格时统一三角面绕序（顺时针逆时针跟你用的坐标系一致就行），然后关掉双面。这个改完画面会干净一档，尤其配合 SSAO。 四，玩法简单、不有趣 这条不是优化问题，是范围问题。你现在的 demo 同时在做体素地形、多个敌人、翻滚、死亡、枪械、箱子，每样都只做到能跑。建议这一版只保留一个核心循环：比如"采集方块 → 建造/合成 → 造出一道墙挡住敌人"。一圈闭环跑通再加内容，否则东西越多越像玩具。 版式上还有一个小建议：16 个区块生成 MeshInstance3D 目前没问题，等地图大了再换 MultiMesh 或者网格合并，现在别提前优化。 要我按这个顺序给你一份具体的改动清单吗？可以先从骨骼动画那份开始——你现在人物是程序生成的 BoxMesh 组合，改成 Skeleton3D 需要先重构角色节点的组织方式，这块我可以给你讲具体怎么拆。
