我在Unity中製作了一個在480x320分辨率下製作的遊戲(我已將它設置爲構建設置)。但是我想用每個解決方案爲每款Android設備發佈我的遊戲。我該怎麼做才能告訴Unity將我的遊戲擴展到設備的分辨率?有可能嗎?我如何編碼我的遊戲以處理Android設備的每個分辨率? (with Unity)
在此先感謝!
我在Unity中製作了一個在480x320分辨率下製作的遊戲(我已將它設置爲構建設置)。但是我想用每個解決方案爲每款Android設備發佈我的遊戲。我該怎麼做才能告訴Unity將我的遊戲擴展到設備的分辨率?有可能嗎?我如何編碼我的遊戲以處理Android設備的每個分辨率? (with Unity)
在此先感謝!
您的問題的答案很大程度上取決於您如何實施遊戲。如果您使用GUI紋理創建它,那麼它很大程度上取決於您如何放置/調整對象大小與屏幕大小,這使事情變得有點棘手。
如果大部分遊戲都是使用對象(如飛機,立方體等)完成的,那麼我通常選擇使用兩種方法。
1)第一種方法很容易實現,但並不總是看起來太好。您可以簡單地改變相機的高寬比以匹配您設計遊戲的寬高比。所以你的情況,因爲你設計你的遊戲在4:3,你會做這樣的事情:
Camera.aspect = 4f/3f;
但是,如果有人在玩屏幕上意味着16:9,比賽將結束看起來扭曲和伸展。
2)第二種方法不是那麼容易,需要相當多的工作和計算,但會給你一個更清潔的效果。如果您使用的是拼寫相機,請注意一點,無論使用何種屏幕分辨率,正交相機都會將高度保持在設定的高度,並且只會改變寬度。例如,使用大小爲10英寸的正交相機時,高度將設置爲2.考慮到這一點,您需要做的是補償每個級別內可能的最寬的相機(例如,具有寬背景)或動態更改相機的正交大小,直到其寬度與您創建的寬度相匹配。
如果你已經做了3D遊戲的立體攝像頭,屏幕分辨率應該不會真正影響它的外觀,但我想這取決於遊戲,所以更多的信息,將需要
的路上我確實是根據設備的縱橫比來改變相機視 考慮你做的遊戲800x1280
的,你可以在腳本
float xFactor = Screen.width/800f;
float yFactor = Screen.height/1280f;
Camera.main.rect=new Rect(0,0,1,xFactor/yFactor);
中的任何一個做到這一點,這就像魔術
夥計們,這有點兒車,虐待建議使用@納爾遜奧地利的答案, – Rohit
一個簡單的方法來做到這一點是考慮你的目標,我的意思是如果你正在做一個iPhone 5的遊戲,那麼寬高比是9點16分或16點9分。
public float targetRatio = 9f/16f; //The aspect ratio you did for the game.
void Start()
{
Camera cam = GetComponent<Camera>();
cam.aspect = targetRatio;
}
對我來說,最好的解決方法是使用交叉線,以便有在側面上既不是切斷也不遊戲視圖的失真的定理。這意味着您必須根據不同的寬高比進行後退或前進。
如果您願意,我有an asset on the Unity asset store,它可以自動校正相機距離,因此無論使用哪種手持設備,都不會出現失真或中斷。
這是我在2D遊戲縮放ortographic相機腳本
public float screenHeight = 1920f;
public float screenWidth = 1080f;
public float targetAspect = 9f/16f;
public float orthographicSize;
private Camera mainCamera;
// Use this for initialization
void Start() {
// Initialize variables
mainCamera = Camera.main;
orthographicSize = mainCamera.orthographicSize;
// Calculating ortographic width
float orthoWidth = orthographicSize/screenHeight * screenWidth;
// Setting aspect ration
orthoWidth = orthoWidth/(targetAspect/mainCamera.aspect);
// Setting Size
Camera.main.orthographicSize = (orthoWidth/Screen.width * Screen.height);
}
我讓使用對象(立方體,球體)遊戲。這款遊戲是在Unity 3D世界中製作的2D遊戲。 – Zwiebel
如果是2D,那麼您必須使用正交相機,所以請按照我給出的提示進行操作。 –