因为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 神一般的狄狄