Harmony Gaming SDK 2022 版本说明
从 Harmony 导出
功能 | 描述 |
---|---|
新增导出器选项 |
为使游戏编辑器提供更好的支持,Export to Sprite Sheet(导出到Sprite Sheet)界面增加了一些功能,可在导出文件打包更多信息。
新选项
|
“bake_”组 |
目前有很多节点无法在 Game SDK 中渲染。 新增功能可在导出加入这些节点的值,将绘图及对其有影响的节点分为带“bake_”前缀的新组(如 bake_hips)。
任何以“bake_”前缀命名的组都将进行分析,用于效果、移动和绘图替换的特殊动画帧。 导出到 spritesheet 时,该组中的每个特殊帧都作为精灵导出。 如果时间轴有许多帧在该组内没有任何变化,在 Sprite Sheet 内将视为同一导出精灵 |
在 Unity 导入 TBG 文件
功能 | 描述 |
---|---|
Automatic Importing Process |
Unity 会自动检测 TBG 文件的更改,并使用自定义导入器重新导入。 然后可以将该文件作为 prefab 拖到场景中,类似 FBX 文件。 纹理、精灵、动画和 TbgStore 资产将作为主 TBG prefab 资产下的 sub-asset 生成并提供。 这些资产无需再源代码管理中单独管理,只放在 Unity 的库缓存中。 AnimatorController 和 SpriteSheet 资产无法作为 sub-asset 运行,因此在角色旁边生成。 |
Importer Settings |
“导入”流程可在 inspector view 的设置中修改。 动画设置
材质设置
|
在 Unity 渲染 TBG 文件
功能 | 描述 |
---|---|
Prefab Hierarchy |
Unity 中生成的 prefab 的结构应与 Harmony 时间轴中设置的分级结构相匹配。 添加到输出节点的 Harmony 的合成的节点视图结构,导出期间会被排除。 新 GameObjects 可以附加到以上任意子定位钉变换。 因此允许附加程序设备。 此外,运行时可启用或禁用任意 GameObject,因此角色的可选视觉添加可以禁用,需要时再启用。 该层级运行时也可完全分解、重组或复制。 因而可以选择爆开角色或将某些图画作为抛射体射击。 |
TBG Renderer 设置 | 分辨率、色板、材质、颜色和蒙皮可通过检查器和 GameObject 的自定义脚本编辑。 SpriteRenderer 的材质和颜色也可以每个绘图单独设置,因此可以更改角色配饰的颜色,或通过自定义 shader 为某些绘图添加特殊特效。 |
2D Animation Package 集成 | 使用 Unity 的“2D Animation Package”,在 Harmony 中由游戏骨骼变形的绘图在 Unity 中将转换为 SpriteSkin 骨骼。 此包为 SpriteRenderer 提供多线程高性能网格变形的支持,并提供在 Scene view 中移动骨骼的 UI 图柄。 可以使用 Unity 的“IK Manager 2D”对骨骼链制作程序动画,在完成动画 Update(更新)步骤后混合瞄准、倾斜、摇晃、挥动等特效。 |
动画 |
所有动画数据均从 Harmony 逐定位钉导出,因此所有中间旋转和缩放都在 Unity 的动画窗口中展示。 动画关联的 AnimationClip 资产从 TBG sub-asset 复制到项目中的新资产后,动画可以修改,从而允许在 Unity 中添加事件、提供额外曲线。 AnimationClip 通过 AnimatorController 选择,提供动画过渡方法,可以直接过渡,也可以通过平稳混合定位钉变换来过渡。 |
Shader Graph 集成 | SDK 中包含兼容的 shader graph shader,可复制和修改,形成简便界面,为角色添加自定义的游戏特定视觉特效。 |
HarmonyRenderer 改进(XML 文件夹)
功能 | 描述 |
---|---|
HarmonyProject 预览 | 在 Unity Asset 文件夹中选择角色后,preview window 会显示角色的预览。 Preview window 播放角色动画的预览,在其中就可以更改蒙皮,无需将角色拖到 scene view 中。 |
修复
此次版本的 Harmony Game SDK 修复了以下问题:
HarmonyRenderer
-
以前更新锚点变换时泄漏内存的锚点。 更新 HarmonyRenderer C++ 插件后解决了此问题。
-
HarmonyRenderers 渲染性能提升。 现在从 HarmonyRenderer C++ 插件接收新网格,这些插件可以通过更新的 Unity 网格生成功能直接传递到 Unity 的 C++ 后端。 大大减少了 Harmony Renderer 角色动画的更新时间,允许屏幕同时显示更多角色。