[Unity]Cinemachine Confiner Camera (限制跟隨相機)與Cinemachine 2D

限制跟隨相機與Cinemachine 2D

在製作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很簡單。

留言

熱門文章