用UE4还原Python神经网络一书中的桥段

从今天起开一个新坑,那就是——用UE4还原《Python神经网络编程》一书中的桥段!话不多说,让我们切入正题。

第一章 准备阶段

1.1 前言

在本章我们会介绍两种UE4当中使用Python的工具。笔者调研了UE4当中的Python插件,发现主要有两种途径调用Python接口,一是从UE 4.19版本开始引擎自带的Python Editor Script Plugin,另一个是由Roberto De loris开发的Unreal Engine Python插件(图1-1),前者默认支持Python 2.7,后者可支持2.7、3.6、3.7三个版本,且拥有显示在引擎内部的IDE。笔者使用较多的是后者的3.6版本,引擎使用UE 4.22.3。值得一提的是,在Quixel最新的Brige软件中从Megascans到UE4的Livelink是通过后者编写实现的。  

图1-1

1.1.1 Python Editor Script Plugin的配置和使用

具体操作如下。

Step 1 要启用Python Editor Script插件,需要在插件面板里找到Python Editor Script,勾选启用并重启编辑器。

Step 2 来到项目设置,在最底部插件层级下找到Python一项设置(如图1-2所示),这里记录了该Python插件启用后启动UE4引擎时要加载的Python脚本,以及补充资源引用目录(可将Startup Scripts放入其中)。

我们在Startup Scripts中填入我们要在编辑器启动时加载的Python脚本,并在Additional Paths里填入该脚本的资源引用目录,我这里填的是相对引用路径,句法:”../../../../../Unreal Projects/[Project Name]/Content/[Folder Name]”,当然你愿意的话也可以填绝对路径,我这里考虑到工程的迁移和发布故填了相对路径。

最后,我们启用Development Mode,这可以启用该插件的额外编译提示,帮助我们快速定位编写过程中的错误并调试。  

图1-2

Step 3 在控制台调用Python脚本   方法一:按“~”键调出控制台,并将下拉框中的语言从Cmd切换成Python,这种方法很方便但不够直观,适合执行单行Python语句且结果立即可见的脚本时使用(如在场景中创建一个Actor);  

图1-3

方法二:调出输出日志,在输出日志底部的输入框中键入脚本。  

图1-4

此二种方法均可以使用Shift+Enter的方式换行。

Step 4 初始化脚本测试   1.我们创建一个名叫Init.py的脚本,用记事本打开,键入如下三行代码:  

def Init():
    print ‘Python脚本初始化完成’
Init()

2.将该文件拷贝到我们方才设置的Addtional Path中,通过Step 2中的方式添加到设置,重启编辑器,观察控制台:  

图1-5

可以看到我们的脚本被成功运行了

1.1.2 Unreal Engine Python插件的配置和使用   具体操作如下。

Step 1 该插件非引擎自带插件且在虚幻商城里搜索不到,须到这个链接:https://github.com/20tab/UnrealEnginePython/releases/tag/20190508,找到与相引擎对应的版本下载,笔者下载的是UnrealEnginePython_20190508_4_22_python36_embedded_win64.zip,这个版本支持Python3.6并且是内嵌版本(embedded),也就是说使用该版本插件的用户无需自行配置python环境,插件自带了一个可离岸运行的python。

我们把这个插件拷贝到虚幻引擎安装目录下的Plugins文件夹下(如D:\Program Files\Epic Games\UE_4.22\Engine\Plugins,在编辑器内启用该插件并重启便可正常加载。加载成功后,在UE4的窗口菜单下即可看到Python Editor选项,即该插件嵌入Unreal的IDE。  

图1-6

Step 2 使用Python Editor编写脚本并实时编译  

图1-7

Step 3 第三方Module的安装,以numpy为例   Python的很多功能是基于第三方模组(Module)实现的。要安装第三方模组,我们可以通过pip install [module_name]的方式拉取,也可以下载外展包来安装。这里提供一个外展包的下载网站:https://www.lfd.uci.edu/~gohlke/pythonlibs/

此处以numpy模组为例讲解UnrealEnginePython中Module的安装。

1.打开CMD,cd到UnrealEnginePython安装目录,输入python pip install numpy  

图1-8

2.在资源管理器中打开UnrealEnginePython安装目录下的Binaries\Win64\Lib\site-packages,将numpy、numpy-1.18.0.dist-info两个目录复制到Win64目录,即可正常使用numpy模组

*注,如果该目录下有与模组同名的.py文件,应一并拷贝至Win64目录下(如autopep8.py)  

图1-9

内容更新于2019年12月23日 13:32:54

版权声明:1.版权归本网站及原作者张昊阳所有;2.未经原作者允许不得转载本文内容,否则将视为侵权;3.转载或者引用本文内容请注明来源及原作者;4.对于不遵守此声明或者其他违法使用本文内容者,本网站及作者依法保留追究权。

2 个评论

世欺进行回复 取消回复

邮箱地址不会被公开。