天天看點

cocos 資源工作流程

[1]概述

[2]圖像資源

[3]預制資源

[4]圖集資源

[5]藝術數字資源

[6]字型資源

前面的話

  本文将詳細介紹 cocos 中的資源工作流程

概述

【同步性】

  資料總管中的資源和作業系統的檔案管理器中看到的項目資源檔案夾是同步的

  在資料總管中對資源的移動、重命名和删除,都會直接在使用者的檔案系統中對資源檔案進行同步修改。同樣的,在檔案系統中(如 Windows 上的 Explorer 或 Mac 上的 Finder)對添加或删除資源,再次打開或激活 Cocos Creator 程式後,也會對資料總管中的資源進行更新

【meda檔案】

  所有 assets 路徑下的資源都會在導入時生成一份資源配置檔案(.meta),這份配置檔案提供了該資源在項目中的唯一辨別(uuid)以及其他的一些配置資訊(如圖集中的小圖引用,貼圖資源的裁剪資料等),非常重要

  在編輯器中管理資源時,meta 檔案是不可見的,對資源的任意删除、改名、移動操作,都會由編輯器自動同步相應的 meta 檔案,確定 uuid 的引用不會丢失和錯亂

  注意在編輯器外部的檔案系統中(Explorer,Finder)對資源檔案進行删除、改名、移動時必須同步處理相應的 meta 檔案。資源檔案和其對應的 meta 檔案應該保持在同一個目錄下,而且檔案名相同

  如果在編輯器外部的檔案系統中(Explorer,Finder等)進行了資源檔案的移動或重命名,而沒有同步移動或重命名 meta 檔案時,會導緻編輯器将改名或移動的資源當做新的資源導入,可能會出現場景群組件中對該資源(包括腳本)的引用丢失

  在編輯器發現有未同步的資源配置檔案時,會彈窗警告使用者,并列出所有不比對的 meta 檔案。這時無法正确比對的資源配置檔案會從項目資源路徑(asset)中移除,并自動備份到 

temp

 路徑下

  如果希望恢複這些資源的引用,将備份的 meta 檔案複制到已經移動過的資源檔案同一路徑下,并保證資源檔案和 meta 檔案的檔案名相同

  注意編輯器在處理資源改名和移動時會生成新的 meta 檔案,這些新生成的 meta 檔案可以在恢複備份的 meta 後安全删除

圖像資源

  圖像資源經常被稱作貼圖、圖檔,是遊戲中絕大部分圖像渲染的資料源。圖像資源一般由圖像處理軟體(如 PS )制作而成并輸出成 Cocos Creator 可以使用的檔案格式,目前包括 JPG 和 PNG 兩種

  圖像資源在資料總管中以自身圖檔的縮略圖作為圖示。在資料總管中選中圖像資源後,屬性檢查器下方會顯示該圖檔的縮略圖

【SpriteFrame】

  在資料總管中,圖像資源的左邊會顯示一個和檔案夾類似的三角圖示,點選就可以展開看到它的子資源(sub asset),每個圖像資源導入後編輯器會自動在它下面建立同名的 SpriteFrame 資源

  SpriteFrame 是核心渲染元件 Sprite 所使用的資源,設定或替換 Sprite 元件中的 

spriteFrame

 屬性,就可以切換顯示的圖像

  為什麼會有 SpriteFrame 這種資源?這樣的設定是因為除了每個檔案産生一個 SpriteFrame 的圖像資源(Texture)之外,還有包含多個 SpriteFrame 的圖集資源(Atlas)類型

  直接将 SpriteFrame 或圖像資源從資料總管中拖拽到層級管理器或場景編輯器中,就可以直接用所選的圖像在場景中建立 Sprite 節點。之後可以拖拽其他的 SpriteFrame 或圖像資源到該 Sprite 元件的 

Sprite Frame

 屬性欄中,來切換該 Sprite 顯示的圖像

  導入圖像資源後生成的 SpriteFrame 會進行自動剪裁,去除原始圖檔周圍的透明像素區域。這樣在使用 SpriteFrame 渲染 Sprite 時,将會獲得有效圖像更精确的大小

預制資源

  在場景中編輯好節點後,直接将節點從層級管理器拖到資料總管,即可建立出一個預制(prefab)

  在場景中修改了預制執行個體後,在屬性檢查器中直接點選儲存,即可儲存對應的預制資源

  在場景中修改了預制執行個體後,在屬性檢查器中直接點選回退,即可将預制對象還原為資源中的狀态

  每個場景中的預制執行個體都可以選擇要自動同步和還是手動同步。設為手動同步時,當預制對應的原始資源被修改後,場景中的預制執行個體不會同步重新整理,隻有在使用者手動還原預制時才會重新整理;設為自動同步時,該預制執行個體會自動和原始資源保持同步

