使用 Python 从虚幻引擎中的类中生成 actor

kak*_*kyo 5 python scripting unreal-engine4 unreal-blueprint

使用蓝图,我可以SpawnActorFromClass使用StaticMeshActor,但是通过内置的 Python 脚本插件使用 Python 脚本,

unreal.EditorLevelLibrary().spawn_actor_from_class(ue.Class(name='StaticMeshActor'), location, rot)
Run Code Online (Sandbox Code Playgroud)

我有:

LogPython: Error: TypeError: EditorLevelLibrary: Failed to convert parameter 'actor_class' when calling function 'EditorLevelLibrary.SpawnActorFromClass' on 'Default__EditorLevelLibrary'
LogPython: Error:   TypeError: NativizeProperty: Cannot nativize 'Class' as 'ActorClass' (ClassProperty)
LogPython: Error:     TypeError: NativizeClass: Cannot nativize 'Class' as 'Class' (allowed Class type: 'Actor')
Run Code Online (Sandbox Code Playgroud)

我错过了什么?

kak*_*kyo 5

我自己想出了这个办法。原来是.spawn_actor_from_class()电话不接听ue.Class。相反,它接收所谓的ClassProperty从内置类型派生的类型。所以正确的调用应该是:

unreal.EditorLevelLibrary().spawn_actor_from_class(ue.StaticMeshActor.static_class(), location, rot)
Run Code Online (Sandbox Code Playgroud)