UE-python--绝命问题

折腾一天原来是这个问题发给大家

在这里插入图片描述
在这里插入图片描述

执行方式

在这里插入图片描述
传参

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
Truncate是把小数截断成整数的节点

常用操作

获得资源

获得场景内所有actor
actors = unreal.EditorLevelLibrary.get_selected_level_actors()
创建类糊的选中资源
在这里插入图片描述

==Editor下的选择节点,返回选择物体数组
unreal.VRScoutingInteractor.unreal.VRScoutingInteractor()

pythonscript执行方式

import sys
sys.path.append(“E:/project/UE5/tt”)
import importlib
import kk
importlib.reload(kk)
kk.mm()
module=importlib.import_module(‘kk’)检测加载的包,可以打印路径

UE引擎内有test包,不能用test文件名。否则不会加载–真坑

总结

游戏开发 python完全可以跳过蓝图直接搞起,可以直接跟蓝图各种通信,editor类节点,可以使用editorActor方式运行,用接口方式调用。可以跟c++通信。

查找资源

查找asset
unreal.find_asset(“/Gamer/python/aa”)
读取类
unreal.load_class(“/Gamer/python/aa”)

读取物体
obj=unreal.load_object(None,name=“/Gamer/python/aa.aa”)

unreal.Actor

get_component_by_class()

在这里插入图片描述

from pathlib import Path
TEX=Path("W:\\")
VALID=(".png",".tif")
DEST="/Game/Testure"

def fix_name(name):
	file_name_parts=name.splite("_")
	last_part=file_name_parts[-1]
	last_part=last_part.replace("AmbientOcclusion","O")
	last_part=last_part.replace("Normal","O")
	last_part=last_part.replace("Color","O")
	out_part=file_name_parts[:-1]+last_part
	out_name="_".join(out+parts)
	return out_name

i=O
for file_path_abs in TEX.iterdir():
	if file_path_abs.suffix not in VALID:
		contiunt 
	name=file_path_abs.stem
	file_name_path=name.split("_")
	last_part=="Normal"
		continue
	file_name_start=file_name_path[0]
	only_letters=[]ch for ch in file_name_start if ch.isalpha()]
	tex_category="".join(only_letters)
	unreal.log(tex_category)
	
	task=unreal.AssetImportTask()
	task.automated=True
	task.destination_path=fix_name(name)
	task.replace_existing=True

生成一个unreal的类

class tt(unreal.object):
print()
def kk():
unreal.generate_class(tt)

创建资源

# Get a class for spawning
my_class = unreal.EditorAssetLibrary.load_blueprint_class('/Game/Project/Path/To/Blueprint.Blueprint')

# Get the editor actor subsystem
actor_subsys = unreal.get_editor_subsystem(unreal.EditorActorSubsystem)

# Actually spawn the actor
spawn_location = unreal.Vector(0, 0, 0)
inst = actor_subsys.spawn_actor_from_class(my_class, spawn_location)

复制资源

全局静态函数 unreal.GameplayStatics

UNREAL架构

Subsystem

在这里插入图片描述
在这里插入图片描述

unreal._ObjectBase

EditorActorSubsystem

get_all_level_actors

unreal.World 游戏关卡

get_data_layer_manager()返回关卡管理器
get_world_settings()WorldSettings

Actor

Actor 是可以在关卡中放置或生成的 Object 的基类。 Actor 可能包含 ActorComponents 的集合.

PostRegisterAllComponents
PostActorCreated编辑器中创建 actor 或在游戏过程中创建 actor 时,会在构造之前调用它。
UActorComponent::Activate:仅当组件设置了 bAutoActivate 时,才会调用此函数。
UActorComponent::InitializeComponent:仅当组件具有 bWantsInitializeComponentSet 时,才会调用此函数。

UnrealEditorSubsystem

UUnrealEditor子系统 用于向脚本公开编辑器功能的子系统
unreal.UnrealEditorSubsystem()
get_editor_world() 返回编辑器使用的世界

EditorActorSubsystem

spawn_actor_from_object()

EditorLevelLibrary 已弃用

StaticMeshEditorSubsystem

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
在使用 `vue-element-admin` 框架时,可以通过 `vue-i18n` 插件来实现国际化,同时也可以将字典数据封装成组件,方便在不同页面和组件中复用。 以下是实现字典数据封装的一般步骤: 1. 在 `src/lang` 目录下创建字典文件,例如 `zh.js` 和 `en.js`,并在文件中定义字典数据: ```javascript // zh.js export default { dict: { yes: '是', no: '否' } } // en.js export default { dict: { yes: 'Yes', no: 'No' } } ``` 2. 在 `src/lang/index.js` 文件中引入字典文件,并将字典数据注入到 `vue-i18n` 插件中: ```javascript import Vue from 'vue' import VueI18n from 'vue-i18n' import zh from './zh' import en from './en' Vue.use(VueI18n) const messages = { zh: { ...zh }, en: { ...en } } const i18n = new VueI18n({ locale: 'zh', messages }) export default i18n ``` 3. 创建字典组件 `Dict`,并在组件中使用 `vue-i18n` 插件来获取字典数据: ```vue <template> <span>{{ dict[label] }}</span> </template> <script> export default { name: 'Dict', props: { label: { type: String, required: true } }, computed: { dict() { return this.$i18n.messages[this.$i18n.locale].dict } } } </script> ``` 4. 在需要使用字典的页面或组件中,使用 `Dict` 组件并传入需要翻译的标签: ```vue <template> <div> <p>{{ $t('dict.yes') }}</p> <p>{{ $t('dict.no') }}</p> <Dict label="yes" /> <Dict label="no" /> </div> </template> <script> import Dict from '@/components/Dict' export default { name: 'Example', components: { Dict } } </script> ``` 这样,就可以在页面或组件中通过 `Dict` 组件来获取字典数据,实现字典数据的封装和复用。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值