2D攝像機的設計

2021-10-05 03:43:12 字數 1200 閱讀 6732

攝像機跟隨移動有多種方式,為了使攝像機更平滑的移動,這裡使用插值運算,很多人說使用它總會卡頓,只是因為同步更新問題,將移動方式放於lateupdate()中便可,在地圖允許的情況下,直接使用座標插值即可。

//插值運算移動

transform.position=vector3.

lerp

(vector3 origin,vector3 target,speed*time.deltatime)

;

有時候素材不足以支撐攝像機的自由跟隨(即地圖太小不允許),這就需要為攝像機設定範圍,a為相機xy軸自由移動,b為xy軸分別移動,c為相機移動死角,d為攝像機。

攝像機中心位置移動範圍為a,在b區域只能xy軸分開移動,在c區域無法移動。

// x軸插值

target.x=mathf.

lerp

(transform.position.x, playerpoint.transform.position.x, speed * time.deltatime)

;// y軸插值

target.x=mathf.

lerp

(transform.position.y, playerpoint.transform.pyosition.y, speed * time.deltatime)

;//速度緩衝

public struct lrsize/*自定義結構體*/

}public float normalspeed;

//正常速度

public float limitspeed;

//最小速度

public float smoothspeed;

//緩衝速度

protected lrsize alertlimit;

//緩衝範圍

public virtual void

limit()

}else}}

public virtual void

tolerp()

if(相機在上下&&目標在上下)}}

else

}public

void

lateupdate()

Viewport3D中的攝像機(二 攝像機動作)

前文介紹了viewport3d中的兩種攝像機 orthographiccamera和perspectivecamera。在3d場景裡漫遊,最主要的工作就是針對使用者輸入 例如滑鼠左右移動 鍵盤按下a w s d等鍵 來改變攝像機的位置 方向。本文接下來介紹如何通過改變perspectivecamer...

Viewport3D中的攝像機(二 攝像機動作)

前文 介紹了viewport3d中的兩種攝像機 orthographiccamera和perspectivecamera。在3d場景裡漫遊,最主要的工作就是針對使用者輸入 例如滑鼠左右移動 鍵盤按下a w s d等鍵 來改變攝像機的位置 方向。本文接下來介紹如何通過改變perspectivecame...

Unity3D 2D遊戲攝像機的跟隨實現

新建乙個canvas,canvas設定render mode為world space。event camera為主攝像機。rect transform的width 800,height 480.新建乙個主角test,為主角新增指令碼。testplayer.cs.新建兩個空物件,分別為放在地圖的左下角...