Unity 多場景/大場景加載解決方法
前言
記錄一下最近學(xué)習(xí)的新的知識,關(guān)于解決多場景加載的問題,方便下次及時的鞏固復(fù)習(xí)。
此次使用的是Unity的異步加載
來實(shí)現(xiàn)功能。
一、通過距離判斷實(shí)現(xiàn)加載場景
1.1.原理:
將一個大場景的地圖分成好幾個場景,利用玩家的距離來判斷加載哪個場景和卸載哪個場景。
1.2.范圍檢測
利用玩家的自身距離和預(yù)加載場景的距離判斷
代碼如下:
void DistanceCheck()
{
if (Vector3.Distance(player.position, transform.position) < loadRange)
{
LoadScene();
}
else
{
UnLoadScene();
}
}
1.3.方法弊端
檢測范圍如果過大,臨近很多的場景都會被加載出來。
二、通過觸發(fā)檢測實(shí)現(xiàn)加載場景
2.1.原理
將預(yù)加載場景處創(chuàng)建空的物體碰撞體,當(dāng)玩家的碰撞器與其碰撞時,場景加載。如下圖所示:
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.方法弊端
大型項(xiàng)目內(nèi)碰撞檢測復(fù)雜,玩家容易與別的物體發(fā)生碰撞。文章來源:http://www.zghlxwxcb.cn/news/detail-445120.html
總結(jié)
以上就是今天學(xué)到的內(nèi)容,本文僅僅簡單介紹了大場景、多場景加載的兩種方法思路。文章來源地址http://www.zghlxwxcb.cn/news/detail-445120.html
完整代碼工程示例
到了這里,關(guān)于Unity 多場景/大場景加載解決方法的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!