當前位置:首頁 » 安卓系統 » unityandroid解析度

unityandroid解析度

發布時間: 2022-06-10 16:51:32

A. 如何解決unity ugui安卓解析度

解析度是硬體不是軟體,手機是多少就是多少,賣家告訴你插值多少多少,那都是騙人的

B. Unity 如何設置4K的解析度

其實 Unity3D 安卓版,對於不同的解析度,我們只需要設置 一個唯一的屏幕顯示區域比(說白了就是寬高比),這樣顯示區域就不會隨解析度的改變而拉升。
上代碼:
using UnityEngine;
using System.Collections;
public class Resolution : MonoBehaviour {
public Camera mainCamera;
void Start()
{
//Screen.SetResolution(1280, 800, true, 60);
mainCamera = Camera.mainCamera;
// float screenAspect = 1280 / 720; 現在android手機的主流分辨。
// mainCamera.aspect ---> 攝像機的長寬比(寬度除以高度)
mainCamera.aspect = 1.78f;
}
}
把此代碼腳本綁定在 MainCamera 上就OK了,這樣就不會導致不同解析度下屏幕顯示區域大小不一的問題!

C. 請教Unity如何獲得手機實際解析度

其實 Unity3D 安卓版,對於不同的解析度,我們只需要設置 一個唯一的屏幕顯示區域比(說白了就是寬高比),這樣顯示區域就不會隨解析度的改變而拉升。

D. 如何讓unity3d自適應解析度比如有16:9和16:10的各種屏幕,尤其是當使用GUI時候

public override void GUIDraw (){
//開始縮放
//先定義一個標准屏幕大小代碼按照這個解析度寫,這里屏是800*480象素,GUI矩陣再乘以新的縮放矩陣實現GUI的縮放,GUI.matrix*=scaleMatrix;
ScreenScaleUtil.BeginScreenScale ();

//GUI代碼
GUI...

//結束縮放
ScreenScaleUtil.EndScreenScale ();
}

ScreenScaleUtil.cs

using UnityEngine;
using System.Collections;
using System.Collections.Generic;

public enum ScreenScaleType
{
None,
Center,
Fit,
Full
}

public static class ScreenScaleUtil
{

static ScreenScaleUtil ()
{
scaleRate=1;
scaleType = ScreenScaleType.None;
scaleMatrix = Matrix4x4.identity;
screenSize = new Vector2 (800, 480);

ScaleType=ScreenScaleType.Fit;

lstMats =new List<Matrix4x4>();

}

private static Matrix4x4 scaleMatrix;
private static ScreenScaleType scaleType;
private static Vector2 screenSize;
private static float scaleRate;

public static Matrix4x4 ScaleMatrix {
get {return scaleMatrix; }
}

public static ScreenScaleType ScaleType {
get { return scaleType; }
set {
if (value != scaleType) {

scaleType = value;

scaleMatrix = GetScreenScaleMatrix (screenSize, scaleType,out scaleRate);
}
}
}

public static Vector2 ScreenSize {
get { return screenSize; }
set {
if (value != screenSize) {
screenSize = value;

scaleMatrix = GetScreenScaleMatrix (screenSize, scaleType,out scaleRate);
}

}
}

public static float ScaleRate{
get{
return scaleRate;
}
}

public static void Update(){
scaleMatrix = GetScreenScaleMatrix (screenSize, scaleType,out scaleRate);
}

public static Matrix4x4 GetScreenScaleMatrix (Vector2 screenSize, ScreenScaleType scaleType)
{
float rate;
return GetScreenScaleMatrix(screenSize,scaleType,out rate);
}

public static Matrix4x4 GetScreenScaleMatrix (Vector2 screenSize, ScreenScaleType scaleType,out float rate)
{
Matrix4x4 scaleMatrix;
rate = 1;

if (scaleType == ScreenScaleType.None) {
scaleMatrix = Matrix4x4.identity;

} else {

if ((Screen.width / (float)Screen.height) < (screenSize.x / screenSize.y)) {

if (scaleType == ScreenScaleType.Fit) {
rate = Screen.width / screenSize.x;
} else if (scaleType == ScreenScaleType.Full) {
rate = Screen.height / screenSize.y;
}
} else {
if (scaleType == ScreenScaleType.Fit) {
rate = Screen.height / screenSize.y;
} else if (scaleType == ScreenScaleType.Full) {
rate = Screen.width / screenSize.x;
}
}
scaleMatrix = Matrix4x4.TRS (new Vector3 ((Screen.width - screenSize.x * rate) / 2.0f, (Screen.height - screenSize.y * rate) / 2.0f, 0), Quaternion.identity, new Vector3 (rate, rate, 1));

}
return scaleMatrix;
}

private static List<Matrix4x4> lstMats;

public static void BeginScreenScale(){

if(lstMats.Count>0){
return;
}

lstMats.Add(GUI.matrix);
GUI.matrix*=ScaleMatrix;

}

public static void BeginScreenScale(ScreenScaleType scaleType ){

if(lstMats.Count>0){
return;
}

lstMats.Add(GUI.matrix);
GUI.matrix*=GetScreenScaleMatrix(screenSize,scaleType);

}

public static void EndScreenScale(){
if(lstMats.Count<=0)
return;

GUI.matrix=lstMats[lstMats.Count-1];

lstMats.RemoveAt(lstMats.Count-1);
}

}

