【问题标题】:Unity, problem with android build on 120hz devicesUnity,在 120hz 设备上构建的 android 存在问题
【发布时间】:2022-06-23 03:53:39
【问题描述】:

我正在做一个简单的 2d 项目,精灵从上到下运行,在标准手机 (60hz) 上一切看起来都很流畅,但是在 s20+(exynos 990 版本)上打开 120hz,精灵开始轻轻拉扯、跳跃、失去平滑度.当我关闭 120hz 刷新率时,游戏运行完美。首先是基于yield return new WaitForEndOfFrame(); 的while 循环,这导致了另一个问题。如果它基于帧,整个移动速度会快 2 倍,并且游戏无法玩。 所以我决定在void Update() 上建立运动,并打开 vSync,这解决了 2x 速度问题,但它对平滑丢失没有帮助,

我试图通过 Application.targetFrameRate = 60; 将帧速率限制为 60,vSync 为 0,结果相同。

所以我的问题是:有没有可能用它做点什么?我可以以某种方式告诉手机在我的应用程序运行时关闭 120hz 刷新吗?或者也许在统一设置中有一些我不知道的选项,可以解决我的痛苦。我现在真的处于精神崩溃的边缘。

【问题讨论】:

    标签: android unity3d refresh frame


    【解决方案1】:

    试试这个(打开 120hz 显示模式):

    1. 在 Assets 文件夹中创建文件“MainActivity.java”。

    2. 打开此文件并粘贴代码:

    package com.*YOUR COMPANY NAME*.*YOUR PRODUCT NAME*;
    import com.unity3d.player.UnityPlayerActivity;
    import android.os.Bundle;
    import android.os.Build;
    import android.view.Display;
    import android.view.Window;
    import android.view.WindowManager;
    public class MainActivity extends UnityPlayerActivity {
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
        Window w = getWindow();
        WindowManager.LayoutParams p = w.getAttributes();
        Display.Mode[] modes = getDisplay().getSupportedModes();
        p.preferredDisplayModeId = modes.length;
        w.setAttributes(p);
    }
    }
    }
    
    1. 在项目设置 -> 播放器中将 *YOUR COMPANY NAME**YOUR PRODUCT NAME* 更改为公司名称和产品名称。

    2. 进入项目设置 -> 播放器 -> 发布设置。勾选“自定义主清单”。

    3. 在“Assets\Plugins\Android”中打开文件“AndroidManifest.xml”。

    4. 将 android:name=com.unity3d.player.UnityPlayerActivity 更改为 android:name=com.*YOUR COMPANY NAME*.*YOUR PRODUCT NAME*.MainActivity

    5. 请务必在任何脚本中调用Application.targetFrameRate = Screen.currentResolution.refreshRate;

    https://forum.unity.com/threads/set-screen-refresh-rate-on-android-11.997247/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多