Unity3D在Windows的全屏和跨屏(双屏)方案

方案1 unity中2个摄像机场景显示在两个显示器屏幕上(一个窗口跨屏)

1.设置场景中的两个摄像机

摄像机1

摄像机2

2.设置发布的平台及分辨率

3.全屏运行游戏,没有标题栏还可以通过-popupwindow

例如:

G:\untiy3d_workspace\Demos>lol_demo_0515 -popupwindow

方案2

http://blog.csdn.net/a117653909/article/details/47101743

环境:Win7 64bit, Unity3D 4.6.2

using System;
using System.Collections;
using System.Runtime.InteropServices;
using System.Diagnostics;
using UnityEngine;
using System.Xml.Serialization;

public class WindowMod : MonoBehaviour
{
    [HideInInspector]
    public Rect screenPosition;
    [DllImport("user32.dll")]
    static extern IntPtr SetWindowLong(IntPtr hwnd, int _nIndex, int dwNewLong);
    [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();
    const uint SWP_SHOWWINDOW = 0x0040;
    const int GWL_STYLE = -16;
    const int WS_BORDER = 1;
    private int i = 0;

    void Start()
    {
        SetWindowLong(GetActiveWindow(), GWL_STYLE, WS_BORDER);
        SetWindowPos(GetActiveWindow(), -1, (int)screenPosition.x, (int)screenPosition.y, (int)screenPosition.width, (int)screenPosition.height, SWP_SHOWWINDOW);
    }

    void Update()
    {
        i++;
        if(i<5)
        {
            SetWindowLong(GetActiveWindow(), GWL_STYLE, WS_BORDER);
            SetWindowPos(GetActiveWindow(), -1, (int)screenPosition.x, (int)screenPosition.y, (int)screenPosition.width, (int)screenPosition.height, SWP_SHOWWINDOW);
        }
    }
}

 
上图,Build设置 
用这个脚本,可以使Unity3D窗口全屏,没有标题栏,通过更改screenPosition的值,还可以使窗口直接在第二个屏幕上启动(x=0, y=0, width=1920, height=1080),或者窗口跨越两个屏(x=0, y=0, width=3840, height=1080)。 
Windows系统会记录每个软件的窗口大小和位置,记录在注册表的\HKEY_CURRENT_USER\Software\xxx\yyy 位置,xxx是Unity3D在build设置中的Company Name,yyy是在Build设置中的Product Name。所以如果有时候窗口大小有问题,可以先备份注册表,再删除xxx项。建议每个项目的Product Name不要用默认值,否则打包出来的软件都会对应到注册表里相同的项。

时间: 2024-11-02 15:33:01

Unity3D在Windows的全屏和跨屏(双屏)方案的相关文章

Windows之系统自带截屏快捷键

Windows之系统自带截屏快捷键 现在我们都习惯了使用QQ截屏,但是有时候电脑没有网络,也就意味着无法登陆QQ,在这个时候再有截屏的需求时,我们就束手无策了. 截取全屏 现在我说以个Windows系统自带的截屏功能.就是 PrtSc键.这个是截取的全屏,截取完后如果打开了图片处理工具,截取的图片就会自动放入图像处理软件的工作簿中,如果没有打开这类软件,则需要打开 Word使用Ctrl+V将图片保存到Word中.后续可以通过电脑自带的图片处理工具进行二次处理. 截取选中的视图框 也可以截取选中的

今天烦死了,各种技术,各种问题,全栈式多屏工程师不好做啊

感言:全栈式多屏工程师不好做啊 今天,是最近写代码最烦的一天啊,遇到各种问题. 1.公司项目,发短信不成功.    其中一个平台的短信发送不成功,这个真不能怪我.   一是由于,HTTP短信接口的API地址不对,404.   而是由于,WebService接口,没有SDK包,只有SDK的文档. 2.表格组件grid有问题.   无论怎么尝试,分页总是失败.   秒针原来某个同事写的grid组件,用的比较多,但是2.0和3.0有很大变化.   参数的格式在变化,接受参数的方式也在变化,Spring

Unity3D部署windows store程序到Surface进行调试

Unity3D如果开发Windows Store的游戏,一般需要真机或者模拟器来调试,本文主要讲解下如何把程序发布到Surface真机上进行调试. 首先第一步肯定是要在Unity3D中将项目build出来: 那么接下来就要依靠Visual Studio 2013来帮助我们调试Windows Store的程序了. Visual Studio 2013虽然集成了一个Windows 8.1的模拟器,但是很多应用需要用到真机,甚至是Surface这种移动设备(比如指南针.加速器等的需要) 笔者刚遇到本问

Unity3D开发Windows Store应用程序 注意事项

原地址:http://blog.csdn.net/jbjwpzyl3611421/article/details/12704491 针对最近在移植window store项目中遇到的问题,我整理了官方说明, 在此和各位开发者分享,避免在移植过程中走弯路!     Platform status 平台现状   Currently if you want to build a Windows Store apps player, you have to do it on Windows 8, thi

PHP漏洞全解(六)-跨网站请求伪造

本文主要介绍针对PHP网站的跨网站请求伪造.在CSRF所有攻击方式中包含攻击者伪造一个看起来是其他用户发起的 HTTP 请求,事实上,跟踪一个用户发送的 HTTP 请求才是攻击者的目的. CSRF(Cross Site Request Forgeries),意为跨网站请求伪造,也有写为XSRF.攻击者伪造目标用户的HTTP请求,然后此请求发送到有CSRF漏洞的网站,网站执行此请 求后,引发跨站请求伪造攻击.攻击者利用隐蔽的HTTP连接,让目标用户在不注意的情况下单击这个链接,由于是用户自己点击的

云适配将推出中国首个开源 HTML5 跨屏前端框架 - Amaze UI

云适配,这是一家能以一行代码将你的网站移动化,实现网址不变且内容实时自动同步的服务提供商.云适配所采用的技术是一项基于云计算.利用html5进行网站跨屏适配,它为目标网站开发一行JS代码,并嵌入PC网站,这个JS代码通过对PC网站目标网页数据的分析和抓取,在云端完成用户当前设备的网页最佳展现方式的计算,最后在浏览器端实现html结构的重排及CSS的重新渲染,以适应移动端用户的浏览习惯. 在他们用一行代码做适配的过程中,积累了一套跨屏的前端常用网页组件,而最近,他们想把这套组件开源出来,将这套组件

Android 跨进程启动Activity黑屏(白屏)的三种解决方案

原文链接:http://www.cnblogs.com/feidu/p/8057012.html 当Android跨进程启动Activity时,过程界面很黑屏(白屏)短暂时间(几百毫秒?).当然从桌面Lunacher启动一个App时也会出现相同情况,那是因为App冷启动也属于跨进程启动Activity.为什么没会出现这种情况呢?真正元凶就是Android创建进程需要准备很多资源,它是一个耗时的操作. 黑屏(白屏)原因 当A进程启动B进程中的一个Activity时,Android系统会先有zygo

折叠手机上市,针对企业网站的跨屏优化技术悄然盛行

2019年初的MWC大会期间,包括华为.三星等品牌在内的手机厂商发布各家折叠屏手机产品,被行业内认为2019年将会是折叠手机元年,同年5G时代宣布到来. 企业往往喜欢选择线上展开业务,对于企业来说,这是一次机会,现在虽然用户更多了,但是做流量似乎更难了,企业抓住这一次机会便有将来,住不住可能面临出局. 折叠屏手机兼顾大尺寸与便携性,是传统手机屏幕的两倍,与平板电脑相近.同时手机折叠之后可放入口袋,具有IPAD所不必备的便携性.5G高速的网络环境,对于企业而言,线上流量从PC端向移动端转移,大尺寸

非常全的跨域实现方案

由于同源策略的限制,满足同源的脚本才可以获取资源.虽然这样有助于保障网络安全,但另一方面也限制了资源的使用. 那么如何实现跨域呢,以下是实现跨域的一些方法. 一.jsonp跨域 原理:script标签引入js文件不受跨域影响.不仅如此,带src属性的标签都不受同源策略的影响. 正是基于这个特性,我们通过script标签的src属性加载资源,数据放在src属性指向的服务器上,使用json格式. 由于我们无法判断script的src的加载状态,并不知道数据有没有获取完成,所以事先会定义好处理函数.服