【Unity】实现分屏开发

前言:

最近有个项目二期需要做分屏开发,今天恰好研究一下为后续的项目做个准备。

原理

整体的实现还是蛮简单的,主要是通过camera的一个targetDisplay属性进行设置

可以看到unity支持最多八个分屏

实现

场景搭建 ,这里直接使用了之前的一个垃圾场景

场景中一个unity 自带的 main camera,默认的属性也是display1,在项目启动的时候会自动激活

增加第二个项目,设置targetDisplaye属性为Display2,像上图一样,同时创建一个子物体cube

拉动cube的位置,可以看到就行

编辑器预览

如果你是单个屏幕,可以通过在game下切换不同的Display进行选择

发布应用

编辑器预览模式发布之后没办法激活第二个屏幕,需要写一些简单的代码

复制代码
using UnityEngine;

public class DupScreen: MonoBehaviour
{
    private void Awake()
    {
        Screen.fullScreen = true;
        if (Display.displays.Length > 1)
        {
            Display.displays[1].Activate();
            Display.displays[1]
                .SetRenderingResolution(Display.displays[1].systemWidth, Display.displays[1].systemHeight);
        }

        if (Display.displays.Length > 2)
        {
            Display.displays[2].Activate();
            Display.displays[2]
                .SetRenderingResolution(Display.displays[2].systemWidth, Display.displays[2].systemHeight);
        }
    }
}

将上面的脚本任意挂载到一个GameObject上,或者创建一个空物体挂载也行,总之就是在启动的时候能够激活脚本

运行之后会自动在双屏显示

相关推荐
Martina_032118 小时前
AI生成3D场景的霓虹灯一开就糊成光团?用6步检查Emissive、Bloom与曝光
人工智能·3d·ai·自然语言处理·游戏引擎·材质·贴图
寂寞的船2 天前
【Unity知识速递】第8期 IL2CPP 托管堆内存碎片与原生堆交互机制深度解析
unity·游戏引擎·交互
寂寞的船3 天前
【Unity知识速递】第5期 Unity 6.2 深度解析:AI Assistant 登场,World Space UI 与 Sentis 全面升级
人工智能·ui·unity
寂寞的船3 天前
【Unity知识速递】第4期 MCP for Unity:用 AI 自然语言控制编辑器
人工智能·unity·编辑器
淡海水3 天前
09-04-内存-Unity原生对象生命周期
unity·c#·游戏引擎·gc
寂寞的船3 天前
【Unity知识速递】第6期 URP性能优化完全指南:从内存到GPU的三维调优
unity·性能优化·编辑器
寂寞的船3 天前
【Unity Bug挑战】第10期 SerializeReference 内存泄漏之谜
unity·c#·游戏引擎·bug
tealcwu5 天前
【Unity基础】为什么游戏需要物理按键映射?从 Unity Input Manager 到跨引擎输入设计
java·游戏·unity
tealcwu6 天前
【Unity高级】Unity URP:构建同时支持 2D 与 3D 场景的项目完全指南
3d·unity·游戏引擎
淡海水6 天前
10-01-互操作-C#与C++边界的内存管理
unity·c#·游戏引擎·.netcore·gc