限制跟隨相機與Cinemachine 2D
同步發表於 https://mythzsgame.blogspot.com/2018/07/unitycinemachine-confiner-camera.html
在製作2D遊戲的時候我們常會為了方便,把攝影機放在腳色下面,好讓攝影機可以跟隨腳色。
但這樣往往會遇到一個問題,就是當我們有做邊界設定的話,當腳色到達邊界或掉落到場景外的時候,攝影機也會乖乖地跟著腳色往外掉,進而讓玩家看到場景之外的破綻。這就不是我們要的了。
在新版的Unity裡面,裡面增加了Cinemachine 2D功能,裡面有一個Confined Follow Camera(限制跟隨相機) 可以幫助我們快速地解決這個問題。
點擊 Cinemachine / Create 2D Camera 這樣就可以做出一個CM vcam1 (Cinemachine Virtual Camera 虛擬攝影機)。
剛創出來的時候會看到Game View變全黑,這是正常的,這是因為我們還沒把要他跟隨的參照物加進去。
在CM vcam1下有一個Follow的參數,可以把主角的物件拉進去。拉進去之後Game View再稍微調整一下他的Orthigraphic Size就會正常了。
當點選到 CM vcam1,在Game View裡就會看到他將畫面劃分為 白、藍、紅三區,分別代表著
跟隨目標區、
跟隨緩衝區跟
禁止區。
當腳色脫離白色區域到達藍色區域時,Camera就會位移,直到腳色進入到白色區。
而紅色區域則是禁止區,除非碰到限制設定,否則腳色永遠不會碰到該區域。
白色區域也可以直接點擊拖曳拉大他的區塊,或由Cinemachine Virtual Camera那邊的Body/Dead Zone 區進行設定。
但是到目前為止還是沒解決邊界問題對嗎?
點擊Cinemachine Virtual Camera那邊最下面的 Extensions / Add Extension 選擇 Cinemachine Confiner
就會看到最下面被加了一個Cinemachine Confiner。這就是用來解決邊界問題用的了,但是我們可以看到他需要一個Boundle Shape 2D的Collider 2D 物件來協助他判斷哪邊是邊界。
我們可以在我們用來設定背景的物件上加上Poligan Collider 2D (
目前只支援 Poligan Collider 2D 跟TileMap專用的 Composite Collider 2D,不支援其他如Box Collider 2D之類的Collider)
點擊Edit Collider就可以編輯端點了。
等編輯完限制範圍記得把Is Trigger 勾起來。不然到時候一開始,玩家就會被Collider擠出場景。
最後把帶Poligan Collider 2D的物件拖回 Cinemachine Confiner這邊。
這樣你就會看到限制攝影機生效了,攝影機當碰到Poligan Collider 2D 區域邊界時,就不會再往外跟隨玩家了。
這樣就輕鬆完成了限制攝影機的設定了。484很簡單。