zihuatanish
zihuatanish
采纳率0%
2016-08-30 05:47 浏览 6.6k

请教一个Unity PC端多显示器分辨率适配的问题

30

建立一个场景,两个相机分别绑定到display1,display2,其中1是1920-1080显示器, 2是3840-2160显示器。并按照U3D 官方manual的说明,对多显示器进行了初始化。

public class multidisplay : MonoBehaviour {
[DllImport("user32.dll")]
static extern bool SetWindowPos(IntPtr hWnd, int hWndInsertAfter, int X, int Y, int cx, int cy, uint uFlags);
[DllImport("user32.dll")]
static extern IntPtr GetActiveWindow();
// Use this for initialization
void Start () {
Debug.Log("displays connected: " + Display.displays.Length);
// Display.displays[0] is the primary, default display and is always ON.
// Check if additional displays are available and activate each.

    if (Display.displays.Length > 1)
        //Display.displays[1].Activate();
        Display.displays[1].Activate(3840, 2160,60);
        //SetWindowPos(GetActiveWindow(), -1, -1920, 0, 3840, 2160, 0x0040);

}
结果运行后不管怎么样调(选择不同显示器,不同分辨率,以及用SetWindowsPos),要么是1080p的那边正常全屏,4K的只铺满显示器上面一半,要么4K的正常全屏,1080p的只显示出一部分(伸出屏幕外的感觉)。
请问如何能做到两台不同分辨率的显示器均能全屏显示?我用的是扩展桌面方式,因两个相机要显示同一场景的不同内容。
折磨了一个月的,盼大拿协助

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

5条回答 默认 最新

  • zihuatanish zihuatanish 2016-08-30 05:58

    图片说明
    这是两种情况抓屏的结果,主显示器display1是1080p的,副显示器是4K的,所以扩展桌面是5760-2160.

    点赞 评论 复制链接分享
  • zihuatanish zihuatanish 2016-08-30 05:59

    图片说明
    图片说明
    这是实拍的照片,左边是2K显示器

    点赞 评论 复制链接分享
  • liuleitheone ltheonel 2016-11-09 00:58

    我问一下,问题解决了吗?能分享下吗?

    点赞 评论 复制链接分享
  • u013057208 低调的遗忘 2017-03-21 07:08

    我问一下,问题解决了吗?能分享下吗?

    点赞 评论 复制链接分享
  • weixin_43204500 weixin_43204500 2018-09-20 09:58

    在game面板右上角选择addTab,再选择Game,就会增加一个game面板,就可以设置另外一个分辨率了。

    点赞 评论 复制链接分享

相关推荐