日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

發布時間:2023/12/4 编程问答 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 spine 导出纹理_Spine 纹理打包Texture packing_官方文档中文版 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

馬上注冊,加入CGJOY,讓你輕松玩轉CGJOY。

您需要 登錄 才可以下載或查看,沒有帳號?立即注冊

x

本帖最后由 笑蝦 于 2014-10-7 20:45 編輯

歡迎入群??Spine2D骨骼動畫??1群:7708065,2群:225097509

大家好,我是笨笨,笨笨的笨,笨笨的笨,謝謝!總述(Overview)

Spine 能幫你把分散的圖片打包成一張完整的紋理貼圖集或精靈表(spritesheet)以便在運行時更有效率的渲染。Spine的紋理打包器(texture packer)是一個通用工具。它即可以用于為Spine的骨骼打包紋理,也可以單獨運行為你打包應用程序所需的所有圖片資源。

大多數圖形API(如:OpenGL)的工作原理是這樣的,綁定一張紋理,然后渲染,完成之后再綁定一張再渲染,如此往復直到全部完成。綁定紋理相對來說需要消耗大量的系統資源,所以理想的情況是把一堆小圖儲存為一張大圖,然后就可以一次綁定,再將各區域分多次渲染。Spine能有效的將大量小圖打包成大圖,每張小圖的定位信息儲存在一個采樣文件中,它們可以通過名稱在程序中引用。

Spine使用了多種先進打包算法。對各種尺寸進行海量嘗試,然后選擇最優打包方案。

打包(Packing)

紋理打包器可以通過兩種方式運行:

1) 當導出“JSON”或“二進制”動畫數據時,勾選`Create Atlas`:

0.jpg (36.04 KB, 下載次數: 81)

2014-10-7 20:43 上傳

這個方法可以便捷的同時導出動畫數據和打包紋理,但是每套骨架會各自分別打包輸出圖片,并且忽略目錄結構[directory structure](#Directory-structure)和JSON文件[JSON files](#JSON-Configuration)。要將多套骨架的圖片信息打包在一起,請使用下面的方法運行打包器。

2) 在主菜單中選擇`Texture Packer`:

1.jpg (6.57 KB, 下載次數: 82)

2014-10-7 20:43 上傳

然后指定圖片路徑進行打包:

輸入目錄:(Input directory),輸出目錄:(Output directory),貼圖集名稱:(Atals name)

2.jpg (15.88 KB, 下載次數: 94)

2014-10-7 20:43 上傳設置(Settings)

有許多參數用于控制如何打包圖片:

3.jpg (64.17 KB, 下載次數: 104)

2014-10-7 20:43 上傳

一眼看上去可能讓人望而生畏,但大多數情況下用默認設置就可以了。需要特別注意的地方有: 1)最大長/寬值(Max width/height), 2)是否勾選了預乘alpha(premultiplied alpha), 3)是否勾選了去除白邊。**如果使用了網絡,那應該取消去除白邊(Strip whitespace X/Y)。

區域(Regions)

設置描述

Strip whitespace X/Y移除輸入圖片邊緣的空白像素。移除的量儲存在 Atlas 文件中,因此圖片可以在你的應用程序中繪制就好像沒裁剪過一樣。如果使用了網格,應該取消移除空白邊緣的選項。

Rotation將某些圖片旋轉90度能高率的打包。應用程序必須特別注意要正確繪制這些地區。

Alias如果兩張圖片的所有像素完全相同,那么只打包一次。

Ignore blank images完全透明的圖片不打包。

Alpha threshold移除空白邊緣時,Alpha 低于此值的,被視為0。

區域填充(Region padding)

設置描述

Padding X/Y打包的各圖片區域之間的填充像素。某些紋理過濾會平均混合相鄰像素,所以推薦區域間填充2個像素以避免相鄰的區域互相影響。

Edge padding填充也將應用到圖片頁面的邊緣。

Duplicate padding拷貝相鄰的像素用于填充。如果紋理過濾選擇了填充像素,此設置能消除"接縫"瑕疵。

頁面(Pages)

設置描述

Min width/height輸出圖片的最小頁面尺寸。

Max width/height輸出圖片的最大頁面尺寸。如果圖片大于此值,將分多頁輸出。

Power of two確保輸出圖片的尺寸大小為 2 的冪。某些游戲開發包有此需求。

Square確保輸出的圖片長寬相等。某些紋理壓縮算法有此需求(如: PVRT)。

輸出(Output)

設置描述

Format輸出 PNG 或 JPG 圖片。

JPG quality輸出的 JPG 的壓縮質量。

Packing`Atlas` 打包圖片盡可能緊湊的在一起。`Grid` 打包圖片均勻的排列在網格中。(眾所周知的精靈表spritesheet)。

