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

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

相关推荐
WiChP4 小时前
【V0.1B6】从零开始的2D游戏引擎开发之路
java·log4j·游戏引擎
小拉达不是臭老鼠4 小时前
Unity05_3D数学
学习·unity·游戏引擎
风酥糖9 小时前
Godot游戏练习01-第28节-显示效果与音效
游戏·游戏引擎·godot
油炸自行车11 小时前
Unity URDF 导入后运行报错问题笔记
笔记·unity·游戏引擎·数字孪生·urdf·工业仿真·虚拟与现实
南無忘码至尊11 小时前
Unity学习90天 - 第 5 天 - 阶段小项目
学习·unity·c#·游戏引擎
郝学胜-神的一滴11 小时前
中级OpenGL教程 001:从Main函数到相机操控的完整实现
c++·程序人生·unity·图形渲染·unreal engine·opengl
RReality11 小时前
【Unity Shader URP】顶点波浪动画(Vertex Wave)实战教程
ui·unity·游戏引擎·图形渲染
魔士于安12 小时前
Unity 简单水面效果URP
游戏·unity·游戏引擎·贴图·模型
mxwin12 小时前
Unity Shader 毛发 & 草海渲染Alpha‑to‑Coverage 抗锯齿技术详解
unity·游戏引擎·shader
张老师带你学1 天前
unity TerrainSampleAssets
科技·游戏·unity·游戏引擎·模型