zoukankan      html  css  js  c++  java
  • Unity多个场景叠加或大场景处理方法小结

    本文章由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 。

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


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

    若有问题,请随时联系!


    很感谢!






  • 相关阅读:
    Ubuntu 16.04 OneDrive自动同步
    在conda环境中pip使用清华源秒速安装skimage、opencv、tensorflow、pytorch1.2.0等p
    写论文的最佳实践
    训练误差、测试误差、泛化误差的区别
    输入法 ctrl+句号 切换 中英文符号
    理解Graham扫描算法 查找凸包
    PDF阅读器 SumatraPDF 设置:电子书字体字号的更换及行距设置
    友情链接
    CRC全套~~~ 转载
    mysql插入中文出错,提示1366
  • 原文地址:https://www.cnblogs.com/llguanli/p/6824304.html
Copyright © 2011-2022 走看看