公司动态

Blender 与 Unreal 的 PSK/PSA 资产互通:io_scene_psk_psa 插件一劳永逸上手指南

📅 2026/8/19 14:12:57
Blender 与 Unreal 的 PSK/PSA 资产互通:io_scene_psk_psa 插件一劳永逸上手指南
Blender 与 Unreal 的 PSK/PSA 资产互通io_scene_psk_psa 插件一劳永逸上手指南【免费下载链接】io_scene_psk_psaA Blender extension for importing and exporting Unreal PSK and PSA files项目地址: https://gitcode.com/gh_mirrors/io/io_scene_psk_psa凌晨两点你终于在 Blender 里调好了角色的每一根骨骼导出、导入 Unreal结果模型要么缺了顶点色要么动画关键帧全丢要么干脆报错——这一幕凡是做过 Blender 与 Unreal 资产转换的人都不陌生。io_scene_psk_psa 正是一款专门解决这类问题的 Blender 插件它负责在 Blender 与 Unreal Engine 之间导入、导出 PSK多边形蒙皮网格与 PSA动画文件让模型、骨骼、动画乃至顶点色、形态键都能原样往返。本文不打算按说明书逐条念功能而是从一次真实的导出翻车出发带你走完从安装、导入、避坑到稳定导出的完整旅程。深夜翻车现场PSK/PSA 到底难在哪先复盘那场事故。一个绑定好的角色手动导出了 PSK 和 PSA进引擎一看模型尺寸缩了一半动画里 IK 控制器的乱动全被录了进去材质顺序彻底错乱游戏里角色像穿了别人的衣服。问题出在哪三个层面格式没有单位概念。PSK 不像 FBX 那样自带单位换算每个游戏对基础距离单位的约定都不一样软件之间没有默契尺寸自然对不上。PSK 不带顶点法线。它的着色靠平滑组Smoothing Group控制很多导出工具根本不重建平滑组法线就全乱了。动画与骨架的附加品太多。IK 控制器这类非贡献骨骼会被一并导出动画里全是多余的轨道噪声。而 io_scene_psk_psa 的设计几乎就是冲着这几个坑去的。三分钟装上它验证装没装对安装路径有两条按你的 Blender 版本选Blender 4.2 及以上直接走 Blender 自带的扩展平台Extensions搜索 Unreal PSK/PSA 一键安装之后在偏好设置里勾选启用即可。旧版本或想跟源码先把仓库克隆下来再手动安装git clone https://gitcode.com/gh_mirrors/io/io_scene_psk_psa装完别急着开工先验证两件事文件菜单里应该多出四项导入里出现Unreal PSK (.psk/.pskx)与Unreal PSA (.psa)导出里出现对应的Unreal PSK (.psk)与Unreal PSA (.psa)随便导入tests/data/Suzanne.psk场景里应出现一个带单根骨骼的 Suzanne 模型。看到菜单项说明插件注册成功能导入测试文件说明核心解析链路是通的。第一趟旅程把 PSK 模型请进 Blender导入 PSK/PSKX 是最常见的动作路径是文件 → 导入 → Unreal PSK (.psk/.pskx)。对话框里几个关键选项值得提前弄清楚选项作用什么时候改Components导入内容ALL网格骨架、ARMATURE仅骨架、MESH仅网格只想取骨架或只想取模型时选单项能省不少时间Scale导入缩放系数模型尺寸不对时的快速兜底手段Bone Length骨架导入后的骨骼显示长度骨骼显示过短不好看时调整Import Vertex Normals是否导入顶点法线PSKX 文件可开启恢复精确法线Vertex Color Space顶点色色彩空间SRGBA 或 LINEAR颜色发暗/发亮时切换试试Import Shape Keys是否导入形态键需要表情或变形动画时开启小贴士PSKX 是 PSK 的扩展版额外携带顶点法线、多余 UV 通道、顶点色和形态键。插件对这类非标准数据是仅导入、不导出的——换句话说PSKX 可以当无损取档入口但返程导出仍是标准 PSK。给骨架装上灵魂PSA 动画导入动画导入的流程和模型略有不同它需要你先有目标骨架选中要挂动画的骨架armature执行文件 → 导入 → Unreal PSA (.psa)在弹出的序列列表里勾选需要的动画序列点导入。这里有个新手最容易懵的点导入动画后时间轴上看不到任何动作。这不是导入失败——插件做的事是把每个序列生成独立的 Action动作因为一个 PSA 里可能含几十上百个序列导入器不会自作主张把某个动作硬套到骨架上。你需要去 Dope Sheet动作编辑器或 NLA 编辑器里手动把对应 Action 应用到骨架。另外导入时有两个贴心选项值得一试Convert to Samples把关键帧转成逐帧采样数据适合后续要做重采样或压缩的场景Resampling按比例重采样减少数据量导入大 PSA 文件时能显著降低内存占用。三个容易翻车的地方以及对应的解法尺寸不对先改场景单位别急着缩放PSK 没有单位系统插件也刻意不做任何单位假设。作者推荐的正确姿势是修改 Blender 场景属性里的单位设置让它匹配你游戏的单位约定——这是非破坏性的而且能保证以后导出的 PSK/PSA 与源文件单位一致。如果你只是导来当参考、不打算再导回引擎那直接用导入对话框的 Scale 值缩放骨架也行更省事但带有破坏性。法线不对用锐边和 Edge Split别指望 PSK 存法线PSK 格式本身不保存顶点法线着色由平滑组决定。这意味着即使你给网格设置了自定义分离法线Custom Split Normals导出时也会被忽略。正确控制着色的方式是标记锐边Sharp Edges Edge Split 修改器。另外提醒一句如果你用 UE Viewer 导出的 PSK它的法线大概率是错的因为该工具不重建平滑组导入后需要手动修。动画丢了检查 NLA 与命名如果导出后发现动画没关键帧按这个清单逐项排查时间轴是否覆盖了动作的完整帧范围动作命名是否含中文或特殊字符尽量用英文加下划线骨骼约束是否正常约束动画可能不会被采样进去NLA 轨道配置是否有效导出面板里的压缩选项是否把帧数砍得太狠。靠谱的返程导出高质量 PSK 与 PSA插件官方强烈推荐用Collection Exporters集合导出器工作流在集合上配置好导出参数之后每次只需点一次导出结果高度可复现不会因为手抖漏选对象。传统的手选导出文件 → 导出 → Unreal PSK (.psk)依然可用适合一次性操作。导出面板里有几个保命选项对应开头那场事故的三个坑骨骼集合排除Bone Collections在骨架的骨骼集合里取消勾选 IK 控制器等非贡献骨骼导出时它们会被自动剔除骨骼层级却依然保留完整材质手动排序Material Order把模式从 Automatic 切到 Manual就能像拖列表一样手动排列材质槽顺序彻底解决进了引擎材质对不上的问题导出顶点法线Export Vertex Normals需要 VTXNORMS 区块时开启注意标准 PSK 消费者未必支持对象评估状态Object Evaluation State默认用已求值数据含修改器效果想导出原始几何就切到 Original。动画导出的进阶玩法序列的四种来源PSA 导出面板里序列来源Sequence Source决定了动画从哪来这是插件最有想象力的设计来源含义适合场景Actions直接按动作导出每个动作就是一段独立动画Timeline Markers用时间轴标记切分片段一段长动画里藏多个小动作NLA Track Strips按 NLA 轨道的条带起止导出已经用 NLA 排好片的场景Active Action每个选中骨架导出其当前活动动作快速导出当前正在做的动作此外还有几个参数值得玩味FPS 来源可以从场景、动作元数据或自定义值取帧率导入时保留的帧率信息如动作的 FPS 属性可以直接在导出时复用做到导入什么帧率导出什么帧率压缩比例 / 关键帧配额压缩比例 1.0 导出全部帧0.5 导出半数帧关键帧配额则保证导出帧数不低于下限。想要又小又能看就用它采样模式默认 Interpolated在相邻整帧之间插值采样追求精确再选 Subframe命名与过滤支持为序列统一加前缀/后缀还能按名称通配符*过滤、显示/隐藏反向序列、资产库动作、姿态标记。再透露一个源码里藏着的彩蛋序列名支持帧数:名字的循环写法自动按帧数切分出多段命名序列和前向名/反向名的反向写法自动生成一正一反两条动画。这两个模式在io_scene_psk_psa/psa/export/properties.py的序列解析逻辑里实现做走路、奔跑这类需要反向循环的动画时能省大量手工操作。源码地图为什么它值得信任如果你习惯看完源码再上车这个插件的结构相当清爽值得花十分钟逛逛io_scene_psk_psa/psk/与io_scene_psk_psa/psa/分别承载网格与动画的导入、导出内部再按import_、export、builder、importer拆开io_scene_psk_psa/shared/两侧共用的类型、工具函数、UI 组件与导出算子io_scene_psk_psa/wheels/内置了psk_psa_py库负责底层的二进制读写安装即用无需额外 pip 依赖io_scene_psk_psa/psa/config.py专门兼容 UEViewer 导出的非标准 INI 配置如RemoveTracks区段能把某些骨骼移除位移/旋转轨道的约定自动映射到序列上。最打动人的细节在psk/builder.py顶点、楔、面、权重的构建大量使用 NumPy 批量计算而不是逐顶点循环——这意味着大模型导出时也能保持不错的性能而不是转圈转半天。用测试兜底改完代码再也不怕回归项目自带一套基于 pytest 的自动化测试跑法很简单./test.sh脚本会自动用 Podman 或 Docker 起一个容器在容器里执行全部测试并把结果打印到终端。测试数据放在tests/data/覆盖了各种典型场景测试文件覆盖点Suzanne.psk基础网格骨架导入、缩放、骨骼长度CS_Sarge_S0_Skelmesh.pskxPSKX 扩展数据顶点法线、顶点色、多 UV 通道SK_1033_1033001.pskx更多 UV 通道的极端情况Slurp_Monster_Axe_LOD0.psk形态键导入Shrek.psk / Shrek.psa大规模动画序列导入135 个 ActionWEP_BroadSword_SKEL.psk / WEP_BroadSword_ANIM.psa武器骨骼与动画的配对导入如果你在改自己的分支跑一遍./test.sh就能快速确认没有把基础功能改坏。版本兼容旧 Blender 用户别慌插件当前推荐在 Blender 4.2 使用走扩展平台自动更新但旧版本也有对应可用的存档版本Blender 版本可用的插件版本4.17.0.04.06.2.13.4 – 3.65.0.62.93 – 3.34.3.0注意这些旧版本不再维护可能带着已经修复的 bug能用新版就别恋旧。把这条直线跑起来回看开头那场翻车其实每一处都有对应的解法尺寸问题交给场景单位动画噪声交给骨骼集合材质错乱交给手动排序数据丢失交给压缩与采样选项。io_scene_psk_psa 的价值不在某个单点功能而在于它把 PSK/PSA 这条过去要手工缝补的曲线捋成了一条直线。接下来你可以这样动起来先跑一遍./test.sh确认环境就绪再用tests/data/里的 Suzanne 和 Shrek 各做一次导入→导出→再导入的往返实验亲手验证数据无损为你的主力项目配置一套 Collection Exporters 预设把单位、骨骼集合、材质顺序一次设好以后导出就是点一下的事如果动画管线比较复杂把 NLA 用起来配合四种序列来源和循环/反向命名技巧你会发现批量动画导出也能自动化。工具的意义是让创意更自由地流动。现在就去导入第一个 PSK把那根弯了太久的曲线捋直吧。【免费下载链接】io_scene_psk_psaA Blender extension for importing and exporting Unreal PSK and PSA files项目地址: https://gitcode.com/gh_mirrors/io/io_scene_psk_psa创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考