E. unity發布安卓版本怎樣設置解析度

其實 Unity3D 安卓版,對於不同的解析度,我們只需要設置 一個唯一的屏幕顯示區域比(說白了就是寬高比),這樣顯示區域就不會隨解析度的改變而拉升。
上代碼:
using UnityEngine;

using System.Collections;

public class Resolution : MonoBehaviour {

public Camera mainCamera;

void Start()

{

//Screen.SetResolution(1280, 800, true, 60);

mainCamera = Camera.mainCamera;

// float screenAspect = 1280 / 720; 現在android手機的主流分辨。

// mainCamera.aspect ---> 攝像機的長寬比(寬度除以高度)

mainCamera.aspect = 1.78f;

}

}
把此代碼腳本綁定在 MainCamera 上就OK了,這樣就不會導致不同解析度下屏幕顯示區域大小不一的問題!

F. 【在線等!急!!】(unity3d)NGUI的UI root下面的adjust by DPI到底是什麼意思

官網論壇上的回答:
Adjust by DPI experimental option will scale your UI Root on top of its ordinary scaling. That is, you'd design your UI in Pixel Perfect mode and on iPad Retina you'd get the screen size that matches the non-retina resolution. It basically takes pixel density into consideration, making your UI be based on screen DPI, not just screen resolution.
簡單的說,就是不同的顯示設備有不同的DPI,所謂DPI是用來衡量像素密度的,比如3.7寸的解析度為1024*768的android設備就是
sqrt(1024^2 + 768^2) / 3.7
由此可見,相同解析度下,屏幕越小,DPI越大。而相同屏幕大小下,解析度越大,DPI越大。
NGUI的這個功能就是可以動態的匹配其它DPI的屏幕,而你只需要匹配開發機的DPI就可以了。NGUI會通過內部計算來匹配目標設備的DPI(比如拉伸/縮小控制項)不過實際使用上問題還是很多的。

G. unity怎樣實現全屏間的切換以及設置屏幕解析度

unity怎樣實現全屏間的切換以及設置屏幕解析度

------------------------

Unity3d發布成exe項目後的設置(全屏自適應屏幕大小)

1. 去除啟動exe項目時出現的畫面窗口


測試示例如第2個,你懂的。
4.補充
全屏:Screen.fullScreen=true;

H. 如何修改unity的顯示解析度

首先這個視圖是發布pc的時候的Game視圖,所以選解析度的時候只有這么幾個選項

打開Build Setting(快捷鍵Ctrl + Shift + b)

就是這樣!

I. unity 怎麼適配大屏幕手機,比如vivo nex 的解析度是2340*1080

VIVO NEX的解析度是2316×1080!😁

J. Android下的Unity3d開發如何自適應屏幕方向

全適配很多工作,一般也不會做完全適配。
1、查下當前哪種解析度的手機市場佔有量最大。
2、使用步聚1解析度比例,如3:2。做好該解析度下的美術資源。
3、寫一個腳本,按在上面比例,縮放UI。簡單來說你要把該腳本掛到某此父節點上。

熱點內容
內置存儲卡可以拆嗎 發布:2025-05-18 04:16:35 瀏覽:335
編譯原理課時設置 發布:2025-05-18 04:13:28 瀏覽:378
linux中進入ip地址伺服器 發布:2025-05-18 04:11:21 瀏覽:612
java用什麼軟體寫 發布:2025-05-18 03:56:19 瀏覽:32
linux配置vim編譯c 發布:2025-05-18 03:55:07 瀏覽:107
砸百鬼腳本 發布:2025-05-18 03:53:34 瀏覽:943
安卓手機如何拍視頻和蘋果一樣 發布:2025-05-18 03:40:47 瀏覽:739
為什麼安卓手機連不上蘋果7熱點 發布:2025-05-18 03:40:13 瀏覽:803
網卡訪問 發布:2025-05-18 03:35:04 瀏覽:511
接收和發送伺服器地址 發布:2025-05-18 03:33:48 瀏覽:371