当前位置:首页 » 安卓系统 » 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