Unity 多场景/大场景加载解决方法


文章目录

  • Unity 多场景/大场景加载解决方法
  • 前言
  • 一、通过距离判断实现加载场景
    • 1.1.原理:
    • 1.2.范围检测
    • 1.3.方法弊端
  • 二、通过触发检测实现加载场景
    • 2.1.原理
    • 2.2.碰撞检测
    • 2.3.方法弊端
  • 总结
  • 完整代码工程示例

前言

记录一下最近学习的新的知识,关于解决多场景加载的问题,方便下次及时的巩固复习。

此次使用的是Unity的异步加载来实现功能。


一、通过距离判断实现加载场景

1.1.原理:

将一个大场景的地图分成好几个场景,利用玩家的距离来判断加载哪个场景和卸载哪个场景。

1.2.范围检测

利用玩家的自身距离和预加载场景的距离判断

代码如下:

    void DistanceCheck(){if (Vector3.Distance(player.position, transform.position) < loadRange){LoadScene();}else{UnLoadScene();}      }

1.3.方法弊端

检测范围如果过大,临近很多的场景都会被加载出来。

二、通过触发检测实现加载场景

2.1.原理

将预加载场景处创建空的物体碰撞体,当玩家的碰撞器与其碰撞时,场景加载。如下图所示:

2.2.碰撞检测

代码如下:

    private void OnTriggerEnter(Collider other){if (other.CompareTag("Player")){shouldLoad = true;}}private void OnTriggerExit(Collider other){if (other.CompareTag("Player")){shouldLoad = false;}}void TriggerCheck(){if (shouldLoad){LoadScene();}else{UnLoadScene();}}

2.3.方法弊端

大型项目内碰撞检测复杂,玩家容易与别的物体发生碰撞。


总结

以上就是今天学到的内容,本文仅仅简单介绍了大场景、多场景加载的两种方法思路。


完整代码工程示例

Unity 多场景/大场景加载解决方法相关推荐

  1. 猎豹浏览器插件无法加载怎么办 插件无法加载解决方法

    首先,点击浏览器左上角的"豹头"图标,并在随后弹出的页面中选择[选项/设置]; 猎豹浏览器插件无法加载怎么办?插件无法加载解决方法 接着,在设置页面单击[我的应用],这时就可以看到 ...

  2. 【Unity】场景异步加载、卸载

    场景异步加载.卸载: using System.Collections; using System.Collections.Generic; using UnityEngine; using Unit ...

  3. mysql_connect() 不支持 请检查 mysql 模块是否正确加载 解决方法

    本文出自 "小鸡哥哥的空间" 博客,请务必保留此出处http://aishaoer.blog.51cto.com/769164/283947 本文出自 51CTO.COM技术博客 ...

  4. 谷歌浏览器导致图片无法加载解决方法总结

    解决方法一参考:http://www.vimiy.com/a/dazahui/198679.html 解决浏览器 图片不显示 快捷方式后面加空格接着  -disable-ssl-false-start ...

  5. 群晖NoteStation一直显示“正在加载”解决方法(适用黑白群辉)

    一.问题原因 最近套件中心提示NoteStation要升级(版本 2.6.0-1407),于是手贱点了升级按钮. 升级完成后打开NoteStation一直显示 "正在加载" ,等待 ...

  6. 群晖note station新版本一直显示“正在加载”解决方法

    最新群晖NoteStation更新一直显示"正在加载".需要先备份好便签然后彻底删除掉NoteStation2.6.0版本 官方就能下载https://archive.synolo ...

  7. Unity 异步使用Additive加载场景导致的光照贴图出错的坑及解决办法

    Lightmap(光照贴图)是Unity里很常用的一个功能,毕竟移动设备上实时光照不靠谱,要出效果还是得烘焙.但是在使用中发现了几坑的地方,通过自己写了个两个脚本就轻松搞定,这里分享下. 坑1: 异步 ...

  8. Unity 场景异步加载(加载界面的实现)

    前言: 玩游戏最讨厌的是什么呢?当然是游戏加载界面啦 但是你知道吗,加载界面在游戏制作中是不可或缺的,它可以使我们的场景完全加载完毕后再进入游戏,确保用户不会出现加载卡顿的情况. 如何实现一个简易的加 ...

  9. Angular URL地址参数改变,视图不更新的解决办法(监听URL变化,重新加载数据方法)

    import { ActivatedRoute,Router,NavigationEnd } from '@angular/router'; //钩子(组件组装完成之后调用的方法,仅调用一次)ngAf ...

最新文章

  1. C++程序的多文件组成
  2. 一直在纠结怎样取出 combox 控件elect的文字
  3. python配色_python语言再次解决文章配色难题
  4. java 控制路由器_停用角度路由器链路
  5. DTCMS插件的制作实例电子资源管理(三)前台模板页编写
  6. UAC绕过思路(未完)
  7. Nginx 自定义404 页面
  8. javascript闭包(转)
  9. 离散傅里叶变换(DFT)
  10. Serializer对象
  11. docker(四)---dockerfile 编写优化
  12. 跟Java面试官对线的一天!唬住就要50K,唬不住就要5K
  13. HAL库版STM32双轮自平衡车(五) ———— 调参
  14. qt creator在高分辨率笔记本上控件运行显示不全的问题解决方法
  15. java web项目混淆
  16. 程序员白头发是怎样一种感受?
  17. cmake命令之foreach
  18. 嵌入式实时操作系统7——任务优先级表
  19. Python编程好学吗 为什么Python如此受欢迎
  20. 【软件测试】测试驱动开发与行为驱动开发

热门文章

  1. 港大计算机硕士面试多久有通知,港大计算机 HKU CS面试准备
  2. 火车车次查询正则表达式
  3. LeetCode题解:找到 K 个最接近的元素
  4. 解决PanDownload登录提示账号登录失败,获取bdstoken失败问题
  5. NanoCore RAT流量分析报告
  6. 听GlobalSources关于PSC系统的培训后有感...
  7. android人脸解锁亮屏,EMUI 8.0升级加入全新人脸解锁 抬腕亮屏功能:快来看看如何开启...
  8. 飞腾CPU的汇编指令帮助(持续更新)
  9. 《正在爆发的互联网革命》——30余位互联网大腕一致推荐,3.5亿网民必看!...
  10. 目标检测YOLO实战应用案例100讲-基于深度学习的水下图像增强及目标检测算法研究与应用