您的位置:首页 > 移动开发 > Unity3D

Unity多个场景叠加或大场景处理方法小结

2017-05-08 11:36 225 查看
本文章由cartzhang编写。转载请注明出处。 全部权利保留。



文章链接: http://blog.csdn.net/cartzhang/article/details/47614153
作者:cartzhang

本想写个总结,奈何刚刚接触。

对于Unity中对象。多个场景或大的场景多人切割处理。有不能同一时候改动一下场景来提交。

这怎么办呢?

方法一,建立Prefab

把某个对象或须要多场景下使用的对象建立一个prefab对象,这样就能够在多场景下使用。

方法二。有高人自有办法

就是自己写了个场景管理和场景载入的XML和json啊,牛逼啊!



网址:http://www.gopedu.com/article/1424 ,快捷:Unity3d项目合作 场景的合并和还原

我认为这个已经非常厉害了!

方法三,

unity有个打包的功能还是蛮强大的。你能够切割玩地图。各个干各自的事情,然后在统一放到一个场景中啊!

怎么放呢?

首先。须要把场景都增加到build setting中,例如以下图:



然后呢。须要代码:

这个超级简单:名字为AddNewScene.cs

using UnityEngine;
using System.Collections;

public class AddNewScene : MonoBehaviour
{
public string LevelName;

// Use this for initialization
void Start ()
{
if (LevelName.Length > 0)
{
Application.LoadLevelAdditive(LevelName);
Debug.Log("level  add successfully!");
}
else
{
Debug.Log("level  is not added!");
}
}

}


然后把代码挂到相机或其它对象上就可以。

比方我就把它挂在相机上了:



执行试试:看到那个圆柱子了没有,就是了。



最后。国外哥们一方法

不一定能打开网页:http://luminesca.blogspot.com/2013/05/sublevels.html

意思是当你认为Prefab不能满足你的须要的时候。你能够把你的场景对象按类型分开。

关键在于一张图:



简单说明下:就是把场景中公共的资源或对象放在一个关卡中,把属于某一个独一无二的对象放在某一个关卡中!



就这样,也就是个分类。

然后在使用上面的 Application.LoadLevelAdditive

这个就是做了个类型细分。

------------------

若有问题,请随时联系!

很感谢!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: