关于 导出 Harmony游戏制作游戏
从Harmony导出数据到您的游戏引擎主要有两种工作流程:
Harmony中创建动画
为游戏创建角色绑定和动画之前需考虑几点。 艺术家和程序员应协作,使需求都得到满足。
- 游戏将针对哪些平台创作? Windows、Mac、手机、iOS、PS、XBOX 等
- 使用什么游戏引擎?
- 游戏使用什么动画风格? 手绘、cut-out、带纹理等
开始创作前需考虑以上等问题。 它们将影响设计、构建和制作动画角色的方式。
例如,如果计划开发一款智能手机游戏,游戏大小要控制在 50 MB 以下,便于没有 Wi-Fi 的情况下载。 这种情况下,最重要的是使用非常紧凑的 Sprite Sheet 创建高效的角色,并大量重复使用动画,缩小文件大小。 期间您需要:
- 在Harmony绑定和动画化角色。
- 提取Harmony数据。
- 将Harmony数据导入游戏引擎。
记住,如果您使用定制引擎,也可以处理导出的Harmony数据,应用于定制引擎。 如果您需要数据适应引擎方面的帮助,请通过store.toonboom.com/contact/support联系。
如果为 PS 或 Xbox 等游戏机制作游戏,那么完全可以制作大型纹理。 您可以逐帧制作动画,使用 cut-out 角色,或两者兼具。
如果只按逐帧序列导出,可以不受限地使用Harmony的所有工具。 然后您可以将导出的图像序列处理成一个 Sprite Sheet。
原始游戏数据导出
如果希望文件大小尽可能小,宜导出原始游戏数据。 Toon Boom允许您直接从 Harmony 场景转换数据,并入游戏引擎。 您可以提取骨骼信息、绘图信息、关键帧动画数据、变形(仅骨骼和关节)、切割器、透明度节点以及计时列。
- 利:最轻量级的导出,减少文件大小,适合移动应用程序。
- 弊: Harmony中的工具使用受限。 可以使用变型以及曲线和封套变形器等工具,但需要烘焙成绘图,游戏引擎才能正确解释。 可以使用切割器特效(遮罩),但不能进行级联,也就是说层级链中只能有一个。 绑定上可以使用游戏骨骼变形器,无需烘焙到绘图。
即便有诸多限制,您仍可以在Harmony创作出很好的 cut-out 角色动画并提取全部兼容数据。 移动、旋转、缩放和倾斜不同的绘图图层,可以创建高级外观的动画。
提取数据后的 Sprite Sheet 只包含Harmony场景文件所使用的的身体部位的绘图。 重复使用相同骨骼和绘图支持创作不同动画,例如空闲、奔跑和跳跃。
Toon Boom已将此解决方案完全集成到 Unity 游戏开发渲染引擎。 如果在 Unity 中创作游戏,将无缝衔接流程,无需重新处理游戏引擎的数据。
逐帧导出
可使用图像序列从Harmony导出,导出后可以重新编译为 Sprite Sheet。
利:制作动画时随意使用 Harmony 的工具!
弊:这些 Sprite Sheet 很大,导入游戏变成大型纹理,处理起来复杂。 对于主机游戏等类型没什么问题,但如果是开发移动设备(如 iOS 或 Android)游戏,则要求小纹理空间。 而且文件大小应保持在 50 MB 以内,便于无 Wi-Fi 的情况下下载。
Harmony提供一个将逐帧动画导出到 EaselJS 游戏引擎的脚本。 EaselJS 游戏引擎兼容 javascript web。 该脚本采用 json 数据结构将每一帧匹配到 Sprite Sheet 的一个条目。 其数据结构易于理解,需要时可以适应或转化到不同游戏引擎。
如需导出到 EaselJS,应在“脚本编辑”工具栏添加脚本(TB_ExportToEaselJS)。 Harmony包含此脚本。 参见Adding Scripts as Toolbar Buttons进一步了解如何向脚本编辑工具栏和接口参数添加脚本。