1.鏡頭移動
鏡頭移動首先應該是以玩家為中心
所以鏡頭移動的坐標應該以玩家的坐標作參考移動
而玩家的坐標是從Transform中設置的
所以應該為Main Camera新建一個腳本,在里面聲明Transform對象用於獲取玩家坐標
//這里用不上Strat方法
在這里還需要知道大寫開頭的的函數名Transform只代表一個類型,需要有實際引用的變量
而小寫開頭的transform是代表了承載腳本組件的元素Main Camera自己的Transform變量(組件)
所以再update中更新需要調用的是transform
於是在代碼中編輯transform的position就可以了
需要注意transform的position是三維,需要賦予三維向量,x,y軸隨player,而z軸就使用默認的-10f就可以了(因為角色的z軸與相機的z軸不同)
拖入player之后就可以預覽一下了
但是這種情況背景圖片不夠大的情況下很容易就可以看見地圖的邊界,所以最好鎖定一下y軸(設置為0f,主要是不看到頂,兩邊另說)
2.Cinemachine
處理地圖邊界側漏問題(?)使用到的是Cinemachine
在window一路殺到Cinemachine點擊安裝(install)
安裝完之后就會多出這個玩意
然后添加一個2D Camera
這里的Follow就是指鏡頭的跟隨,這里把player拖進去就可以執行康康
然后就發現鏡頭的跟隨變成了緩慢跟隨(更加自然)
角色上還多個黃色點(鏡頭跟隨點)
然后在該組件中還有不少可以調整的參數(例如框中的鎖死區域,就是超過這個區域之后鏡頭才會開始移動)
如果要調整鏡頭可以直接調整ScreenXY
3.處理邊界Confiner
出現邊界顯然是背景不夠大,壓榨美術資源整張超大的地圖不就好了(
像這種能重復利用的背景圖,新建一個object,復制幾個back塞一塊就可以了(
像這樣
而找到地圖位置就需要額外添加擴展
而判斷范圍用的是Collider,所以需要給背景添加一個Collider
然后給背景添加一個多邊形Collider
然后編輯調整,拖拽到覆蓋上整個background
不需要的點可以選中點ctrl刪掉
添加Collider在拖拽之外還可以搜索添加
而因為Collider會對其他Collider產生物理碰撞,所以需要勾選isTrigger(表示這是個類似開關的碰撞箱,不會產生物理碰撞
如果還是看得到邊界(可能時預覽的時候縮放調太大了
或者是鏡頭調太大了,可以通過這個參數調整大小
搞腚