4 步吃透 PSK/PSA 导入导出:io_scene_psk_psa 插件让 Blender 与 Unreal 资产无缝互通
【免费下载链接】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
如果你做过 Unreal 项目,一定遇到过这类难题:模型和动画以 PSK、PSA 格式躺在引擎资源里,想拿到 Blender 里改一改动作、调一调材质,却发现没一个插件能干净利落地处理这两种格式。io_scene_psk_psa 就是为解决这个痛点而生的 Blender 扩展——它专门负责 Unreal 的 PSK(骨骼网格)与 PSA(动画)文件的双向导入导出,把"从引擎取资产、在 Blender 加工、再送回引擎"这条链路彻底打通。
一次真实任务:把 UE 里的角色"搬"进 Blender
假设你接到这样的需求:项目里有个角色,动作文件存在 PSA 里,网格是 PSK 格式,美术想在不碰引擎的前提下,在 Blender 里给角色加一个新动画并导回去。你打开 Blender,文件菜单里翻了半天,发现原生导入列表里根本没有 PSK/PSA 选项。这就是大多数人第一次接触这个插件时的场景——不是功能不够,而是压根没有入口。
装好 io_scene_psk_psa 之后,文件菜单的导入、导出两个子菜单里都会多出 "Unreal PSK" 和 "Unreal PSA" 两项,整个流程瞬间就顺了。
先分清三种文件,再动手
动手之前花 30 秒搞清楚你手头是什么,能省掉后面大量排查时间:
- PSK:Polygon Skin Mesh,网格 + 骨骼绑定的组合,一个文件就是一套完整的静态或骨骼模型。
- PSKX:PSK 的非标准扩展,额外携带顶点法线、多 UV 通道、顶点颜色、形态键等信息。注意它只支持导入。
- PSA:动画文件,存的是骨骼的关键帧序列,一个 PSA 里往往有多个序列。
记住一个关键差异:PSK 这种老格式没有内置单位系统,一个单位是 1 厘米还是 1 米,完全由各游戏自己约定。这直接决定了你后面会不会遇到"模型导入后大得吓人"的问题。
第一步:按 Blender 版本选对安装方式
安装路径取决于你的 Blender 版本,选错了容易踩兼容性坑:
- Blender 4.2 及以上:打开"编辑 → 偏好设置 → 插件",点击"从磁盘安装",也可以直接在 Blender 扩展平台上搜索 io-scene-psk-psa 一键安装,这是最省事的方式。
- Blender 4.1 及更早:需要手动获取源码后安装,仓库地址为
https://gitcode.com/gh_mirrors/io/io_scene_psk_psa,克隆后把io_scene_psk_psa文件夹放进 Blender 的 addons 目录,再在偏好设置里勾选启用。
旧版本有对应的历史插件版本,功能较新版本略有缩水,且不再维护:Blender 4.1 对应 7.0.0,4.0 对应 6.2.1,3.4~3.6 对应 5.0.6,2.93~3.3 对应 4.3.0。能用新版就尽量用新版,旧版主要留着应急。
装好后验证很简单:文件菜单的导入/导出列表里出现 Unreal PSK 和 Unreal PSA 选项,就说明注册成功了。
第二步:第一次导入,从 PSK 模型开始
导入模型只需要三步:
- 打开
文件 → 导入 → Unreal PSK (.psk/.pskx)。 - 选中你要导入的 PSK 或 PSKX 文件。
- 点导入,模型连同骨骼就会一起出现在场景里。
如果你用 .pskx 文件,导入后能拿到额外的 UV 通道、顶点颜色等数据,对需要精细贴图对齐的工作流很有帮助。
这里提前打个预防针:导入后模型比例可能不对。别急着怀疑插件坏了,这是格式特性导致的(后面专门讲怎么处理)。
第三步:导入 PSA 动画,别忘了最后一步
动画导入比模型多一个步骤,顺序很重要:
- 先在场景里选中目标骨骼(armature)。
- 打开
文件 → 导入 → Unreal PSA (.psa)。 - 选择文件后,会弹出一个序列列表,勾选你想导入的序列。
- 点导入。
然后是最容易让人懵的一步:导入完成后场景里看起来什么都没发生。这不是失败,而是插件刻意为之——它会为每个序列生成一个 Action,但不会擅自替你把它贴到骨骼上。你需要打开 Dope Sheet(动作编辑器)或 NLA 编辑器,手动把 Action 拖给骨骼,动画才会生效。
这个设计其实很贴心:一个 PSA 可能包含几十个序列,全自动应用反而会把场景搅乱。文件较大的 PSA 还可以用序列列表上的搜索框和正则过滤快速定位,只导入你需要的部分。
第四步:导出,先学会 Collection Exporters 工作流
导出的官方推荐做法,是使用 Collection Exporters(集合导出器),而不是传统的一步步导出。原因很简单:它能保证同样的配置每次导出结果一致,可重复、可复现,适合批量生产。
基础操作流程:
- 选中要导出的网格对象,
文件 → 导出 → Unreal PSK (.psk)。 - 选中骨骼对象,
文件 → 导出 → Unreal PSA (.psa)。
如果你只做这一层,够用,但进阶配置才是这个插件真正拉开差距的地方:
- 骨骼过滤:通过骨骼集合排除不需要的骨骼。比如 IK 控制器这类不贡献实际变形数据的骨骼,勾掉之后导出文件更干净,动画系统也更不容易出问题。
- 材质手动排序:导出面板里把材质顺序从"自动"切到"手动",就能拖拽调整材质槽顺序,避免引擎里材质对不上号。
- 动画压缩:导出序列支持通过重采样比例(compression ratio)控制关键帧密度。1.0 表示全量导出,0.5 就是只保留一半关键帧。想快速预览或做移动端项目,压到 0.5 通常观感差异不大,文件却小不少。
- 序列来源:PSA 序列可以直接从 Action 导出,也可以用时间轴标记(Timeline Markers)、姿态标记或 NLA 轨道条来划分,等于让你在 NLA 里直接把动画段切好,导出时按标记批量生成序列,省去逐个命名的体力活。
模型尺寸不对?两个解法按需选
回到前面埋的坑。PSK 导入后过大或过小,有两条处理路线:
- 改 Blender 场景单位(推荐):在场景属性里把单位系统调成和游戏一致。这是非破坏性的,导出时单位比例自动和源文件对齐,来回导不会越导越歪。
- 调导入对话框的 Scale 参数:直接按 0.01、0.1、1.0 之类的因子缩放。优点是立竿见影,缺点是会实际改动模型数据,如果你之后还要导回引擎,不建议用这条。
判断标准很简单:打算长期在 Blender 和引擎之间来回导,就改场景单位;只是临时看一眼、改完不打算回引擎,就调 Scale。
最容易翻车的三个细节
这三个问题在社区里反复出现,提前知道能省半天:
- PSK 不支持顶点法线,明暗关系靠平滑组(smoothing groups)控制。也就是说,你在 Blender 里精心调好的自定义分裂法线,导出时会直接失效。想让导出结果明暗正确,正确做法是用锐边(sharp edges)配合 Edge Split 修改器。
- 用 UE Viewer 提取的 PSK 法线大概率是错的。因为 UE Viewer 导出时不重建平滑组,导进 Blender 后法线显示会乱。对法线精度有要求的工作流,尽量避免从 UE Viewer 走 PSK。
- 动作命名别用中文和特殊字符。PSK/PSA 是老格式,对命名很挑剔,命名不规范轻则导出报错,重则序列识别错乱。
交付前自检:用项目自带的测试套件兜底
这个插件项目自带一套自动化测试,改完配置或者升级版本后跑一遍,能快速确认核心功能没被改坏。仓库根目录下直接执行./test.sh,脚本会自动用 Docker 或 Podman 起一个容器,在容器里用 pytest 跑测试,结果直接打在终端里。
测试数据也随项目提供,放在tests/data/目录下,覆盖了常见场景:Bat.psk基础网格、Shrek.psk/Shrek.psa网格加动画组合、CS_Sarge_S0_Skelmesh.pskx扩展格式、WEP_BroadSword_ANIM.psa武器动画等。你完全可以直接拿这些文件当练习素材,练熟了再上自己的项目。
从会用到顺手:形成你自己的标准流程
到这一步,你已经掌握了完整链路:识别文件类型 → 按版本装好插件 → 导入模型 → 导入动画并手动挂载 → 用集合导出器批量输出 → 用场景单位保证尺寸一致 → 绕开法线和命名陷阱 → 交付前跑一遍测试。
建议把它固化成自己的流程模板:先在tests/data/上把每个功能过一遍,记录下适合自己项目的缩放、压缩比率和材质排序配置,再应用到真实资产上。配置稳定后,团队里所有人都可以共享同一套参数,资产转换的错误率会明显下降。
最后给你一个行动建议:今天就找一个 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
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考