圖集資源

  圖集(Atlas)也稱作 Sprite Sheet,是遊戲開發中常見的一種美術資源。圖集是通過專門的工具将多張圖檔合并成一張大圖,并通過 plist 等格式的檔案索引的資源。可供 Cocos Creator 使用的圖集資源由 plist 和 png 檔案組成

  在遊戲中使用多張圖檔合成的圖集作為美術資源,有以下優勢:

  1、合成圖集時會去除每張圖檔周圍的空白區域,加上可以在整體上實施各種優化算法,合成圖集後可以大大減少遊戲包體和記憶體占用

  2、多個 Sprite 如果渲染的是來自同一張圖集的圖檔時,這些 Sprite 可以使用同一個渲染批次來處理,大大減少 CPU 的運算時間,提高運作效率

  要生成圖集,首先應該準備好一組原始圖檔,接下來可以使用專門的軟體(texturepacker 或者 Zwoptex)生成圖集,使用這些軟體生成圖集時選擇 cocos2d-x 格式的 plist 檔案。最終得到的圖集檔案是同名的 plist 和 png,将 plist 和 png 檔案同時拖拽到資料總管中,就可以生成可以在編輯器和腳本中使用的圖集資源了

【自動圖集】

  自動圖集資源是 Cocos Creator 自帶的合圖功能,可以将指定的一系列碎圖打包成一張大圖,在資料總管中右鍵,可以在如下菜單中找到 建立 -> 自動圖集配置 的子菜單,點選菜單将會建立一個類似 AutoAtlas.pac 的資源,自動圖集資源将會以目前檔案夾下的所有 SpriteFrame 作為碎圖資源。 如果碎圖資源 SpriteFrame 有進行配置過,在打包後重新生成的 SpriteFrame 将會保留這些配置

藝術數字資源

  藝術數字資源是一種使用者自定義的資源,它可以用來配置藝術數字字型的屬性。在資料總管中右鍵,可以在如下菜單中找到 建立 -> 藝術數字配置 的子菜單,點選菜單将會建立一個類似 LabelAtlas.labelatlas 的資源。藝術數字資源在使用之前需要進行一些配置,比如關聯渲染的圖檔資源,設定每一個字元的寬高和起始字元資訊

  在資料總管中選中一個藝術數字資源後,屬性檢查器面闆将會顯示藝術數字資源的所有可配置項,配置完成後需要點選屬性檢查器右上角的綠色的打勾按鈕來儲存設定

  使用藝術數字資源非常簡單,隻需要建立一個 Label 元件,然後把建立好的藝術數字資源拖到 Label 元件的 Font 屬性即可

字型資源

  使用 Cocos Creator 制作的遊戲中可以使用三類字型資源:系統字型,動态字型和位圖字型

  系統字型是通過調用遊戲運作平台自帶的系統字型來渲染文字,不需要使用者在項目中添加任何相關資源。要使用系統字型,需要使用Label元件中的 Use System Font 屬性

  目前 Cocos Creator 支援 TTF 格式的動态字型。隻要将擴充名為 TTF 的字型檔案拖拽到資料總管中,即可完成字型資源的導入

  位圖字型由 fnt 格式的字型檔案和一張 png 圖檔組成,fnt 檔案提供了對每一個字元小圖的索引。這種格式的字型可以由專門的軟體生成

  在導入位圖字型時,需要将 fnt 檔案和 png 檔案同時拖拽到資料總管中

  字型資源需要通過 Label 元件來渲染,在層級管理器中點選左上角的建立節點按鈕,并選擇

建立渲染節點/Label(文字)

,就會在場景中建立出一個帶有 Label 元件的節點。也可以通過主菜單的

節點/建立渲染節點/Label(文字)

來完成建立,效果一樣

  字型元件預設使用系統字型作為關聯的資源,如果想要使用導入到項目中的 TTF 或位圖字型,可以将字型資源拖拽到建立的 Label 元件中的 

File

 屬性欄中

  可以根據項目需要,自由的切換同一個 Label 元件的 

File

 屬性,來使用 TTF 或位圖字型。切換字型檔案時,Label 元件的其他屬性不受影響

  如果要恢複使用系統字型,可以點選 

Use System Font

 的屬性複選框,來清除 

File

 屬性中指定的字型檔案

好的代碼像粥一樣,都是用時間熬出來的

cocos 資源工作流程
下一篇: macbook 入門

繼續閱讀