近期热门
粉丝162
关注 2
获赞 150
首页 CGJOY论坛 动画作品交流 Spine作品
Spine入门 —— 纹理打包

[Spine作品] Spine入门 —— 纹理打包

 !heats_icon! [复制链接]
7198 2 0 5 6年前 举报
总述(Overview)
大多数图形 API(如: OpenGL)的工作原理是这样的,绑定一张纹理,然后渲染,完 成之后再绑定一张再渲染,如此往复直到全部完成。绑定纹理相对来说需要消耗大量的系统 资源,所以理想的情况是把一堆小图储存为一张大图,然后就可以一次绑定,再将各区域分 多次渲染。Spine 能有效的将大量小图打包成大图,每张小图的定位信息储存在一个采样文 件中,它们可以通过名称在程序中引用。
纹理打包器可以通过两种方式运行:
  • 当导出 “JSON” 或 “二进制” 动画数据时,勾选[size=0.92857em]CreateAtlas:
这个方法可以便捷的同时导出动画数据和打包纹理,但是每套骨架会各自分别打包输出 图片,并且忽略目录结构directory structure和 JSON 文件JSON files。要将多套骨架的图片信息打包在一起,请使用下面的方法运行 打包器。
  • 在主菜单中选择 [size=0.92857em]Texture Packer:
然后指定图片路径进行打包:
输入目录:(Input directory),输出目录:(Output directory),贴图集名称:(Atals name)
有许多参数用于控制如何打包图片:
一眼看上去可能让人望而生畏,但大多数情况下用默认设置就可以了。需要特别注意的 地方有: 1) 最大长/宽值(Max width/height), 2) 是否勾选了预乘 alpha(premultiplied alpha), 3) 是否勾选了去除白边。 **如果使用了网络,那应该取消去除白边(Strip whitespace X/Y)。
区域(Regions)
Rotation:将某些图片旋转 90 度能高率的打包。应用程序必须特别注意要正确绘制这些地区。
Ignore blank images:完全透明的图片不打包。
Padding X/Y:打包的各图片区域之间的填充像素。某些纹理过滤会平均混合相邻像素,所以推 荐区域间填充 2 个像素以避免相邻的区域互相影响。
Duplicatepadding:拷贝相邻的像素用于填充。如果纹理过滤选择了填充像素,此设置能消除"接缝" 瑕疵。
页面(Pages)
Max width/height:输出图片的最大页面尺寸。如果图片大于此值,将分多页输出。
Square:确保输出的图片长宽相等。某些纹理压缩算法有此需求(如: PVRT)。
输出(Output)
JPG quality:输出的 JPG 的压缩质量。
Packing:Atlas 打包图片尽可能紧凑的在一起。Grid 打包图片均匀的排列在网格中 (众所周知的精灵表 spritesheet)。
Bleed:设置透明像素到最近的非透明像素的 RGB 值。以免在对透明像素进行 RGB 采样 时造成纹理过滤的瑕疵[filtering artifacts](http://esotericsoftware.com/forum/viewtopic.php?p=13480#p1 3480)
Suffix:每个缩放比例 Atlas 的后辍。如果留空,不同尺寸将使用相同文件名,分别输 出到以尺寸命名的子文件夹中。
选项(Options)
Combine subdirectories:将当前目录和所有子目录的图片打包在同一张图片上。忽略所有子目录中的设置 文件 Pack.json。
Use indexes:使用图片名称无需移除任何图片索引后缀(在最后一个下划线之后的任意字符)
Debug:在输出的页面上,为所有图片区域绘制边框。
运行库(Runtime)
Filter min/mag:纹理过滤的缩小和放大设置。
Format:贴图纹理在内存中使用的格式。
目录结构(Directory structure)
同一个目录下的图片会打包在同一页上。如果一页能放下所有图片,那就不需要分目录 存放,因为每个应用程序只绑定一张纹理。否则,把图片分类放在不同的子文件夹下,可以 最大限度地减少纹理绑定次数。
按文件夹分类图片,还能将纹理设置相关的图片组织在一起。比如每张图运行时的内存 格式(RGBA, RGB, 等等),过滤(nearest, linear, 等等)。图片需要不同的纹理设置,就要分为 不同的页面打包,这时应该将图片用文件夹分开放置。
<span]为了避免子目录的路径出现在 atlas 文件的图片名称中,请看 Flatten paths 设置。
JSON 结构(JSON Configuration)
下面是一个 JSON 文件的例子,包含了所有可用的设置。
[size=0.92857em]{pot: true,paddingX: 2,paddingY: 2,bleed: true, edgePadding: true, duplicatePadding: false, rotation: false, minWidth: 16,minHeight: 16,maxWidth: 1024, maxHeight: 1024,square: false, stripWhitespaceX: false, stripWhitespaceY: false, alphaThreshold: 0,filterMin: Nearest,filterMag: Nearest,wrapX: ClampToEdge,wrapY: ClampToEdge,format: RGBA8888,alias: true,outputFormat: png, jpegQuality: 0.9, ignoreBlankImages: true, fast: false,debug: false, combineSubdirectories: false, flattenPaths: false, premultiplyAlpha: false, useIndexes: true,grid: false,scale: [ 1 ],scaleSuffix: [ "" ]}
在设置 Settings对话框有一个保存 JSON Save JSON 按钮能保存当前设 置。此文件会命名为 pack.json 将它放要输入图片的文件夹下就成了此目录的设置文件, 用不着手动创建设置文件。
九宫格(Ninepatches)
图片索引一般不用于 Spine 骨骼,但有其它的用途。
如果一个图片文件名以下划线加数字结尾(例如: animation_23.png),这个数字将被 识别为索引,图片的索引会储存在 atlas 文件中。储存图片文件名时不包含下划线和索引。 这样便可以通过索引在一个列表中检索这些图片。这样能更方便的打包精灵动画避免搞乱帧 的顺序。

0
点赞
0
打赏
5
添加到收藏夹

0

点击复制链接

使用微信扫码分享
一次扣10个券
全部评论2
您需要登录后才可以回帖 登录

受教了  谢谢~~~
6年前
回复

使用道具 举报

感谢分享
6年前
回复

使用道具 举报

您当前使用的浏览器IE内核版本过低会导致网站显示错误

请使用高速内核浏览器或其他浏览器