Struckd Game Exporter Unity 资产兼容性说明 哪些会丢失
官方的坦诚说明
Struckd 官方在 Game Exporter 指南里明确提到了兼容性问题:
"Some differences are expected when moving your project to Unity Editor. This is because not all features and assets from Struckd are supported. In some cases, assets may be replaced with placeholders, and certain functionality may not transfer exactly."
所以有差异是正常现象,不是导入失败。
完全保留的部分
以下内容在 Struckd → Unity 迁移中应该被完整保留:
| 类别 | 具体内容 |
|---|---|
| 场景结构 | GameObject 的位置、旋转、层级关系 |
| Terrain | 地形高度、纹理绘制——转换为 Unity Terrain 格式 |
| 基础资产 | 大部分角色、载具、建筑、道具模型会被完整导入 |
| Transform | 所有对象的 Transform 参数(Position / Rotation / Scale) |
| 基本组件 | Rigidbody、CharacterController 等物理组件 |
| 材质和贴图 | 大部分材质球和纹理贴图会被正确转换 |
| 天空盒和光照 | 基本的天空盒、主光源方向会被导入 |
部分保留的部分
以下内容会被导入但可能有差异:
| 类别 | 差异表现 |
|---|---|
| 角色参数 | Stats 面板里的数值(速度、攻击、生命值)会写入组件,但可能有单位换算差异 |
| Skin 皮肤 | 会以 Material 变体形式导入,但切换逻辑不会自动实现 |
| 风格设置 | 天空盒和基本光照会被导入,但水效果、雾效、天气系统需要自己补 |
| 对话内容 | 对话文本会作为数据导入,但对话 UI 和触发逻辑不会自动实现 |
| Loadout | 武器清单会被导入,但装备/卸载逻辑需要自己实现 |
| 生命值 | HP 数值写入组件,但 Regeneration、Explosion Effect 等需要自己补 |
完全丢失的部分
以下内容不会被自动迁移,需要在 Unity 中重新实现:
| 类别 | 原因 |
|---|---|
| Muse Behavior 行为树 | 可视化逻辑编排工具,导出后不会被翻译成代码 |
| 对话气泡 UI | 文字内容在,但 UI 组件不导入 |
| 胜利 / 失败条件 | 需要用代码重新实现判断逻辑 |
| Progression 进化 | 属性提升逻辑需要自己写 |
| Loot 掉落 | 生成掉落物的逻辑需要自己写 |
| NPC 行为模式 | 内置的 6 种模式(Guard/Follow 等)不会自动工作 |
| 多人模式同步 | Unity 中需要自己接 Netcode 或 Photon |
| 保存功能 | 需要自己实现存档系统 |
| 视角切换 | 需要自己实现 Camera 切换 |
常见的外观差异
玩家反馈最多的外观差异:
- 材质看起来不一样:Unity 和 Struckd 使用的渲染管线不同(Unity Built-In vs Struckd 定制管线),同一个材质在两边渲染的结果有色差是正常的
- 光照偏暗或偏亮:Unity 默认的光照设置可能和 Struckd 里不一样,需要在 Lighting Window 里调整
- 水面不显示:Struckd 的水面效果不是标准 Unity 水面组件,导出后需要自己添加
- 雾效缺失:Struckd 的雾效参数会被转换成 Unity Fog 的设置,但表现可能不同
策略建议
考虑到这些兼容性差异,推荐这样使用 Game Exporter:
- 在 Struckd 里做"原型验证":快速搭场景、跑通玩法循环
- 确认原型可行后再导出:避免在 Struckd 里花太多时间做精细调整(反正导到 Unity 还要改)
- 在 Unity 里做"正式开发":用 Unity 的完整工具链补全功能、打磨细节
如果你发现某个功能完全不能接受当前的兼容性差异,可能需要调整你的导出策略——比如在导出前用 Struckd 的功能"尽可能地"实现,减少 Unity 里需要补的东西。