這陣子測試了一下UI的東西,發現問題真的不少,也不是一時半刻就能搞定的。反正沒有壓力就能做多少算多少啦管他的。
圖層排序
最後發現inspector就有sorting layer的參數,我一直記錯是最頂那欄的東西==
畫面撕裂(Tearing)
輸出遊戲的時候,發現畫面會有像素級別的撕裂。在unity跑的時候卻沒有
用Sprite Atlas把sprite放進去就自動解決了。Abracadabra
鏡頭跟隨
這邊用Cinemachine來代勞鏡頭跟隨的部分
把player放進Vcam的follow就好了,超方便的
平滑移動
角色移動會一直抖抖抖,推測是鏡頭自帶的平滑移動造成的影響
這時候進Vcam的Body,把三軸的Dumping全部改為0,
就可以砍掉鏡頭平滑移動,抖動只改善了一點點
角色抖動
Google找到了很多方法,看留言發現同一個方法有些人可以解決,有些不行,只能自己一個個測試,反正Vcam的Pixel Perfect Extensions沒用==
結果是Player的Rigidbody2D interpolate 為interpolate 時會有問題,所以改成none了,可是預設應該是none啊,那理論上全預設的話應該不會有問題發生。是我記錯還是這東西那麼詭異??
反正主要就和player的interpolate還有Cinemachine的update method有關。調整一下就好了,這邊搞非常久...
UI
因為要讓UI也跟著鏡頭跑,所以也有一些東西要設定。
原本想弄自適應(還是叫響應式?)的部分,
但是看了一下教學,感覺會越級打怪,先把其他問題處理開再看看吧。
9Slice sprite邊緣缺失
圖像按數字鍵來看,只剩下5的部分,其他1-9都不見了
把UI image 的 pixels per unit multiplier = 0.01就可以了
不清楚這參數怎麼運作的,但是目前正常就先這樣吧
UI抖動
Render mode 改為screen space-camera
把鏡頭拖進render camera,UI就會在符合鏡頭大小的情況下跟隨了
問題又來了,UI會抖動。
這邊看文章是UI和Cinemachine撞車了(怎麼感覺CM那麼多問題)
需要寫程式去控制兩者的更新順序和UI位置。
目前沒那個美國時間去碰,所以先放著。
更新Tile為32px
最近比較忙沒法碰引擎就會畫點Tile,
有些東西比我想像中複雜了一點,不過至少不是無頭蒼蠅。
比沒在動好啦。有空的時候就放進去做碰撞了
現在應該是Day6?