Premultiply alpha將 alpha 與每個 R、G 和 B 通道相乘。推薦在適合的情況下用[proper blending](http://esotericsoftware.com/forum/viewtopic.php?p=15772).

Bleed設置透明像素到最近的非透明像素的RGB值。以免在對透明像素進行 RGB 采樣時造成紋理過濾的瑕疵[filtering artifacts](http://esotericsoftware.com/forum/viewtopic.php?p=13480#p13480)。

Scale為每個比例單獨輸出完整的 Atlas。

Suffix每個縮放比例 Atlas 的后輟。如果留空,不同尺寸將使用相同文件名,分別輸出到以尺寸命名的子文件夾中。

選項(Options)

設置描述

Atlas extensionatlas 數據文件的擴展名。

Combine subdirectories將當前目錄和所有子目錄的圖片打包在同一張圖片上。忽略所有子目錄中的設置文件 Pack.json。

Flatten paths目錄信息將從圖片文件名字中移除。圖片的文件名必須唯一。

Use indexes使用圖片名稱無需移除任何圖片索引后綴(在最后一個下劃線之后的任意字符)

Fast打包速度更快,但效果不受影響。

Debug在輸出的頁面上,為所有圖片區域繪制邊框。

運行庫(Runtime)

以下這些設置意在應用程序運行時,提示相關信息。

設置描述

Filter min/mag紋理過濾的縮小和放大設置。

Wrap X/Y重復貼圖紋理的設置。

Format貼圖紋理在內存中使用的格式。

目錄結構(Directory structure)

Spine 能為應用程序一次性打包所有圖片。給定一個目錄,它就會遞歸掃描其下的圖片文件。將當前目錄和所有子目錄中Spine找到的圖片文件拼成一張更大的紋理貼圖,稱作"頁"。如果圖片大小超過了一頁的最大尺寸,將會分成多頁。

同一個目錄下的圖片會打包在同一頁上。如果一頁能放下所有圖片,那就不需要分目錄存放,因為每個應用程序只綁定一張紋理。否則,把圖片分類放在不同的子文件夾下,可以最大限度地減少紋理綁定次數。

例如:應用程序可希望把所有的 "game"圖片和"pause menu"圖片分別放在不同的文件夾里,這樣連續繪制這兩張圖片只要:先綁定"game"并繪制(綁定一次),完成后再綁定"pause menu"再繪制(再綁定一次)。如果這些文件都放在同一個目錄下,將會被混合打包在多個頁面中,每個頁面中都有"game"和"pause menu"圖片。這樣一來,在繪制"game"和"pause menu"時都需要執行多次綁定紋理的操作,而無法像之前那樣各綁定一次就能完成繪制。

按文件夾分類圖片,還能將紋理設置相關的圖片組織在一起。比如每張圖運行時的內存格式(RGBA, RGB,等等),過濾(nearest, linear,等等)。圖片需要不同的紋理設置,就要分為不同的頁面打包,這時應該將圖片用文件夾分開放置。

用文件夾來組織,還是用 Spine將所有子目錄打包到一起,請看`Combine subdirectories`設置。

為了避免子目錄的路徑出現在 atlas文件的圖片名稱中,請看`Flatten paths`設置。

JSON 結構(JSON Configuration)

每個文件夾可以包含一個 "pack.json"文件用于具體指定此文件夾下圖片的打包設置。每個子文件夾繼承其父級的設置。子文件夾中的設置會覆蓋父級的設置。

下面是一個 JSON文件的例子,包含了所有可用的設置。

{

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: [ "" ]

}

注意這是 libgdx的"minimal" JSON格式,因此雙引號通常是可選的。

不是所有的設置都需要指定,可以省略部分或全部。例如:取消填充(padding)和 合并目錄(combine subdirectories)那么JSON可以寫成這樣:

{

paddingX: 0,

paddingY: 0,

combineSubdirectories: false

}

在設置 [Settings](#Settings)對話框有一個保存JSON `Save JSON`按鈕能保存當前設置。此文件會命名為`pack.json`將它放要輸入圖片的文件夾下就成了此目錄的設置文件,用不著手動創建設置文件。

九宮格(Ninepatches)

九宮格一般不用于 Spine骨骼,但有其它的用途。

不算擴展名,如果一個圖片文件的名稱以".9"結尾,那么它將被識別為九宮格。可以手動創建九宮格圖片,也可以使用這個工具[this tool]。圖片必須有1px的透明邊框。左上邊緣可以有一條連續的黑線用于定義切割信息,九宮格中哪部分將會伸展。在右下邊緣可以有一條連續的黑線用來定義填充信息,內容如何在九宮格中填充。圖片打包時,1px的透明邊框會被移除,切割和填充信息會儲存在atlas數據文件里。

圖片索引(Image indexes)

圖片索引一般不用于 Spine骨骼,但有其它的用途。

如果一個圖片文件名以下劃線加數字結尾(例如:`animation_23.png`),這個數字將被識別為索引,圖片的索引會儲存在atlas文件中。儲存圖片文件名時不包含下劃線和索引。這樣便可以通過索引在一個列表中檢索這些圖片。這樣能更方便的打包精靈動畫避免搞亂幀的順序。

總結

以上是生活随笔為你收集整理的spine 导出纹理_Spine 纹理打包Texture packing_官方文档中文版的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。