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

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

相关推荐
k4m7v2pz10 小时前
Godot 4 窗口拉伸黑边与变形:stretch 配置全解析
数码相机·游戏引擎·godot·2d游戏·黑边·stretch·画面比例
UWA21 小时前
GPM 2.0 WebGL 监测能力扩容|覆盖 Unity/Cocos/LayaAir 多引擎微信 & 抖音小游戏
unity·微信·性能优化·小游戏·webgl
Behaviour1 天前
Unity 手游网络同步技术
网络·unity·c#·游戏引擎
niuniudengdeng1 天前
Unity手游APK去广告实战:华为渠道包反编译、广告拦截与“网络不佳“弹窗修复全记录
unity·游戏引擎
k4m7v2pz1 天前
Godot 4 嵌入式试玩窗口尺寸与适配策略详解
编辑器·游戏引擎·godot·游戏开发·嵌入式运行
Behaviour1 天前
Unity UI循环列表UIScrollViewContent实现
ui·unity·c#·游戏引擎
_ZHOURUI_H_2 天前
Unity EasyECS:并不是所有字段都适合 SoA,Unity 项目中应该怎样拆数据
游戏·unity·性能优化·架构·游戏引擎
TO_ZRG2 天前
Unity 编辑器之 SettingsProvider、Hierarchy、Project、SearchField
java·unity·编辑器
yj爆裂鼓手2 天前
spine绑定骨骼运动工具&spine纹理压缩自动设置工具
游戏·unity
惊鸿醉2 天前
Unity 实战:用讯飞 WebAPI 做一个“说普通话、播方言“的语音程序
unity·c#·游戏引擎·语音识别