[一个小测试]Unity SceneManager的Unload能不能卸载被挪出Scene的节点

因为SceneManager里面有Unload的API,所以就突发奇想了一个问题。
如果当前正在运行默认场景a,然后用addtive的模式加载了一个新场景b,那么场景b里面的东西被挪走了,那么通过SceneManager.unload卸载场景的时候,会不会把被挪走的东西给卸载掉。
于是做了测试:
在这里插入图片描述
默认场景3, Addtive模式加载了场景1和场景2
在这里插入图片描述
然后我把场景1给卸载掉,看上去卸载的很干净。

在这里插入图片描述
在图1的基础上,我把1和4 ,2个节点挪到了默认场景3
再卸载场景1.

哦吼,场景1被卸载了,但是节点1 和 节点4 没有变化
并且没有报错。

所以得到结论,Unity卸载场景还是以场景为单位。
那么这时候问题就来了,如果把逻辑反一反,在已经被加载的场景下,创建节点,那么卸载时候会是什么情况。

在这里插入图片描述

在这里插入图片描述

可以看到 还是以场景为单位卸载。
unity的场景管理,会以场景为单位。而不是内容为单位。


程序学无止尽。
欢迎大家沟通,有啥不明确的,或者不对的,也可以和我私聊
我的QQ 334524067 神一般的狄狄

猜你喜欢

转载自blog.csdn.net/qq_37776196/article/details/118677818