当前位置:   article > 正文

UE4之python编程_ue python

ue python

python对大家来说是非常熟悉的一门编程语言,那么在工作中肯定要使用他啊,为什么呢?

1.操作步骤脚本化,不易出错。

2.易于修改,尤其是还在开发阶段,当然开发完毕之后可以翻译为C++代码即可,快速开发

其他就不在这里赘述啦。

一、获取UE4中的Asset

在ue4中,在ContentBrowser中的东西叫做Asset,在OutLiner中的物体叫做Actor,这点大家不要搞混。 如下图:(ContentBrowser)

 获取Asset的代码:

  1. actor_class = unreal.EditorAssetLibrary.load_blueprint_class("/Game/BpActor")
  2. # 该种方法为加载蓝图类的方法,且只能在\Game下的蓝图类,因为他不能Convert 不是以\Game为前缀的路径
  3. world = unreal.EditorLevelLibrary.get_editor_world()
  4. actor_object = unreal.load_object(world,'/Script/VCamCore.VCamComponent')
  5. # 此方法适用于不是以\Game为前缀的路径的Asset

二、获取UE4 Level中的Actor

UE4的pythonAPI同样提供了一个方法

unreal.GameplayStatics.get_all_actors_of_class(world, actor_calss)

这就和上面获得ContentBrowser中Asset呼应上了,因为get_all_actors_of_class需要传进来一个类,所以我们就用上面获得到的类来获取level中所有的实例Actor,这也就和蓝图中的节点相同

 因为python API和蓝图API暴露的差不多,但是pythonAPI应该是要比蓝图多一点点的

函数返回的是一个Actor列表。

这样就拿到的了场景中的Actor,接下来我们就可以设置属性啦

  1. actors = unreal.GameplayStatics.get_all_actors_of_class(world, actor_class)
  2. actor_tags = actors[0].get_editor_property('tags')

 这个时候我们就可以查询官方文档啦,查看Actor到底有什么方法,该传进去什么样的参数

 三、获取Actor中的组件

在我们的实际使用过程中,肯定是多个组件拼装成为一个Actor的,所以下一步就是获取Actor中的组件,参考蓝图节点

首先获取Component的类,参考 :一、获取UE4中的Asset

  1. # 获取class
  2. actor_object = unreal.load_object(world,'/Script/VCamCore.VCamComponent')
  3. # 根据之前获取的Actor来查询传入的Class,这样就获取了组件
  4. vcam = actors[0].get_components_by_class(actor_object)

接下来就可以对这个组件进行控制啦。

vcam[0].enabled = True

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/435204
推荐阅读
相关标签
  

闽ICP备14008679号