当角色走到某个地点或者碰到什么物体后,需要传送到另外一个场景,此时需要场景切换功能
1.编辑基于Actor类的蓝图,命名为Potal,并将子节点替换为StaticMesh,静态物体模型自己选择,如果工程中没有,可以在选择界面右下角选择视图选项,勾选显示引擎内容(与End快捷键有关,后面提到)。选择静态物体后可以选择一个材质,与场景中其他物体进行区分。
2.在静态物体下,添加球形碰撞器,调整大小
3.选中球形碰撞器,细节面板最下方选择当有物体开始重叠时发生事件,编辑逻辑
4.使用OpenLevel节点,注意输入场景名称时不要输错,想要跳转到哪个场景就要输入对应的场景名称,也可以将场景名称设置为变量进行参数传递调用。
注意:1.如果使用在编辑时就可以设置场景名称,需要提升变量后,在细节面板设置可编辑实例,也可以自定义组在Category设置(系统默认在默认组中)
2.OpenLevel是同步加载,无法在加载过程中显示进度条,只能显示图片。如果场景太大,使用同步加载可能会在切换场景时卡顿。
这样在场景中选择对应的物体,在默认组下,可以编辑对应的变量内容。
5.将角色和跳转场景物体放置到默认场景中。运行接触后跳转场景(跳转的场景前提是已经在项目工程中存在的)。
6.键盘方向键上方的End键,可以让actor的根节点着地,判断的是根节点的外边缘,使外边缘着地。
如果不使用StaticMesh作为根节点,使用默认的根节点,当使用End键的时候,此物体会一半在地面上,一半在地面下,因为此时根节点是边缘着地的。与子物体的体积无关,所以会造成偶尔此现象。使用End键时要注意。