马上注册,加入CGJOY,让你轻松玩转CGJOY。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

总述(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, 等等)。图片需要不同的纹理设置,就要分为 不同的页面打包,这时应该将图片用文件夹分开放置。

下面是一个 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 文件中。储存图片文件名时不包含下划线和索引。 这样便可以通过索引在一个列表中检索这些图片。这样能更方便的打包精灵动画避免搞乱帧 的顺序。

spine 导出纹理_Spine入门 —— 纹理打包相关推荐

  1. spine 导出纹理_Spine 纹理打包Texture packing_官方文档中文版

    马上注册,加入CGJOY,让你轻松玩转CGJOY. 您需要 登录 才可以下载或查看,没有帐号?立即注册 x 本帖最后由 笑虾 于 2014-10-7 20:45 编辑 欢迎入群  Spine2D骨骼动 ...

  2. 【Unity Shader入门精要】普通纹理和高级纹理

    原作者博客链接:http://blog.csdn.net/candycat1992/article/  书籍链接:http://product.dangdang.com/23972910.html 纹 ...

  3. 基础纹理 --Shader入门精要学习(6)

    基础纹理 纹理,即使用纹理映射(texture mapping)技术来控制模型的外观,将一张图片黏在模型表面,逐纹素(用于和像素区分)地控制模型模型颜色.通常会在建模软件中利用纹理展开技术把纹理**映 ...

  4. OpenGL基本概念入门——纹理贴图

    1. 创建纹理图像 OpenGL要求纹理的高度和宽度都必须是2的n次方大小,只有满足这个条件,这个纹理图片才是有效的.     一旦获取了像素值,我们就可以将这些数据传给OpenGL,让OpenGL生 ...

  5. 【Unity Shader】纹理实践4.0:简单尝试渐变纹理和遮罩纹理

    写在前面 由于我还是处于刚刚入门(其实还是小菜鸡...)的阶段,关于渐变纹理目前主要是学习一下如何通过渐变纹理控制漫反射光照. 这种用渐变纹理控制颜色效果的想法,是Valve公司(提出半兰伯特光照技术 ...

  6. python基础教程 pdf github_python基础教程之Jupyter导出PDF从入门到绝望(已解|python基础教程|python入门|python教程...

    https://www.xin3721.com/eschool/pythonxin3721/ Jupyter导出PDF从入门到绝望(已解决) 问题描述 我在使用jupyter lab的时候,想要把我的 ...

  7. oracle数据库数据导入导出步骤(入门)

    oracle数据库数据导入导出步骤(入门) 说明:  1.数据库数据导入导出方法有多种,可以通过exp/imp命令导入导出,也可以用第三方工具导出,如:PLSQL  2.如果熟悉命令,建议用exp/i ...

  8. CNN结构基元:纹理结构和纹理基元方程化GLOH、Gabor...(Code)

    模式识别专注于寻找相同模式的共性和不同模式的分离.CNN把特征提取全局化,其中重要的一个是纹理特征,利用卷积核来表示纹理基元,用以重现模式,应如何显示表示. 第一次使用纹理特征,2012年,使用了灰度 ...

  9. AS 导出aar给Unity出打包出现Unable to merge android manifests

    @AS 导出aar给Unity出打包出现Unable to merge android manifests在android 导出aar出现Unable to merge android manifes ...

  10. OpenGL纹理过滤以及纹理Wrapping mode

     在三维动态场景中,如果一个纹理对象迅速地远离观察点而去,此时纹理图像必须随被投影的图像一起缩小,否则很产生抖动或者闪烁的现象.为了避免产生抖动或者闪烁,OpenGL必须对纹理图像进行过滤,适当的 ...

最新文章

  1. MyBatis-学习笔记09【09.Mybatis的多表操作】
  2. python:pytest优秀博客
  3. 【javascript动画系列之网页白板】javascript实现的白板(兼容ff,ie,chrome,……)
  4. 高质量响应式的 HTML/CSS 网站模板
  5. (原)MobileNetV1
  6. -fembed-bitcode is not supported on versions of iOS prior to 6.0 iOS
  7. SQK Server提示:安装程序无法与下载服务器联系。请提供 Microsoft R Open 和 Microsoft R Server
  8. 程序员「在知乎装逼被怼」,决定用『面试』证明自己
  9. java将时间戳转换成字符串_java 时间戳与日期字符串相互转换详解
  10. 计算机绘图 电子教案,机械制图与计算机绘图电子教案大全.doc
  11. JAVA在线考试系统(本科毕业设计)
  12. 如何快速完成一份学术型PPT
  13. ios微信组件跳转_IOS如何从微信中跳转APP
  14. 微信小程序使用wxparse插件,渲染文章不换行问题
  15. java开源saas项目
  16. PCL滤波工具之StatisticalOutlierRemoval深度分析
  17. postman实践与运用
  18. 收藏下来吧,超实用的:网页特殊符号HTML代码大全
  19. 【UE4】导入FBX格式文件后呈现人物躺着情况的解决方法
  20. WIN10+Ubuntu双系统(UEFI启动方式)

热门文章

  1. 浅谈如何构建自己的技能树(知识树)
  2. Flutter Dio 报错is not a subtype of type ‘DioError‘
  3. 如何去做一个完整的网站SEO优化方案!
  4. linux centos无线网卡驱动安装,CentOS 6.5 安装无线网卡驱动实现无线上网
  5. Python爬虫之二手房
  6. 计算机添加桌面小插件,一款实用的Windows小插件 ——桌面日历DesktopCal
  7. html 飘窗链接,飘窗html
  8. iOS抓包工具Charles
  9. Excel 如何让单元格内容不完全显示
  10. 如何清理roaming_笔记本电脑中appdata中roaming怎么越来越大该怎么办