• [Unity-24] Unity的四种载入场景的方法


    Unity官方提供了4种载入场景(scene)的方法。各自是:
    1. Application.LoadLevel():同步载入
    2. Application.LoadLevelAsync():异步载入
    3. Application.LoadLevelAddictive():同步附加式载入
    4. Application.LoadLevelAddictiveAsync():异步附加式载入

    以下对这四种方法进行简要的介绍和分析:
    1.同步载入:如果当前场景为A,我们要切换到场景B,unity会在切换场景的时候将场景B中的全部内容(场景B中全部的静态物体,不包含兴许代码中Instantiate实例化的物体)都载入到内存中。然后销毁A,显示B。

    因为载入B是同步进行的(也就是在一个线程中),所以当B场景较大的时候执行此方法会感觉到卡顿。
    2.异步载入:这个与第一种情况基本一样,唯一的差别是载入B的过程是异步的(也就是载入新场景的行为是在一个后台线程中进行的。不影响主线程的执行),这样在载入B的时候当前场景A不受影响,能够继续执行,所以即使场景B非常大也不会感觉到卡顿。


    3.同步附加式载入:如果当前场景是A,我们要载入场景B,unity在载入B的时候不会销毁A,也就是说载入结束之后A和B将同一时候存在,这个适合于世界地图比較大的时候。依据人走到的位置来动态的载入世界地图中的不同部分。当然前提是将世界地图做成多个不同的scene文件。


    4.异步附加式加:这样的情况与上一种基本一样,差别仍然在于载入B的过程是在一个后台线程中异步进行的。

    注意:异步载入的方式最基本的应用就是制作场景切换过程中的过渡界面。

    详细方法能够參见雨松大大的blog。

    地址:http://www.xuanyusong.com/archives/1427/

  • 相关阅读:
    C# 连接 Socks5 代理
    使用EF Core 连接远程oracle 不需要安装oracle客户端方法
    PLSQL Developer 12 汉化包下载
    对象异步赋值bug记录
    图片缩放
    根据对象的属性去重,获取新数组
    小程序购物车抛物线(贝塞尔曲线实现)
    文字溢出,换行方法整理
    整理一些最近开发小程序的经验
    【莫傷曉_开发笔记】linux java绘图字体乱码问题
  • 原文地址:https://www.cnblogs.com/zfyouxi/p/5282960.html
Copyright © 2020-2023  润新知