PuerTS for UnrealEngine

一、PuerTS简介

PuerTS是腾讯出品的一个游戏引擎下的TypeScript编程解决方案。本质是:

  • 在(UE)引擎提供了JavaScript虚拟机环境

  • 让TypeScript/JavaScript能够和引擎交互,或者说能调用C++或者蓝图API,也能被C++或者蓝图调用到

二、PuerTS的安装

1. 创建工程

  • 使用 UE4.25及以上版本(包含UE5.1) 或 UE4.24及以下版本 创建c++工程
  • 若为纯蓝图工程会提示 “Plugin ‘Puerts’ failed to load because module ‘JsEnv’ could not be found.”
    纯蓝图工程不会自动编译Plugins,而Puerts目前的源码或者发布包内,都是C++源码。
    可以clone puerts的demo或者使用其他c++工程,在vs编译工程后拷贝到纯蓝图工程。

2. 插件下载

3. V8引擎下载

4. 配置Puerts插件

  • 使用 cmd 或 powershell
  • 在目录 Project/Plugins/Puerts/ 下,执行如下命令
    node enable_puerts_module.js
    
    • 该命令作用
      1. 拷贝 Project/Plugins/Puerts/Content/Javescript 文件夹 至 Project/Content/
      2. 创建并初始化 Project/tsconfig.json 文件(内容源自enable_puerts_module.js)
      3. 创建并初始化 Project/Config/DefaultPuerts.ini 文件(内容:AutoModeEnable=True)
      4. 创建 Project/TypeScript 目录
      5. npm 安装 Puerts_Editor 的依赖包
  • 在 Project 目录下执行如下命令
    npm init
    
    • 该命令作用
      1. 生成 package.json 文件
    • 在 package.json 文件中加入如下内容
      "dependencies": {
              "@types/react": "^15.6.6",
              "@types/react-reconciler": "^0.18.0",
              "@types/mocha": "^7.0.1"
           }
      
  • 在 Project 目录下执行如下命令
    npm install
    
    • 该命令作用
      1. 下载安装所需模块
      2. 模块位置: Project/node_modules

5. 配置ReactUMG插件

  • 在 Project/Content/JavaScript 执行如下命令
    npm init
    
    • 该命令作用
      1. 生成 package.json 文件
    • 在 package.json 文件中加入如下内容
      "dependencies": {
              "react": "^16.11.0",
          	"react-reconciler": "^0.23.0"
           }
      
  • 在相同目录下在执行如下命令
    npm install
    
    • 该命令作用
      1. 下载安装所需模块
      2. 模块位置: Project/Content/JavaScript/node_modules
  • 打开 Project/tsconfig.json 文件,在 “typeRoots” 加入
    "Plugins/ReactUMG/Typing"
    

三、测试PuerTS是否正确安装及配置

  • 重新生成vs解决方案,并编译

    • 必须将对应版本的V8引擎拷贝至插件下,否则编译失败
    • ***编译时保证无其他包含Puerts工程在运行,否则Puerts下若干模块无法正确生成,导致连接错误,编译失败
  • 打开UE工程,在引擎工具栏中点击 ue.d.ts 按钮,将在Puerts、ReactUMG插件目录下创建Typing文件夹,并生成可直接被TS调用的UE反射属性和方法的库文件

  • 或者,也可以通过控制台命令生成声明文件:Puerts.Gen

    • Puerts.Gen默认仅生成UCLASS及被UCLASS引用的USTRUCT,UENUM

    • 如果希望增加未引用的USTRUCT,执行Puerts.Gen STRUCT

    • 如果希望增加未引用的UENUM,执行Puerts.Gen ENUM

    • 如果希望增加未引用的USTRUCT、UENUM,执行Puerts.Gen ALL

  • 若生成成功则表示 PuerTS 已正确安装及配置

  • 7
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值