zoukankan      html  css  js  c++  java
  • Unity----Scene加载问题

    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/

  • 相关阅读:
    response.redirect on asp.net is a 302 jump action
    什么吃掉了我的硬盘?
    百度流量统计将会影响搜索的排名
    发邮件 python
    bottle template usage
    想提神,喝中药,咖啡可可没用的
    企业退信的常见问题?
    用UnixBench测试VPS性能 判别是否值得购买
    域名注册及免费空间and企业邮箱
    LNMP一键安装包是什么?
  • 原文地址:https://www.cnblogs.com/w-wfy/p/7473677.html
Copyright © 2011-2022 走看看