Puerts游戏引擎 TypeScript 编程解决方案

联合创作 · 2023-09-27 19:03

puerts 是游戏引擎下的 TypeScript 编程解决方案

  • 提供了一个 JavaScript 运行时

  • 提供通过 TypeScript 访问宿主引擎的能力(JavaScript 层面的绑定以及 TypeScript 声明生成)

特性

  • JavaScript 生态有众多的库和工具链,结合专业商业引擎的渲染能力,快速打造游戏

  • 相比游戏领域常用的 lua 脚本,TypeScript 的静态类型检查有助于编写更健壮,可维护性更好的程序

  • 高效:全引擎,全平台支持反射 Binding,无需额外(生成代码)步骤即可开发

  • 高性能:全引擎,全平台支持静态 Binding,兼顾了高性能的场景

安装

  • git clone https://github.com/Tencent/puerts.git

  • 拷贝插件到您项目

    • unreal engine

      • 拷贝puerts/unreal下的Puerts目录到您项目的Plugins目录下,可以参考unreal demo
    • unity

      • 拷贝puerts/unity/Assets下的所有内容到您项目的Assets目录下,可以参考unity demo

      • Plugins要单独下载releases,或者自行编译

编程样例

Unity

import {UnityEngine} from 'csharp'

UnityEngine.Debug.Log('hello world');
let gameObject = new UnityEngine.GameObject("testobject");
console.log(gameObject.name);
gameObject.transform.position = new UnityEngine.Vector3(1, 2, 3);

Unreal

import * as UE from 'ue'
import {argv} from 'puerts';
let world = argv.getByName("World") as UE.World;
let actor = world.SpawnActor(UE.MainActor.StaticClass(),
    undefined, UE.ESpawnActorCollisionHandlingMethod.Undefined, undefined, undefined) as UE.MainActor;
console.log(actor.GetName());
console.log(actor.K2_GetActorLocation().ToString());

调试

常见问题

使用文档

支持的引擎,平台

引擎

  • unreal engine 4.22 ~ 最新版本

  • unity 5 ~ 最新版本

平台

  • iOS,Android,Windows,Macos

  • 任意.net环境

详细信息

示例

Unreal自动绑定模式

  • FPS demo : 以一个FPS游戏例子演示如何使用Puerts的自动绑定模式

Unreal自创建虚拟机模式

Unity

 

浏览 12
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报