![66a146dd935136db19ad7b11e0eeb821.png](https://i-blog.csdnimg.cn/blog_migrate/584c05aeddc019e102e6403e230249d8.jpeg)
![07942ca02e8ecbfaf4a0175eb2233927.gif](https://i-blog.csdnimg.cn/blog_migrate/b770399b1d7db1199db0cca732d911c2.gif)
Unity异步加载
在使用Unity引擎开发项目时,很多时候需要用到异步加载场景或资源。如需打开一个非常大的场景时需要等待;两个场景之间的一个过渡;游戏关卡的加载等等。通过添加一个进度条的方式可以很好的增强用户体验,并让用户了解场景的加载进程。
![5c712faffc335e207e0b3254df14a691.gif](https://i-blog.csdnimg.cn/blog_migrate/2fd42c9f3721c76bd998d84b0d489117.gif)
Step1:打开Unity后点击右上方New,然后改名为Async Loading,点击Create project。
![cefede9870c250e6362207673ae41bf2.png](https://i-blog.csdnimg.cn/blog_migrate/90ec43da6f9c41282bf460ad13299062.png)
Step2:在Window菜单里打开Asset Store素材商店(按Crtl+9可以快速添加),选择一个场景下载,这里使用的是Dream Forest Tree,下载完成后点击Import导入。
![adcefd998ce84b5cc8476b5218d3f907.png](https://i-blog.csdnimg.cn/blog_migrate/bf6a516f15584d98c34dddaf035c2000.png)
Step3:在Project中选中DreamForestTree。
![475938c49cf9e82015c47718b959a82e.png](https://i-blog.csdnimg.cn/blog_migrate/5624ee15359da87a18e75cb893305e7e.png)
Step4:打开左上角File→Build Settings,进行场景添加。
![6610c387a7376d46219baa612f956c75.png](https://i-blog.csdnimg.cn/blog_migrate/458d5d71c3d3d26734998e487d4b8bb0.png)
Step5:将预先导入的场景拖拽到红框里就OK了。
![87bd7dbe43b9c540e6ce0769e9c415a8.png](https://i-blog.csdnimg.cn/blog_migrate/15c4c34e6aa385741f834d2d3cbd61ce.png)
Step6:在Hierarchy区域右键→UI→Slider,创建一个进度条,点开Slider的下拉菜单,点开Handle Slide Area选中Handle可以调整中间圆的大小。
![c3cf2cebacf32d97c092aff320dba693.png](https://i-blog.csdnimg.cn/blog_migrate/0bcb257a0b0f37a8178ebcb8ae334abd.png)
![a57d3c8fee0315a47005a5f7eed056fe.png](https://i-blog.csdnimg.cn/blog_migrate/83d2a2c024901ac1915d4077c818590e.png)
Step7:在Hierarchy区域右键→UI→Button,创建一个按钮。
![e262c63caa16746fb7b4c1df167eee13.png](https://i-blog.csdnimg.cn/blog_migrate/55910a6f1984e525566c7190174e9773.png)
Step8:通过w和r可以调整按钮的大小和位置,在Hierarchy区域点开Button的下拉键选中Text,在右侧的Inspector中通过Text框调整按钮显示的文字,调整FontSize可以改变字体的大小。
![f94aa04db0cf8127a60b6b92914b1b8c.png](https://i-blog.csdnimg.cn/blog_migrate/4725d5e32aa6b95d2705583829ec0643.png)
Step9:在Hierarchy区域 右键→UI→Text,创建一个文本用来表示进度条的百分比。
![c8563c2688da45d59d3fbd872bfb45ad.png](https://i-blog.csdnimg.cn/blog_migrate/3de5855332349ed92bcb40738b97b0ba.png)
Step10:选中刚刚创建的Text在右侧Inspector面板中通过Text框改变文本,调整fontSize改变字体大小,选中Alignment的中间两个选项使字体居中,最后通过Color来调整颜色,这里为了方便显示调成白色。
![32c1bcf0b8f5fa4fc792e59abf834682.png](https://i-blog.csdnimg.cn/blog_migrate/1c7082e6d0546ff294f3b825eb0bc122.png)
Step11:在Assets面板中右键→Create→Folder创建一个新的文件夹命名为Scripts。
![54b5ded229210dd453f1f41bf3ae407a.png](https://i-blog.csdnimg.cn/blog_migrate/dfcb31b1e03518baad17c53bf41abf91.png)
Step12:打开Scripts文件夹右键→Create→c#Scripts创建一个脚本并命名为LoadNewScene。
![4dbb62e56394850d0dd0df4090d3d764.png](https://i-blog.csdnimg.cn/blog_migrate/40b1a6c3499b0506aa449ddb659d75d6.png)
Step13:脚本代码如下。
![40473901b9a82c849b9c26ea1308f5c4.png](https://i-blog.csdnimg.cn/blog_migrate/ba96c7b634682b31a2c2cc5c66584f53.png)
Step14:在Hierarchy中右键→CreateEmpty创一个Gameobject并将脚本拖给它。
![55522dba2cd738744908060788fa11f9.png](https://i-blog.csdnimg.cn/blog_migrate/c0624f5622df75c6e7cb3d287dac1d17.png)
Step15:选中Button然后将Gameobject拖拽到Inspector面板中的Onclick里红框的位置。
![d114bca227a24927e48adee8dd0c0645.png](https://i-blog.csdnimg.cn/blog_migrate/f92aa3edfc41df433a2b42cda46953f1.png)
Step16:点开Onclick右上角的下拉菜单选中LoadNewScene→LoadScene。
![60cc668ebbe948910603795bcceacd5a.png](https://i-blog.csdnimg.cn/blog_migrate/d56faebca9226f64c4177efdfac10d0f.png)
Step17:选中GameObject,将Slider和Text拖给右边代码中的箭头所指部分。
![a96a2b41db3521024a5fe8d26253f5c0.png](https://i-blog.csdnimg.cn/blog_migrate/6cebfe56253c88c02bbec0c1eea07430.png)
Step18:点击播放键来体验我们的成品,点击Load按钮,Text文本发生变化,之后点击任意键就可以跳转到我们的预设好的场景了。
![ece338d1cb22a431a976cef133f848ff.png](https://i-blog.csdnimg.cn/blog_migrate/e2ef2cfd880415e1fa7a0bb9056ee2f5.png)
![5ddb29e60b28ba1c28285be873e0c732.gif](https://i-blog.csdnimg.cn/blog_migrate/ffe08f22b5ab245b4c26c7a421ebda86.gif)
![25b370163694d1ce09e8e0293740d84f.png](https://i-blog.csdnimg.cn/blog_migrate/254c2d9384f42e2be5d6c81a21a4e1ff.jpeg)
文案 | 技术部 卢义攀
视频 | 技术部 梁轩宁
排版 | 宣传部 金书宇