U3D 场景切换时 脚本对象,GO对象,资源对象的问题
脚本对象:在LUA中写了一个actor类,它封装了角色逻辑,引用了一个GO。
GO对象:通过 GameObject.Instantiate(资源对象)生成的。
资源对象:制作好的模型prefab。
在场景切换时:
actor是逻辑控制的,可以销毁也可以不销毁。销毁时可以手动销毁它使用的GO,也可以不手动销毁而坐等U3D在场景切换时销毁。
GO对象是挂在场景上的(也即hierachy层级),如果不设置为 dontdestroyonload,则GO会在场景切换时被U3D销毁。这时我们的actor只剩下逻辑数据,而用于显示的
模型数据不存在了,就看不到角色了。
为什么GO是挂在场景上的? 所有通过GameObject.Instantiate生成的对象默认都是挂在场景层级最上层的。