自動生成 unity ugui prefab 測試案例
這次測試了三種不同的方式來自動生成 Unity UGUI Prefab,分別是透過 PSD Parser、元件+腳本,以及直接從 Figma 導出。以下記錄各方式的實驗結果。
方法一:PSD Parser + Unity Script
透過解析 PSD 圖層結構,自動對應生成 UGUI 元件。挑選了兩組效果比較好的 PSD 進行測試。
urscos Tech.
這次測試了三種不同的方式來自動生成 Unity UGUI Prefab,分別是透過 PSD Parser、元件+腳本,以及直接從 Figma 導出。以下記錄各方式的實驗結果。
透過解析 PSD 圖層結構,自動對應生成 UGUI 元件。挑選了兩組效果比較好的 PSD 進行測試。
進入 chrome://on-device-internals 如果模型沒有下載(Foundational model state: No On-device Feature Used),就在 console 呼叫
const session = await LanguageModel.create();
如下圖 model 開始下載

開始進行許久未動的工作,將游戲打包資源縮小,有鑒於之前老早寫好了 buildinfo
打包出來呢,大概主要以 texture2D 為主,如下:
【按類型統計】
| 類型 | 數量 | 總大小 |
|---|---|---|
| UnityEngine.Texture2D | 3037 | 10.97 GB |
| UnityEngine.AudioClip | 474 | 193.13 MB |
| UnityEngine.TextAsset | 1445 | 47.55 MB |
| UnityEngine.Font | 9 | 16.01 MB |
| UnityEngine.Sprite | 5219 | 12.34 MB |
在 Unity 專案中,部分 texture 的 .meta 檔案每次開啟 Editor 後都會自動出現變動,即使執行 git discard 還原,下次開啟 Unity 仍然會重新產生相同的 diff。
變動內容固定是在 platformSettings 區塊新增一段 Android override:
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
這個 overridden: 0 代表這段 override 並沒有自訂任何值,全是預設,這點微妙。
之前開啓了一個項目,要做游戲内部知識庫,去年用 rag/ragraph 做游戲知識庫發現出來的結果不怎樣,轉頭去做了其他的應用
後來大概分析出幾個問題