Unity5.3更新的多场景编辑功能
2016-05-18 11:34
197 查看
装了5.3.4版本的Unity后一直没有研究,今天有空看了一下他的新功能多场景编辑。|
不多说上图。
在图里我们可以看到,我们可以同时在Hierarchy面板把场景资源拖放到里边,我这两个场景里分别有一个cube和一个球体。先上一张效果图。
上图是在scene视图里的效果。
这个功能很强大的说,这样我们就可以把大场景切割成若干小场景进行流媒体加载。也方便多人协同工作,Unity一直不能多人同时编辑一个场景什么的,现在都可以解决用这个。同时新的api还支持卸载场景。这样可以很好的控制游戏的流畅性。
下面来说一下代码的应用:
放上一段简单的示例代码。使用多场景加载:
1.需要引用using UnityEngine.SceneManagement;
2.LoadSceneMode里有两个选择,一个是Additive一个是Single,前者是加载场景到当前场景,后者是单独加载这个场景。
3.卸载场景的方式如图。
4.更多的API可以去查看手册,
关于编辑器:
Unity更新的关于多场景编辑的编辑器的API,具体可以查看手册搜索:UnityEditor.SceneManagement;
在Unity5.3以上的版本使用object的DontDestroyOnLoad()方法将某个GameObject标记能这个方法后,在播放场景后,会发现多一个DonDestroyOnLoad场景,它包含了之前标记了的游戏对象。
DontDestroyOnLoad Scene仅仅存在于Runtime,或者是Play mode。它不能从外部访问,仅仅是Unity内部用于管理标记为DontDestroyOnLoad的Game
object。
官方说不推荐使用DontDestroyOnLoad Scene方法,因为会增加很多计算量,推荐从5.3以后的版本自己建立一个场景去管理这些需要在DontDestroyOnLoad
Scene这个场景里的游戏物体,这样会方便很多,同时节约资源。
5.3版本lightmap&NavMesh Baking都支持多场景操作,API都有更新。
通过脚本进行Baking,Lightmapping.BakeMultipleScenes()和NavMeshBuilder.BuildNavMeshForMultipleScenes()都支持一次烘焙多个场景。
另外每个场景的Akwing,我们可以通过AsyncOperation.allowSceneActivation设置成false来阻止Scene的Awaking,
当加载进度AsyncOperation.progress到达90%的时候,就可以将allowSceneActivation设置成true来允许Scene
awaking。
不多说上图。
在图里我们可以看到,我们可以同时在Hierarchy面板把场景资源拖放到里边,我这两个场景里分别有一个cube和一个球体。先上一张效果图。
上图是在scene视图里的效果。
这个功能很强大的说,这样我们就可以把大场景切割成若干小场景进行流媒体加载。也方便多人协同工作,Unity一直不能多人同时编辑一个场景什么的,现在都可以解决用这个。同时新的api还支持卸载场景。这样可以很好的控制游戏的流畅性。
下面来说一下代码的应用:
放上一段简单的示例代码。使用多场景加载:
1.需要引用using UnityEngine.SceneManagement;
2.LoadSceneMode里有两个选择,一个是Additive一个是Single,前者是加载场景到当前场景,后者是单独加载这个场景。
3.卸载场景的方式如图。
4.更多的API可以去查看手册,
关于编辑器:
Unity更新的关于多场景编辑的编辑器的API,具体可以查看手册搜索:UnityEditor.SceneManagement;
在Unity5.3以上的版本使用object的DontDestroyOnLoad()方法将某个GameObject标记能这个方法后,在播放场景后,会发现多一个DonDestroyOnLoad场景,它包含了之前标记了的游戏对象。
DontDestroyOnLoad Scene仅仅存在于Runtime,或者是Play mode。它不能从外部访问,仅仅是Unity内部用于管理标记为DontDestroyOnLoad的Game
object。
官方说不推荐使用DontDestroyOnLoad Scene方法,因为会增加很多计算量,推荐从5.3以后的版本自己建立一个场景去管理这些需要在DontDestroyOnLoad
Scene这个场景里的游戏物体,这样会方便很多,同时节约资源。
5.3版本lightmap&NavMesh Baking都支持多场景操作,API都有更新。
通过脚本进行Baking,Lightmapping.BakeMultipleScenes()和NavMeshBuilder.BuildNavMeshForMultipleScenes()都支持一次烘焙多个场景。
另外每个场景的Akwing,我们可以通过AsyncOperation.allowSceneActivation设置成false来阻止Scene的Awaking,
当加载进度AsyncOperation.progress到达90%的时候,就可以将allowSceneActivation设置成true来允许Scene
awaking。
相关文章推荐
- unity network组件的使用
- 组织你的unity MonoBehaviours脚本
- Unity5.3a4新版内存分析工具 -MemoryProfiler
- unity默认是错误的gamma space,而不是linear space,原因是什么?
- Unity脚本 组件生命周期与事件
- Unity3D总结
- UNITY3D拓展编辑器 - InspectorEditor(属性编辑器)1
- UNITY3D拓展编辑器 - 目录
- Unity 资源管理 AssetBundle
- Unity3D研究院编辑器之不实例化Prefab获取删除更新组件(十五)
- unity中虚拟摇杆的实现
- Unity3d Android SDK接入解析(三)接入Android Library的理解(爱贝云支付为例)
- Unity3D射线
- unity游戏优化
- unity优化
- <Unity-UGUI>扩展UGUI控件,添加折线控件
- Unity3D-NavMesh导航网格寻路
- Unity3D AssetBundle相关
- 制作子弹痕迹(到shareMaterial)-Unity
- [转]Unity3D新手引导开发手记