puerts 是游戏引擎下的 TypeScript 编程解决方案
提供了一个 JavaScript 运行时
提供通过 TypeScript 访问宿主引擎的能力(JavaScript 层面的绑定以及 TypeScript 声明生成)
JavaScript 生态有众多的库和工具链,结合专业商业引擎的渲染能力,快速打造游戏
相比游戏领域常用的 lua 脚本,TypeScript 的静态类型检查有助于编写更健壮,可维护性更好的程序
高效:全引擎,全平台支持反射 Binding,无需额外(生成代码)步骤即可开发
高性能:全引擎,全平台支持静态 Binding,兼顾了高性能的场景
git clone https://github.com/Tencent/puerts.git
拷贝插件到您项目
unreal engine
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环境
QuickStart.ts : 演示TypeScript和UE4引擎互相调用
NewContainer.ts : 演示容器的创建
AsyncTest.ts : 将异步加载蓝图,Delay封装成async/await
UsingWidget.ts : UI加载,绑定事件,获取数据的演示
01_JsCallCs : js调用c#
02_Require : 加载js文件
03_Callback : 回调基本演示
04_JsBehaviour : 用js模拟MonoBehaviour
05_Typescript : 包含了大部分TypeScript和C#互相调用的演示
06_UIEvent :UI事件的演示
前言 Puerts,准确的说应该叫做:普洱TS。puerts是腾讯出品的一个游戏引擎下的TypeScript编程解决方案,基于Unreal和Unity双引擎。 或者换句话说:puerts 是 Unity/Unreal 的一个 JS 运行环境。让我们可以在Unity/Unreal里面通过js来写游戏。如果有用过LayaAir和CocosCreator的同学,应该都熟悉这种TS/JS的编程方式,那么使
一、首先要知道什么是puerts? puerts提供了通过TypeScript访问宿主引擎的能力(如通过ts语言可以获取到gameobject身上的组件),相比于lua脚本,typeScript的静态类型检查有助于更好地去编写代码。高效(全引擎,全平台支持反射binding,无需额外生成代码)、高性能(全引擎,全平台支持静态binding) 1、关于puerts里的c#标签介绍: Configur
参考文献 Puerts的官方仓库: 链接 Puerts for Unity 基本接入: 链接 视频教程: 链接 导入puerts 从 Releases 页面下载对应版本的 Puerts ,并解压; lugins_V8_verx.tgz,编译好的 V8 文件。 Sources_code(zip),Puerts 源码。 拷贝源码 puerts-x.x.x.zip解压出来的 unity/Assets/P
首先看puerts的官方文档 ESM 模块 从立即执行函数开始,Javascript 生态后续发展出过很多个模块规范,目前最流行的就是 JS 官方标准:ESM。 PuerTS 是支持执行 ESM 规范的模块的 官方是推荐esm的 好 怎么编译可以让ts编译成.mjs文件呢? 直接编译时改后缀吗? 当然不是 请看 TypeScript 4.7 的发布文档 package.json 中的 type
一.前言 puerts是游戏引擎下的TypeScript编程解决方案 提供了一个JavaScript运行时 提供通过TypeScript访问宿主引擎的能力(JavaScript层面的绑定以及TypeScript声明生成) 二.puerts的优势 JavaScript生态有众多的库和工具链,结合专业商业引擎的渲染能力,快速打造游戏 相比游戏领域常用的lua脚本,TypeScript的静态类型检查有助
可以看看这个链接 官方提供的黑名单 https://github.com/chexiongsheng/puerts_unity_demo/blob/master/projects/1_Start_Template/Assets/Samples/Editor/01_WrapperGenerate/PuertsFilter.cs [Filter] static bool FilterMethods(S
1.js调用c# [Configure] public class ExamplesCfgujm { [Binding] static IEnumerable<Type> Bindings { get { return new List<Type>() { typ
问题内容: 我最近一直在研究游戏开发,而我的第一种编程语言是Java。在玩了许多用c ++开发的令人惊叹的游戏之后,我想知道为什么Java在游戏行业中没有被大量使用。我查看了jMonkeyEngine 3和其他一些游戏引擎环境,但是看到的屏幕截图远没有那么令人惊叹。诸如EA的《极品飞车》(Need for Speed Hot)和ubisoft的Assassins Creed等标题传达了这种现实感。
一个非常小的script脚本引擎,可以同时在j2me / j2se / c++ platform上面运行 它的目标是使用这个脚本引擎便于开发一个更加灵活的j2me 游戏这个脚本有点像BASIC这东西不错,是一个开源的脚本引擎,大家可以学习里面的思想里面其中带了一个例子,是3子棋。感觉挺不错的。这东西在SF也挺活跃的。
12.19 技术一面 12.22 技术二面 12.26 三面(主管+hr) 1.5 交叉面 1.8 oc 其实很想每次把面经给记录下来,但实在怕有潜在竞争对手,这个广州只剩1个hc的岗位对我来说真的很重要 之前灵犀11月底发过冬季补录的邮件,但我写了之后没什么回应,转机竟然是实验室同门在boxx上被灵犀的人联系,然后转推了我,大半个月走完了流程;虽然在深圳这边只实习了一个月,但还是学到了很多东西,
offer已经有一小段时间了,其实之前就打算发,但是最近在赶前一阵因为找实习而搁置的活。这两天有点闲工夫,就把之前记录的一点点面经发一下,回馈社区。 (看其他真正的引擎佬面试强度比我高太多了,相比之下我就是个臭弟弟,运气太好了。面试中也看到了很多不足,得抓紧补起来了) timeline 3.22 投递(过了个周末,3.25周一约了3.27一面) 3.27 一面(当天过,并约次日二面) 3.28 二
问题内容: 我正在研究Java中的游戏编程,看是否可行。进行搜索时,我发现了一些关于Java2D的旧参考资料,Project Darkstar(Sun的MMO服务器)和一些有关Java游戏编程的书籍。但是很多信息似乎已经有好几年了。 所以我要问的问题是,有人在Java SE 1.5或更高版本中创建游戏吗? 如果是这样,将使用什么框架,是否有最佳实践或库? 问题答案: 有一个叫做jMonkey(ht
8.6一面,supercell部门,邮件上写的游戏发行,实际还是技术部门,被拷打一个小时 先问简历和项目,提到角色骨骼动画(简历相关),骨骼动画的原理和生成过程,判断2D下线与矩形相交,射击游戏中子弹如何判断碰撞,速度过快时如何判断穿墙和击中(简历相关),判断点在三角形内 图形学八股,渲染管线,太久没碰忘了很多 cpp八股,泛型、特化介绍,虚函数、多态介绍,堆栈内存不同点,进程和线程不同点 算法,
看到没什么发多益的同学,我就发一个给大家参考参考吧,一面是业务面,面了70min,二面是HR面,问的什么忘了 问项目(做了什么、难题怎么克服),和项目组成员以及需求方怎么沟通的 项目中信息如何加密,未收到信息如何处理? 项目中用redis做什么,用了redis的哪些数据结构?为什么用这些数据结构? 项目中事件的逻辑引擎怎么设计的?设计的思路是上面? 最熟悉的两种语言以及他们的优缺点 深拷贝和浅拷贝
面试无自我介绍,很简短,直击核心。 介绍c++stl,介绍vector和list的底层实现,介绍map的底层实现 介绍一下虚函数 介绍自己游戏常用的设计模式 介绍渲染管线 了解compute shader吗 介绍一下顶点着色器的输入 介绍pbr,ibl 你实现的ibl是diffuse还是镜面反射的 你的ibl贴图是自己生成的还是用别的代码生成的(我说用工具生成的) 除了用ibl还有什么办法实现类似