Cocos Creator:精灵帧的自动修剪

推荐:将NSDT场景编辑器加入你的3D工具链
3D工具集:NSDT 编辑器
精灵帧的自动修剪
导入纹理后,使用纹理生成的 SpriteFrame 资源将自动修剪。图像周围的任何完全透明的像素都将被裁剪。这将帮助我们获得精灵所需的确切节点大小。
自动修剪 SpriteFrame 时,下图中的自动修剪信息将灰显,无法修改:

精灵组件中的修剪相关属性
精灵组件中有两个与修剪设置相关的属性:
Trim
如果选中,节点的边界框将不包含图像周围的透明像素。相反,边界框将完全适合修剪后的图像。如果未选中,边界框将显示原始纹理,包括透明像素。
Size Mode
使用此属性中的选项将节点的大小设置为原始纹理大小或裁切的图像大小。选项包括:
TRIMMED
选择此选项将设置节点,以使用精灵组件使用的当前精灵帧的修剪图像大小。size
RAW
选择此选项会将节点的大小设置为使用原始纹理大小,包括透明像素。CUSTOM
此选项可确保节点的大小不会随 SpriteFrame 一起更改,应由您自己管理。如果使用矩形变换工具拖动和更改节点的 ,或在“检查器”面板中修改属性,或在脚本中修改 或,则该属性将自动设置为 。sizesizewidthheightSize ModeCUSTOM
下图显示了两种尺寸模式的比较:

带偏移的精灵动画
有很多动画师喜欢在纹理中绘制移动运动,这在攻击动画中很常见。通常动画师会使用大纹理,并将角色放在不同动画帧的纹理上的不同位置。在这种情况下,我们需要将 Sprite 组件的属性设置为 ,并将 设置为 。这样,动画在播放每个序列帧时将使用原始纹理大小,并保留图像周围透明像素的信息。这样在纹理中绘制的角色位置就可以正确显示。TrimfalseSize ModeRAW
当属性设置为 时,它更适合于置换完全由角色属性控制的动画。Trimtrueposition
纹理打包器设置
我们建议用户使用精灵表工具(如纹理打包器)来生成精灵动画纹理资源。在TexturePacker中,在发布精灵表之前,请确保在精灵部分的修剪模式设置中进行选择。请不要使用 ,否则修剪信息将丢失,并且您无法再取回原始纹理偏移。目前建议使用4.x及以上版本进行打包,防止低版本导出数据不一致导致导入失败。TrimCrop, flush position

3D建模学习工作室整理翻译,转载请标明出处!