Unreal PythonScriptPlugin

Unreal PythonScriptPlugin

文章目录

示例代码,引擎里有很多插件已经用 py 写编辑器脚本了

复制代码
unreal.get_editor_subsystem(unreal.LevelEditorSubsystem).load_level("/Game/maps/UVlayoutTest.UVlayoutTest")
unreal.get_editor_subsystem(unreal.StaticMeshEditorSubsystem).join_static_mesh_actors(list_of_actors, my_options)
unreal.get_editor_subsystem(unreal.StaticMeshEditorSubsystem).join_static_mesh_actors(join_options=my_options, actors_to_join=list_of_actors)

Python vs UnLua

UnLua 的主要缺陷在于缺乏类型和强大的 IDE

  • TArray<T> 没法提示
  • IDE 缺乏重构
  • 在 Lua 无法进行 OOP
  • 无法在 Lua 定义 UClass,UProperty

写小范围的脚本还可以,但是。。

官方文档

https://docs.unrealengine.com/en-US/Engine/Editor/ScriptingAndAutomation/Python/index.html

  • init_unreal.py,初始化脚本,可以额外配置
  • Python 路径,默认如下,可以额外配置
  • Python API
    • 支持 UE 反射得到的 蓝图 API
    • Python 类型和 UE 类型映射,支持 isinstance 和 type
    • Stub 提示文件,Engine\Plugins\Experimental\PythonScriptPlugin\SphinxDocs
    • 编辑器相关
      • Undo/Redo
      • 慢任务进度条

Python 路径

复制代码
项目文件夹中的 Content/Python 子文件 夹。

主虚幻引擎安装中的 Content/Python 子文件 夹。

每个启用的插件文件夹中的 Content/Python 子文件 夹。

用户目录中的Documents /UnrealEngine/Python文件夹。
例如,在 Windows 10 上,这相当于C:/Users/Username/Documents/UnrealEngine/Python

PyStub

=> unreal.py

类型很关键,这个包含 Engine 和 Game 所有蓝图反射 API,类似 UnLua Intellisense

入口函数

复制代码
FPyWrapperTypeRegistry::GenerateStubCodeForWrappedTypes

DoString

入口函数

复制代码
FUnrealEnginePythonModule::RunString

执行没什么,就是准备了 unreal 的环境注入 unreal API

TODO 看眼反射怎么export到python的

相关推荐
守月满空山雪照窗2 小时前
深入理解 MTK FPSGO:Android 游戏帧率治理框架的架构与实现
android·游戏·架构
呆呆敲代码的小Y7 小时前
48个AI智能体搭建完整游戏开发工作室:Claude Code Game Studios
人工智能·游戏·unity·ai·游戏引擎·ai编程·ai游戏
聊点儿技术8 小时前
大促期间IP代理识别API频频超时怎么办?——高并发场景下离线库选型与本地部署实战
网络·tcp/ip·游戏·ip离线库·电商风控·识别代理ip·代理ip识别api
颯沓如流星8 小时前
从Prompt Engineering到Harness Engineering:游戏服务器开发的AI工程范式
人工智能·游戏·prompt
前端不太难9 小时前
鸿蒙游戏中的 Service 层应该怎么拆?
游戏·状态模式·harmonyos
liangdabiao17 小时前
[分享好东西]类似vibe coding一样开发游戏 -harness-设计架构-生成美术资源-编码-测试-运行-交付
游戏
聊点儿技术19 小时前
【游戏风控】如何用IP数据接口从“IP即判罚”升级为“IP参与评分”
tcp/ip·游戏·游戏安全·ip数据库·ip地理定位api·ip数据接口·ip风险画像
TMT星球1 天前
阿里云连续5年稳居游戏云市场份额第一
游戏·阿里云·云计算
沙振宇1 天前
【Web】使用Vue3+PlayCanvas开发3D游戏(十)让人物动起来
前端·游戏·3d·人物·
黑客说1 天前
深耕AI,终破局:无限流游戏的核心创新之路
人工智能·游戏