【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上,或者创建一个空物体挂载也行,总之就是在启动的时候能够激活脚本

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

相关推荐
污领巾4 小时前
虚幻GAS底层原理解剖六 (Target)
游戏引擎·虚幻
zxc2446039346 小时前
gpu instancer crowd 使用自定义材质并且只修改单个物体的材质参数
unity·材质
伽蓝_游戏11 小时前
UGUI源码剖析(3):布局的“原子”——RectTransform的核心数据模型与几何学
ui·unity·架构·c#·游戏引擎·游戏程序·几何学
Kingsdesigner15 小时前
游戏开发流程革命:我用Substance插件,在UE5内实现材质的实时“创世纪”
游戏·adobe·ue5·游戏引擎·游戏开发·设计师·substance 3d
污领巾16 小时前
虚幻GAS底层原理解剖七 (ASC)
游戏引擎·php·虚幻
污领巾16 小时前
虚幻GAS底层原理解剖四 (TAG)
游戏引擎·虚幻
YF云飞16 小时前
从愤怒的小鸟来看Unity武器拖尾的特效优化
游戏·unity
污领巾1 天前
虚幻GAS底层原理解剖二 (GE)
游戏引擎·虚幻
南無忘码至尊2 天前
Unity编辑器工具:一键为场景中所有MeshRenderer对象添加指定脚本
unity·c#·游戏引擎·游戏开发
枯萎穿心攻击2 天前
算法入门第一篇:算法核心:复杂度分析与数组基础
算法·unity·矩阵·c#·游戏引擎