天天看點

sprite的大小 unity_【筆記】Unity中Sprite Animation到Image.Sprite的轉換

sprite的大小 unity_【筆記】Unity中Sprite Animation到Image.Sprite的轉換

情況是這次程式那邊使用了Screen Space - Overlay的Canvas Render Mode,所有的Assets(包括game objects)都在Canvas上。

理論上Canvas一般是擺放UI素材的,是以一直做sprite animation的我有點懵圈——因為Canvas隻能渲染Image,和Sprite Renderer不相容。殊不知在論壇裡發現了一個很邪門的辦法:用Sprite.Image做動畫(↓原連結↓)

https://forum.unity.com/threads/animating-sprites-in-a-canvas.281426/​forum.unity.com

步驟大概是這樣的:

  1. 删掉Sprite Renderer以及原來的Animation Controller。
  2. 加入Image和Canvas的Component,随便放一張角色的圖檔,Image是使圖檔可以在Canvas上顯示,Canvas是用來調整順序的。
  3. 打開Animation編輯器(這時候原來的animation clips已經沒有了),再按照Sprite Animation的流程把所有的動畫加上。搞定w

P.S.原帖說需要把Image中的Preserve Aspect給uncheck掉,不然每個動畫可能會有大小不一的問題(因為Rect Transform的尺寸是不變的),但我覺得如果是Q版角色,動作幅度沒有那麼大的話,木有太大的必要,It Depends。