ue4 自带python插件代码例子

import unreal
import random
import time

def 生成actor(actor_class, actor_location,actor_rotation):
    return unreal.EditorLevelLibrary.spawn_actor_from_class(actor_class, actor_location,actor_rotation)

def 生成object(actor_class,actor_location,actor_rotation):
    return unreal.EditorLevelLibrary.spawn_actor_from_object(actor_class, actor_location,actor_rotation)

def 销毁actor(actor_to_destroy):
    return unreal.EditorLevelLibrary.destroy_actor(actor_to_destroy)

def 获取选中actor列表():
    return unreal.EditorLevelLibrary.get_selected_level_actors()

def 销毁选中actor():
    a = 获取选中actor列表()
    for i in a:
        销毁actor(i)

def 取消选择物体():
    return unreal.EditorLevelLibrary.select_nothing()

def 获取编辑器视口相机旋转():
    Vector,Rotator = unreal.EditorLevelLibrary.get_level_viewport_camera_info()
    return Rotator

def 获取编辑器视口相机位置():
    Vector,Rotator = unreal.EditorLevelLibrary.get_level_viewport_camera_info()
    return Vector

def 加载资源(asset_path):
    return unreal.EditorAssetLibrary.load_asset(asset_path)

def 复制资源(source_asset_path, destination_asset_path):
    return unreal.EditorAssetLibrary.duplicate_asset(source_asset_path, destination_asset_path)

def 删除资源(asset_path_to_delete):
    return unreal.EditorAssetLibrary.delete_asset(asset_path_to_delete)

#在世界中创建一个Actor
def Spawn_Actor():
    actor_class = unreal.EditorAssetLibrary.load_blueprint_class('/Game/Blueprint/BP_Actor')
    actor_location = unreal.Vector(random.uniform(0,2000), random.uniform(0,2000), 0)
    actor_rotation = unreal.Rotator(random.uniform(0,360), random.uniform(0,360), random.uniform(0,360))
    actor = 生成actor(actor_class, actor_location,actor_rotation)
    return actor

#在世界中创建一个阻挡体积
def Spawn_BlockingVolume():
    actor_class = unreal.BlockingVolume()
    actor_location = unreal.Vector(random.uniform(0,2000), random.uniform(0,2000), 0)
    actor_rotation = unreal.Rotator(random.uniform(0,360), random.uniform(0,360), random.uniform(0,360))
    actor = 生成object(actor_class, actor_location,actor_rotation)
    return actor

#在世界中创建一个场景捕捉2D,位置和选择依据当前编辑器相机
def Spawn_SceneCapture2D():
    actor_class = unreal.SceneCapture2D()
    Vector = 获取编辑器视口相机位置()
    Rotator = 获取编辑器视口相机旋转()
    actor_location = unreal.Vector(Vector.x,Vector.y,Vector.z)
    actor_rotation = unreal.Rotator(Rotator.roll,Rotator.pitch,Rotator.yaw)
    actor = 生成object(actor_class, actor_location,actor_rotation)
    return actor

#根据场景捕捉2DActor获取它的组件
def Get_SceneCaptureComponent2D(SceneCapture2D):
    return SceneCapture2D.capture_component2d


a = Spawn_SceneCapture2D()
a = 获取选中actor列表()
for i in a:
    if type(i) == unreal.SceneCapture2D:
        print("成功")
        b = Get_SceneCaptureComponent2D(i)
        #TextureRenderTarget2D
        b.texture_target = 加载资源('/Game/MyTool/TextureRenderTarget2D')
        #SceneCaptureSource捕获源
        b.capture_source = unreal.SceneCaptureSource.SCS_FINAL_COLOR_LDR
        #PostProcessSettings后期设置
        b.post_process_settings.override_color_grading_lut = True
        b.post_process_settings.color_grading_lut = 加载资源('/Game/MyTool/GSG_LUT_Everyday_AmberWaves')#Texture
    else:
        print("请选择SceneCapture2D")
#销毁选中actor()

#a = '/Game/MyTool/TextureRenderTarget2D'
#b = '/Game/MyTool/Demo/TextureRenderTarget2D'
#复制资源(a,b)
#删除资源(b)

#for i in range(1,10):
#    复制资源(a,b+str(i))

#for i in range(1,10):
#    删除资源(b+str(i))

import unreal


def 复制资源(source_asset_path, destination_asset_path):
    return unreal.EditorAssetLibrary.duplicate_asset(source_asset_path, destination_asset_path)

def 生成object(actor_class,actor_location,actor_rotation):
    return unreal.EditorLevelLibrary.spawn_actor_from_object(actor_class, actor_location,actor_rotation)
def 获取编辑器视口相机旋转():
    Vector,Rotator = unreal.EditorLevelLibrary.get_level_viewport_camera_info()
    return Rotator

def 获取编辑器视口相机位置():
    Vector,Rotator = unreal.EditorLevelLibrary.get_level_viewport_camera_info()
    return Vector
#在世界中创建一个场景捕捉2D,位置和选择依据当前编辑器相机
def Spawn_SceneCapture2D():
    actor_class = unreal.SceneCapture2D()
    Vector = 获取编辑器视口相机位置()
    Rotator = 获取编辑器视口相机旋转()
    actor_location = unreal.Vector(Vector.x,Vector.y,Vector.z)
    actor_rotation = unreal.Rotator(Rotator.roll,Rotator.pitch,Rotator.yaw)
    actor = 生成object(actor_class, actor_location,actor_rotation)
    return actor

def 获取选中actor列表():
    return unreal.EditorLevelLibrary.get_selected_level_actors()

def 销毁选中actor():
    a = 获取选中actor列表()
    for i in a:
        销毁actor(i)

def 加载资源(asset_path):
    return unreal.EditorAssetLibrary.load_asset(asset_path)

#根据场景捕捉2DActor获取它的组件
def Get_SceneCaptureComponent2D(SceneCapture2D):
    return SceneCapture2D.capture_component2d

复制资源(aaa,bbb)
Spawn_SceneCapture2D()

a = 获取选中actor列表()
for i in a:
    if type(i) == unreal.SceneCapture2D:
        print("成功")
        b = Get_SceneCaptureComponent2D(i)
        #TextureRenderTarget2D
        b.texture_target = 加载资源(bbb)
        ccc = b.texture_target
        #SceneCaptureSource捕获源
        b.capture_source = unreal.SceneCaptureSource.SCS_FINAL_COLOR_LDR
        #PostProcessSettings后期设置
        b.post_process_settings.override_color_grading_lut = True
        b.post_process_settings.color_grading_lut = 加载资源('/Game/MyTool/GSG_LUT_Everyday_AmberWaves')#Texture
    else:
        print("请选择SceneCapture2D")

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值