Unity 2D戰棋類 攝像機的區域性移動控制

2021-07-05 21:37:01 字數 695 閱讀 7938

實在不知道如何命名標題

源: 在一張地圖上,攝像機顯示地圖部分區域,通過移動滑鼠或安卓端拖動從而顯示不同的區域...且控制攝像機的邊界範圍不移動出去到地圖外

一般得不到攝像機的寬和高,通過pixelwidth 和 pixelheight 得到的也僅僅是所屬裝置(例安卓)的螢幕解析度那麼如何得到攝像機的寬和高(可視範圍的寬和高)?

答:攝像機有orthographicsize屬性,一般在屬性面板上看到的size屬性,它有什麼用呢? 

------  它的值*2*畫素比(pixels per unit)就是攝像機可是範圍的高度

即:假設一張地圖的高度為1200px,那麼我想要攝像機的高度正好和他一樣高怎麼辦呢?  那麼就將攝像機size的值設為:1200px / 畫素比 /2 就可以了...一般預設畫素比為100

那麼得到高度了如何得到可視寬度呢??? 

-----   可視寬度和所屬裝置的解析度有關,  可視寬度 =  可視高度 * 裝置的寬高比,不贅述了...

那麼得到了可視寬度 和 高度,又有地圖的寬度和高度...

在上述地圖和攝像機的 軸心都中心的情況下很容易得到  攝像機或地圖可移動的偏移量

offsetx = | (地圖寬度-攝像機寬度)/2 |

offsety = | (地圖高度-攝像機高度)/2 |

在不超過上述最大偏移量的情況下控制鏡頭移動就好了...

unity3d攝像機引數

1.clear flags 清除標記。決定螢幕的哪部分將被清除。一般使用者使用對台攝像機來描繪不同遊戲物件的情況,有3中模式選擇 skybox 天空盒。預設模式。在螢幕中的空白部分將顯示當前攝像機的天空盒。如果當前攝像機沒有設定天空盒,會預設用background色。solid color 純色。選...

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

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

2D攝像機的設計

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