2015年6月10日 星期三

【Unity】攝影機移動Lerp smoothing測試

(註:Unity會停止回應的話請更新Unity web player,官方載點)
這次試著做了 攝影機移動的Lerp smoothing,,主要的契機是這篇文章:
[GDC 2015] Scroll Back - 2D 捲軸遊戲的攝影機理論與實務

文章內有大量的2D攝影機移動理論,文章當中就提到移動常見的smoothing方法,就試著寫寫看,至於在Unity內Lerp smoothing則是參考這一篇:
Unity腳本:使用Lerp 線性插值製作滑順效果


Lerp smoothing

關於Lerp smoothing上面提到的那篇文章寫得很詳細就不多提,這裡就講自己用到的部分,有關Camera的移動只有兩行程式碼:
Vector3 cameraPos = Vector3.Lerp (transform.position, actor.transform.position, Time.deltaTime);
transform.position = new Vector3 (cameraPos.x, cameraPos.y, -10);

此為Camera下的腳本Update函式的內容,actor為角色物件,透過Vector3.Lerp算出需要的移動量,需要的參數為起點(transform.position)、終點(actor.transform.position)和插值(Time.deltaTime),由於攝影機的Z值不需要移動所以把值重新設定。
以下是這次的結果,使用鍵盤WASD操作。

針對攝影機做smooth後,移動效果看起來就沒有那麼死板,這次就到這裡。
素材:
臼井の会:http://usui.moo.jp/frame2.html
Game Studio Rxus.:http://rxus.digiweb.jp/mate/h003.html

沒有留言:

張貼留言

【自製小遊戲】水平思考猜謎(海龜湯)

遊戲連結 海龜湯的玩法是由出題者提出一個難以理解的事件,參與猜題者可以提出任何問題以試圖縮小範圍並找出事件背後真正的原因。但出題者僅能以「是」、「不是」或「沒有關係」來回答問題。 本遊戲蒐集各種論壇、平台的42個題目,提供給想玩海龜湯卻愁找不到題目的你們。 ...