Unity多场景合并处理方案
2018年12月18日 18:11:26 Jovial心态 阅读数 1693
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/leemu0822/article/details/85072250
最近做项目遇到一个问题,由于场景太大,分成多个库区,每个库区都是一个场景,摆放着各种设备。而且要求每个库区之间要实现无缝切换,不能有等待时间,很明显,切换库区的时候通过场景加载时走不通的。所以想到把所有库区放到一个场景来处理,但是这样的话烘焙场景就有问题了,由于场景太大,贴图数量模型数量太多,常常会烘焙失败。于是,心生一计,分场景烘焙,然后动态合并到一个场景中,这样每个场景的光照信息都得以保存,而且库区之间还能实现无缝切换,下面写一个简单的Demo来演示一下:
1.创建两个场景,分别放置不同的东西
场景1
场景2
然后在场景1中 添加一个代码,挂载在场景中随便一个gameobject上,代码如下:
-
using System.Collections;
-
using System.Collections.Generic;
-
using UnityEngine;
-
using UnityEngine.SceneManagement;
-
public class AddNewScene : MonoBehaviour
-
{
-
public string LevelName;
-
// Use this for initialization
-
void Start () {
-
if (LevelName.Length > 0)
-
{
-
Application.LoadLevelAdditive(LevelName);
-
}
-
}
-
// Update is called once per frame
-
void Update () {
-
}
-
}
接着在bulidsetting把两个场景添加上去:
运行结果如下:
我们再看看Hierarchy面板:
就这样完成了场景的合并,适用于大场景的分场景烘焙,完毕。