虚幻引擎 pythonAPI 讲解:unreal.EditorLevelLibrary

Unreal.EditorLevelLibrary是UnrealEngine中的类库,提供了管理关卡、演员、摄像机和模拟等功能,简化了编辑器中的任务,加速游戏开发过程并优化性能。
摘要由CSDN通过智能技术生成

unreal.EditorLevelLibrary 是 Unreal Engine 中的一个实用类,它提供了一系列功能,用于在 Unreal 编辑器中管理关卡和演员。这个类是 EditorScriptingUtilities 插件的一部分,旨在方便世界编辑器中的常见任务,尤其是当编辑器不处于播放模式时。以下是一些关键功能及其在游戏开发中的应用方式:

类概览

  • 位置:定义在 EditorScriptingUtilities 模块中,特别是在 EditorLevelLibrary.h 文件中。
  • 基类:继承自 unreal.BlueprintFunctionLibrary,这允许它提供一系列静态函数。

关键方法

演员操作方法
clear_actor_selection_set()
功能:清除当前选择集中的所有演员。
返回值:无返回值(None)。

destroy_actor(actor_to_destroy)
参数:
actor_to_destroy (Actor):要销毁的演员。
功能:从世界编辑器中销毁指定的演员,并通知编辑器该演员已被销毁。
返回值:如果操作成功,则返回 True。

replace_selected_actors(asset_path)
参数:
asset_path (str):新演员的资产路径。
功能:替换选中的演员为新类型的演员,通常用指定的工厂来生成新的演员。仅复制旧演员的位置、旋转、绘制比例、三维绘制比例、标签和组。
返回值:无返回值(None)。

演员转换与合并方法
convert_actors(actors, actor_class, static_mesh_package_path)
参数:
actors (Array(Actor)):要替换的演员列表。
actor_class (type(Class)):生成的新演员的类/蓝图。
static_mesh_package_path (str):如果列表中包含画笔,并且需要将它们转换为静态网格,则此参数为静态网格的包路径。
功能:在关卡中替换所有提供的演员,用新类型的演员代替。销毁所有提供的演员。
返回值:返回新生成的演员数组。

merge_static_mesh_actors(actors_to_merge, merge_options)
参数:
actors_to_merge (Array(StaticMeshActor)):要合并的静态网格演员列表。
merge_options (EditorScriptingMergeStaticMeshActorsOptions):合并演员的选项。
功能:将多个静态网格演员合并为一个独特的网格演员,根据提供的合并选项合并网格和材料。
返回值:如果操作成功,返回合并生成的新静态网格演员;否则返回 None。

关卡管理方法
load_level(asset_path)
参数:
asset_path (str):要加载的关卡的资产路径。
功能:关闭当前的持久关卡(不保存它),加载指定的关卡。
返回值:如果操作成功,则返回 True。

new_level(asset_path)
参数:
asset_path (str):新关卡将被保存的资产路径。
功能:关闭当前的持久关卡(不保存它),创建一个新的空白关卡并保存它,加载新创建的关卡。
返回值:如果操作成功,则返回 True。

save_current_level()
功能:保存当前已被加载的关卡。
返回值:如果操作成功,则返回 True。

视口和摄像机控制方法
get_level_viewport_camera_info()
功能:获取主级别编辑器视口的摄像机位置和旋转信息。
返回值:返回一个元组,包含摄像机位置(Vector)和旋转(Rotator),如果没有找到摄像机,则返回值为 None。

set_level_viewport_camera_info(camera_location, camera_rotation)
参数:
camera_location (Vector):摄像机将被移动到的位置。
camera_rotation (Rotator):摄像机将被设置的旋转。
功能:设置主级别编辑器视口的摄像机位置和旋转。
返回值:无返回值(None)。

模拟和播放控制方法
editor_play_simulate()
功能:在编辑器中开始模拟游戏环境,常用于开发阶段快速预览和测试游戏逻辑。
返回值:无返回值(None)。

editor_end_play()
功能:结束在编辑器中的模拟或播放模式,使开发者可以返回到纯编辑状态。
返回值:无返回值(None)。

世界上下文获取方法
get_editor_world()
功能:获取当前由编辑器使用的 World 对象,这是多数编辑器操作的上下文。
返回值:返回编辑器中当前使用的 World 对象。

get_game_world()
功能:获取游戏世界的上下文,适用于需要区分编辑时世界和游戏运行时世界的情况。
返回值:返回游戏世界的 World 对象。

其他实用方法
get_selected_level_actors()
功能:找出在世界编辑器中被选中的所有演员,排除处于即将删除、游戏中或预览编辑器中的演员。
返回值:返回一个包含找到的演员的数组。

select_nothing()
功能:在编辑器中选择无任何对象,另一种清除选择的方式。
返回值:无返回值(None)。

set_selected_level_actors(actors_to_select)
参数:
actors_to_select (Array(Actor)):应该在世界编辑器中被选中的演员。
功能:清除当前世界编辑器选择并选择提供的演员。
返回值:无返回值(None)。

应用场景

在 Unreal Engine 中的典型游戏开发工作流程中,这个库非常有用,用于自动化编辑器中的重复任务,如设置关卡、管理演员和通过合并或转换对象优化性能。使用 EditorLevelLibrary 进行脚本编写可以显著简化开发过程,特别是在设置复杂场景或对关卡元素进行批量操作时。

这些功能对于希望通过自定义脚本或插件扩展 Unreal 编辑器功能的开发者至关重要,不仅提高了游戏开发的效率,还提高了效果。

  • 46
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值