CN113282357A - 三维引擎结合脚本引擎实现运行的方法、设备及介质 - Google Patents
三维引擎结合脚本引擎实现运行的方法、设备及介质 Download PDFInfo
- Publication number
- CN113282357A CN113282357A CN202110705239.9A CN202110705239A CN113282357A CN 113282357 A CN113282357 A CN 113282357A CN 202110705239 A CN202110705239 A CN 202110705239A CN 113282357 A CN113282357 A CN 113282357A
- Authority
- CN
- China
- Prior art keywords
- javascript
- interface
- function
- class
- engine
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 38
- 230000006870 function Effects 0.000 claims description 79
- 230000008569 process Effects 0.000 claims description 8
- 230000007246 mechanism Effects 0.000 claims description 7
- 238000012546 transfer Methods 0.000 claims description 7
- VYZAMTAEIAYCRO-UHFFFAOYSA-N Chromium Chemical compound [Cr] VYZAMTAEIAYCRO-UHFFFAOYSA-N 0.000 claims description 3
- 238000004590 computer program Methods 0.000 claims description 3
- 238000012544 monitoring process Methods 0.000 claims description 3
- 230000000007 visual effect Effects 0.000 claims description 3
- 238000011161 development Methods 0.000 abstract description 6
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000002159 abnormal effect Effects 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4488—Object-oriented
- G06F9/449—Object-oriented method invocation or resolution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
- G06F8/315—Object-oriented languages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/72—Code refactoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44568—Immediately runnable code
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
本发明提供一种三维引擎结合JavaScript脚本引擎实现运行的方法、设备及介质,其中三维引擎结合JavaScript脚本引擎实现运行的方法包括如下步骤:UE程序初始化,加载默认场景;加载Node.js,将C++的函数导出给JavaScript,并执行JavaScript文件main.js;初始化程序完成后,由JavaScript代码驱动UE运行,并且JavaScript调用UE中的函数;在UE中回调JavaScript中的函数。本发明能够使JavaScript访问蓝图接口和C++接口,并能够使用NPM(Node Package Manager)的JavaScript库,方便调试,运行时修改代码,使开发变得容易。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种三维引擎结合JavaScript脚本引擎实现运行的方法、电子设备及可读存储介质。
背景技术
现有的三维引擎Unreal Engine(简称UE引擎),该UE引擎的主要开发语言是C++和蓝图(Blueprint),其中C++的缺点是学习成本高、开发难度大与程序容易崩溃;蓝图优点是开发容易,其缺点是发布后难以再对蓝图进行修改,且依赖于Unreal的编辑器。
目前现有方案中第三方存在Unreal和JavaScript结合的方法,但是存在封装不友好,调试困难,只能调用蓝图接口等问题。
为克服以上技术问题,本领域迫切需要一种新的Unreal和JavaScript结合的方法。
发明内容
本发明之目的是能够解决现有第三方设计的Unreal和JavaScript结合的方法存在封装不友好、调试困难以及只能调用蓝图接口等技术问题。
第一方面,本发明提供一种三维引擎结合JavaScript脚本引擎实现运行的方法,包括如下步骤:
UE程序初始化,加载默认场景;
加载Node.js,将C++的函数导出给JavaScript,并执行JavaScript文件main.js;
初始化程序完成后,由JavaScript代码驱动UE运行,并且JavaScript调用UE中的函数;
在UE中回调JavaScript中的函数。
优选地,所述UE程序初始化,加载默认场景,结束后加载Node.js,将C++的函数导出给JavaScript,并执行JavaScript文件main.js包括如下步骤:
UE程序初始化,加载UE插件;
UE加载默认场景,插件监听到场景初始化完毕,通过UE提供的API接口将动态链接库NodeJS.dll加载到内存中;
获取NodeJS.dll中导出的接口;
调用InitializeNode接口初始化Node.js程序;
将UE中C++类的成员函数封装成C++类,并继承自统一基类,利用C++重载机制动态执行类中的函数;
将封装成的C++类的名称和类指针通过CreateIsolate接口导出到JavaScript的全局变量中,CreateIsolate接口加载并执行在UE项目目录下的JavaScript文件main.js。
优选地,所述UE程序初始化,加载默认场景,结束后加载Node.js,将C++的函数导出给JavaScript,并执行JavaScript文件main.js之后还包括:
JavaScript中初始化异常处理和日志处理。
优选地,所述JavaScript中初始化异常处理和日志处理包括如下步骤:
执行main.js过程中首先在main.js中接管Node.js的异常处理接口,检测到异常打印日志;
在main.js中接管日志接口。
优选地,所述UE程序初始化,加载默认场景,结束后加载Node.js,将C++的函数导出给JavaScript,并执行JavaScript文件main.js还包括如下步骤:
在main.js中封装开启调试接口,使Chrome和Visual Studio Code的调试工具能够调试其中的JavaScript代码;
在main.js中拿到全局变量global.Unreal中挂载的函数,用JavaScript封装成类,和UE中的C++类一一对应。
优选地,所述NodeJS.dll中导出的接口包括InitializeNode接口、ShutdownNode接口、CreateIsolate接口、RunIsolate接口、DisposeIsolate接口,所述InitializeNode接口、ShutdownNode接口、CreateIsolate接口、RunIsolate接口、DisposeIsolate接口均以接口的形式导出供UE调用;
所述InitializeNode接口用于初始化Node.js运行环境,在UE启动时调用一次;
所述ShutdownNode接口用于释放Node.js运行环境,在UE退出时调用一次;
所述CreateIsolate接口用于创建JavaScript的运行环境,将UE的C++接口导出给JavaScript,每次加载场景时运行一次;
所述RunIsolate接口用于将CPU时间片分给Node.js,用来执行JavaScript中的代码,每帧都要调用;
所述DisposeIsolate接口用于释放JavaScript的运行环境,每次场景释放运行一次。
优选地,所述初始化程序完成后,由JavaScript代码驱动UE运行,并且JavaScript调用UE中的函数包括如下步骤:
通过JavaScript的实例调用JavaScript实例中的函数;
实例中的函数里拿到缓存的C++的类的实例的指针;
拿到指针调用到Node.js中;
Node.js中利用重载机制,将指针转换成C++封装的类;
Node.js中缓存JavaScript调用过程中的参数;
调用C++封装的类的中的Invoke接口,调取C++封装的类;
C++封装的类拿到Node.js中缓存的参数,并调用UE中的接口。
优选地,所述UE中函数回调JavaScript中的函数,实现数据传递与逻辑的调用包括如下步骤:
JavaScript先将函数传递给NodeJS.dll,NodeJS.dll封装成类传递给UE并缓存;
需要调用JavaScript的时候,UE先将参数缓存到Node.js中;
UE中拿到缓存类,调用到NodeJS.dll中,NodeJS.dll解封出JavaScript函数,拿到缓存在Node.js中的参数,将参数设置给JavaScript函数;
调用JavaScript中的函数。
第二方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,所述存储介质存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现第一方面所述的三维引擎结合JavaScript脚本引擎实现运行的方法。
第三方面,本发明提供一种电子设备,包括:处理器、存储器和总线;
所述总线用于连接所述处理器和所述存储器;
所述存储器用于存储操作指令;
所述处理器用于通过调用所述操作指令,执行上述第一方面所述的三维引擎结合JavaScript脚本引擎实现运行的方法。
本发明提供的一种三维引擎结合JavaScript脚本引擎实现运行的方法、电子设备及可读存储介质相比于现有技术具有如下有益效果:
1、本发明能够使JavaScript访问蓝图接口和C++接口,并能够使用NPM(NodePackage Manager)的JavaScript库,方便调试,运行时修改代码,使开发变得容易。
2、本发明采用JavaScript脚本引擎,学习成本低,容易上手,由于使用了Node.js,所以能够使用NPM包,网上有大量的NPM开源库,还可以直接使用Node.js的调试方法进行调试,在出现JavaScript异常时不会崩溃退出。
3、采用本发明的方法在程序发布后很容易修改代码,由于JavaScript只是文本文件,修改后可直接运行,从而实现动态修改代码。
4、本发明封装了UE的C++类,并导出给Node.js,对Node.js进行改进使其能够被UE加载,以及对JavaScript封装,将UE的接口以更友好方式封装,方便使用。
具体实施方式
在此记载的实施例为本发明的特定的具体实施方式,用于说明本发明的构思,均是解释性和示例性的,不应解释为对本发明实施方式及本发明范围的限制。除在此记载的实施例外,本领域技术人员还能够基于本申请权利要求书和说明书所公开的内容采用显而易见的其它技术方案,这些技术方案包括对在此记载的实施例做出任何显而易见的替换和修改的技术方案。
本发明提供一种三维引擎结合JavaScript脚本引擎实现运行的方法,包括如下步骤:
UE程序初始化,加载默认场景;
结束后加载Node.js,将C++的函数导出给JavaScript,并执行JavaScript文件main.js;
初始化程序完成后,由JavaScript代码驱动UE运行,并且JavaScript调用UE中的函数;
在UE中回调JavaScript中的函数,实现数据传递与逻辑的调用。
在本发明的进一步实施例中,UE程序初始化,加载默认场景,结束后加载Node.js,将C++的函数导出给JavaScript,并执行JavaScript文件main.js包括如下步骤:
UE程序初始化,加载UE插件;
UE加载默认场景,插件监听到场景初始化完毕,通过UE提供的API接口将动态链接库NodeJS.dll加载到内存中;
获取NodeJS.dll中导出的接口,包括InitializeNode接口、ShutdownNode接口、CreateIsolate接口、RunIsolate接口、DisposeIsolate接口;
调用InitializeNode接口初始化Node.js程序;
将UE中C++类的成员函数封装成C++类,并继承自统一基类ToUE4Function,该ToUE4Function类中包括Invoke函数,参数是V8Param类,利用C++重载机制动态调取的UE C++类的成员函数;
将封装成的C++类的名称和类指针导进数组中,作为CreateIsolate参数并调用;通过CreateIsolate接口将名称和类指针导出到JavaScript的全局变量中,也就是挂载到JavaScript中的global.Unreal对象上;
CreateIsolate接口加载并执行在UE项目目录下的JavaScript文件main.js;
JavaScript中初始化异常处理和日志处理。
其中,NodeJS.dll中利用C++类的地址和函数名称,将函数导出成JavaScript中全局变量global.Unreal的成员函数。比如:UE中Actor:: IsPendingKill导出成 JavaScript中global.Unreal.Actor_IsPendingKill。以及,V8Param类中封装获取参数的接口,按顺序读取,直接从Node.js中读取,减少数据拷贝。
优选地,所述JavaScript中初始化异常处理和日志处理包括如下步骤:
执行main.js过程中首先在main.js中接管Node.js的异常处理接口,当检测JavaScript运行出错或异常的时候打印日志而不是退出程序,并给出提示,方便开发人员查找错误;
在main.js中接管日志接口(console.log等),以便将日志打印到UE中。
优选地,所述UE程序初始化,加载默认场景,结束后加载Node.js,将C++的函数导出给JavaScript,并执行JavaScript文件main.js还包括如下步骤:
在main.js中封装开启调试接口,使Chrome和Visual Studio Code的调试工具能够调试其中的JavaScript代码;
在main.js中拿到全局变量global.Unreal中挂载的函数,用JavaScript封装成类,和UE中的C++类一一对应。
其中,在JavaScript封装过程中,将JavaScript中的类和UE中的C++类一一对应具体实现方式如下:
JavaScript中类的实例保留对应C++中类的实例的指针;
JavaScript中类的成员函数对应JavaScript的全局函数,指向到C++中;
调用函数时,将C++的实例指针作为函数的第一个参数传递到C++中,并执行;
JavaScript中封装的类和UE中C++类一一对应。
上述NodeJS.dll中导出的接口包括InitializeNode接口、ShutdownNode接口、CreateIsolate接口、RunIsolate接口、DisposeIsolate接口,所述InitializeNode接口、ShutdownNode接口、CreateIsolate接口、RunIsolate接口、DisposeIsolate接口均以接口的形式导出供UE调用;
所述InitializeNode接口用于初始化Node.js运行环境,在UE启动时调用一次;
所述ShutdownNode接口用于释放Node.js运行环境,在UE退出时调用一次;
所述CreateIsolate接口用于创建JavaScript的运行环境,将UE的C++接口导出给JavaScript,每次加载场景时运行一次;
所述RunIsolate接口用于将CPU时间片分给Node.js,用来执行JavaScript中的代码,每帧都要调用;
所述DisposeIsolate接口用于释放JavaScript的运行环境,每次场景释放运行一次。
在本发明的进一步实施例中,初始化程序完成后,由JavaScript代码驱动UE运行,并且JavaScript调用UE中的函数包括如下步骤:
通过JavaScript的实例调用JavaScript实例中的函数,其中,JavaScript中业务逻辑想要调用UE中的功能,先要拿到JavaScript封装的类的实例,实例由用户维护,存储在用户的业务逻辑中;
实例中的函数里拿到缓存的C++的类的实例的指针;
拿到指针调用到Node.js中;
Node.js中利用重载机制,将指针转换成C++封装的类;
Node.js中缓存JavaScript调用过程中的参数;
调用C++封装的类的中的Invoke接口,调取C++封装的类;
C++封装的类拿到Node.js中缓存的参数,并调用UE中的接口。
其中,上述调用函数对应的global.Unreal的成员函数,并将C++类的实例指针和普通的参数统一作为global.Unreal成员函数的参数(V8Param)传递给C++,在C++中将global.Unreal的成员函数的指针转换成ToUE4Function类,并调用Invoke虚函数,因为C++有重载机制,所以会调用到封装的函数,Invoke虚函数的参数是V8Param类,其中包含了C++类的实例指针和普通的参数。将C++类的实例指针,转换成原始UE C++类,将V8Param中的参数转换成C++所需的参数类型,调用UE C++类实例中的成员函数,至此JavaScript调用UE中的函数完成。
在本发明的进一步实施例中,所述UE中函数回调JavaScript中的函数,实现数据传递与逻辑的调用包括如下步骤:
JavaScript先将函数传递给NodeJS.dll,NodeJS.dll封装成类传递给UE并缓存;
需要调用JavaScript的时候,UE先将参数缓存到Node.js中;
UE中拿到缓存类,调用到NodeJS.dll中,NodeJS.dll解封出JavaScript函数,拿到缓存在Node.js中的参数,将参数设置给JavaScript函数;
调用JavaScript中的函数。
其中,在UE中函数回调JavaScript中函数的过程中,JavaScript要先将函数注册到插件中,参数为JavaScript中的函数;JavaScript中的函数会通过插件封装成一个特殊的类ToNodeJSFunction,该ToNodeJSFunction类中会包含Invoke函数和设置参数的接口;UE中有事件触发,需要调用JavaScript的时候,需要拿到已经注册的ToNodeJSFunction函数,先将所需要传递的函数参数缓存到Node.js中,再通过ToNodeJSFunction的Invoke接口调用JavaScript中的函数,函数参数是已缓存的函数参数,至此调用JavaScript中的函数完成。
在本发明的进一步实施例中,本发明提供一种计算机可读存储介质,其上存储有计算机程序,所述存储介质存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现第一方面所述的三维引擎结合JavaScript脚本引擎实现运行的方法。
在本发明的进一步实施例中,本发明提供一种电子设备,包括:处理器、存储器和总线;
所述总线用于连接所述处理器和所述存储器;
所述存储器用于存储操作指令;
所述处理器用于通过调用所述操作指令,执行上述第一方面所述的三维引擎结合JavaScript脚本引擎实现运行的方法。
本发明能够使JavaScript访问蓝图接口和C++接口,并能够使用NPM(NodePackage Manager)的JavaScript库,方便调试,运行时修改代码,使开发变得容易。
本发明JavaScript脚本引擎,学习成本低,容易上手,由于使用了Node.js,所以能够使用NPM包,网上有大量的NPM开源库,还可以直接使用Node.js的调试方法进行调试,在出现JavaScript异常时不会崩溃退出。
以上对本发明的一种三维引擎结合JavaScript脚本引擎实现运行的方法、设备及介质进行了说明。而且,上述披露的各技术特征并不限于已披露的与其它特征的组合,本领域技术人员还可根据本发明之目的进行各技术特征之间的其它组合,以实现本发明之目的为准。
Claims (10)
1.一种三维引擎结合JavaScript脚本引擎实现运行的方法,其特征在于,包括如下步骤:
UE程序初始化,加载默认场景;
加载Node.js,将C++的函数导出给JavaScript,并执行JavaScript文件main.js;
初始化程序完成后,由JavaScript代码驱动UE运行,并且JavaScript调用UE中的函数;
在UE中回调JavaScript中的函数。
2.根据权利要求1所述的三维引擎结合JavaScript脚本引擎实现运行的方法,其特征在于,所述UE程序初始化,加载默认场景,结束后加载Node.js,将C++的函数导出给JavaScript,并执行JavaScript文件main.js包括如下步骤:
UE程序初始化,加载UE插件;
UE加载默认场景,插件监听到场景初始化完毕,通过UE提供的API接口将动态链接库NodeJS.dll加载到内存中;
获取NodeJS.dll中导出的接口;
调用InitializeNode接口初始化Node.js程序;
将UE中C++类的成员函数封装成C++类,并继承自统一基类,利用C++重载机制动态执行类中的函数;
将封装成的C++类的名称和类指针通过CreateIsolate接口导出到JavaScript的全局变量中,CreateIsolate接口加载并执行在UE项目目录下的JavaScript文件main.js。
3.根据权利要求2所述的三维引擎结合JavaScript脚本引擎实现运行的方法,其特征在于,所述UE程序初始化,加载默认场景,结束后加载Node.js,将C++的函数导出给JavaScript,并执行JavaScript文件main.js之后还包括:
JavaScript中初始化异常处理和日志处理。
4.根据权利要求3所述的三维引擎结合JavaScript脚本引擎实现运行的方法,其特征在于,所述JavaScript中初始化异常处理和日志处理包括如下步骤:
执行main.js过程中首先在main.js中接管Node.js的异常处理接口,检测到异常打印日志;
在main.js中接管日志接口。
5.根据权利要求2所述的三维引擎结合JavaScript脚本引擎实现运行的方法,其特征在于,所述UE程序初始化,加载默认场景,结束后加载Node.js,将C++的函数导出给JavaScript,并执行JavaScript文件main.js还包括如下步骤:
在main.js中封装开启调试接口,使Chrome和Visual Studio Code的调试工具能够调试其中的JavaScript代码;
在main.js中拿到全局变量global.Unreal中挂载的函数,用JavaScript封装成类,和UE中的C++类一一对应。
6.根据权利要求2所述的三维引擎结合JavaScript脚本引擎实现运行的方法,其特征在于,所述NodeJS.dll中导出的接口包括InitializeNode接口、ShutdownNode接口、CreateIsolate接口、RunIsolate接口、DisposeIsolate接口,所述InitializeNode接口、ShutdownNode接口、CreateIsolate接口、RunIsolate接口、DisposeIsolate接口均以接口的形式导出供UE调用;
所述InitializeNode接口用于初始化Node.js运行环境,在UE启动时调用一次;
所述ShutdownNode接口用于释放Node.js运行环境,在UE退出时调用一次;
所述CreateIsolate接口用于创建JavaScript的运行环境,将UE的C++接口导出给JavaScript,每次加载场景时运行一次;
所述RunIsolate接口用于将CPU时间片分给Node.js,用来执行JavaScript中的代码,每帧都要调用;
所述DisposeIsolate接口用于释放JavaScript的运行环境,每次场景释放运行一次。
7.根据权利要求1所述的三维引擎结合JavaScript脚本引擎实现运行的方法,其特征在于,所述初始化程序完成后,由JavaScript代码驱动UE运行,并且JavaScript调用UE中的函数包括如下步骤:
通过JavaScript的实例调用JavaScript实例中的函数;
实例中的函数里拿到缓存的C++的类的实例的指针;
拿到指针调用到Node.js中;
Node.js中利用重载机制,将指针转换成C++封装的类;
Node.js中缓存JavaScript调用过程中的参数;
调用C++封装的类的中的Invoke接口,调取C++封装的类;
C++封装的类拿到Node.js中缓存的参数,并调用UE中的接口。
8.根据权利要求1所述的三维引擎结合JavaScript脚本引擎实现运行的方法,其特征在于,所述UE中函数回调JavaScript中的函数,实现数据传递与逻辑的调用包括如下步骤:
JavaScript先将函数传递给NodeJS.dll,NodeJS.dll封装成类传递给UE并缓存;
需要调用JavaScript的时候,UE先将参数缓存到Node.js中;
UE中拿到缓存类,调用到NodeJS.dll中,NodeJS.dll解封出JavaScript函数,拿到缓存在Node.js中的参数,将参数设置给JavaScript函数;
调用JavaScript中的函数。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述存储介质存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求1~8任一项所述的三维引擎结合JavaScript脚本引擎实现运行的方法。
10.一种电子设备,其特征在于,包括:处理器、存储器和总线;
所述总线用于连接所述处理器和所述存储器;
所述存储器用于存储操作指令;
所述处理器用于通过调用所述操作指令,执行上述权利要求1~8中任一项所述的三维引擎结合JavaScript脚本引擎实现运行的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110705239.9A CN113282357B (zh) | 2021-06-24 | 2021-06-24 | 三维引擎结合脚本引擎实现运行的方法、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110705239.9A CN113282357B (zh) | 2021-06-24 | 2021-06-24 | 三维引擎结合脚本引擎实现运行的方法、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113282357A true CN113282357A (zh) | 2021-08-20 |
CN113282357B CN113282357B (zh) | 2022-04-12 |
Family
ID=77285536
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110705239.9A Active CN113282357B (zh) | 2021-06-24 | 2021-06-24 | 三维引擎结合脚本引擎实现运行的方法、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113282357B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113918863A (zh) * | 2021-10-25 | 2022-01-11 | 北京优锘科技有限公司 | 虚幻引擎和Threejs引擎交互一致的方法、装置、介质和设备 |
CN116382681A (zh) * | 2023-02-16 | 2023-07-04 | 成都曾自科技有限公司 | 一种虚幻引擎布局开发的方法、装置、设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110134396A (zh) * | 2019-07-09 | 2019-08-16 | 南京唯实科技有限公司 | 一种基于Nodejs开发界面组件的开发框架及方法 |
CN112070871A (zh) * | 2020-09-02 | 2020-12-11 | 山东天兑信息科技有限公司 | 一种跨平台三维可视化引擎构建系统、方法、终端及储存介质 |
US20210021602A1 (en) * | 2019-07-15 | 2021-01-21 | Verizon Patent And Licensing Inc. | Systems and methods for inspection of the contents of an application programing interface request |
CN112288840A (zh) * | 2020-10-26 | 2021-01-29 | 北京优锘科技有限公司 | 一种三维渲染引擎结合JavaScript脚本引擎实现运行的方法 |
-
2021
- 2021-06-24 CN CN202110705239.9A patent/CN113282357B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110134396A (zh) * | 2019-07-09 | 2019-08-16 | 南京唯实科技有限公司 | 一种基于Nodejs开发界面组件的开发框架及方法 |
US20210021602A1 (en) * | 2019-07-15 | 2021-01-21 | Verizon Patent And Licensing Inc. | Systems and methods for inspection of the contents of an application programing interface request |
CN112070871A (zh) * | 2020-09-02 | 2020-12-11 | 山东天兑信息科技有限公司 | 一种跨平台三维可视化引擎构建系统、方法、终端及储存介质 |
CN112288840A (zh) * | 2020-10-26 | 2021-01-29 | 北京优锘科技有限公司 | 一种三维渲染引擎结合JavaScript脚本引擎实现运行的方法 |
Non-Patent Citations (2)
Title |
---|
JONATHAN RAHARDJO 等: "Combination of Hardware and Microservices-based VR Game Controller using Mahony Filter", 《2020 INTERNATIONAL SEMINAR ON APPLICATION FOR TECHNOLOGY OF INFORMATION AND COMMUNICATION (ISEMANTIC)》 * |
张冬寒;司占军: "基于WebGL技术的游戏设计与制作", 《电脑知识与技术》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113918863A (zh) * | 2021-10-25 | 2022-01-11 | 北京优锘科技有限公司 | 虚幻引擎和Threejs引擎交互一致的方法、装置、介质和设备 |
CN116382681A (zh) * | 2023-02-16 | 2023-07-04 | 成都曾自科技有限公司 | 一种虚幻引擎布局开发的方法、装置、设备及存储介质 |
CN116382681B (zh) * | 2023-02-16 | 2023-11-10 | 成都曾自科技有限公司 | 一种虚幻引擎布局开发的方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113282357B (zh) | 2022-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113282357B (zh) | 三维引擎结合脚本引擎实现运行的方法、设备及介质 | |
US8799885B2 (en) | Method and system for automated root-cause analysis for class loading failures in java | |
US7165170B2 (en) | System and method for firmware to export pre-boot data into the operating system runtime environment | |
US8739147B2 (en) | Class isolation to minimize memory usage in a device | |
CN111176626B (zh) | 跨编程语言的代码调用方法及装置、介质、设备 | |
US8756616B2 (en) | System and method for reducing the static footprint of mixed-language JAVA classes | |
JP2006525575A (ja) | ジャバマイクロデバイスにおけるジャバアプリケーションのデバッグ用の、オフデバイスクラス/リソースローディング方法、システム及びコンピュータプログラム製品 | |
CN108229148B (zh) | 一种基于Android虚拟机的沙箱脱壳方法及系统 | |
CN101482845B (zh) | 一种调用即时调试器的方法和系统 | |
US5970245A (en) | Method for debugging shared procedures contained in dynamic link library files | |
US20120174084A1 (en) | Method frame aggregation for latest user-defined class loader identification | |
CN110007926B (zh) | 语言转换方法及装置 | |
US20060161896A1 (en) | Performing debug requests that are within the debug domain of a class loader | |
US11599342B2 (en) | Pathname independent probing of binaries | |
CN113127329B (zh) | 脚本调试方法、装置及计算机存储介质 | |
CN116048731A (zh) | 代码处理方法、装置、电子设备及存储介质 | |
CN111309402A (zh) | 数据监测及针对应用程序的处理方法、装置及设备 | |
US5388263A (en) | Procedure state descriptor system for digital data processors | |
CN110673890B (zh) | 插件调用方法、系统、介质及装置 | |
US10114830B2 (en) | Lazy logger wrappers | |
CN111414270B (zh) | 一种异常处理方法及装置 | |
CN114721709A (zh) | 程序包生成方法、装置、存储介质及计算机设备 | |
CN110275710B (zh) | 一种Java本地接口一致性检查方法及系统、存储介质及终端 | |
CN114816445A (zh) | 系统平台架构、函数发布方法及装置、平台及存储介质 | |
CN116955177A (zh) | 针对切面模块生成测试用接口的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: Room 105, first floor, building 82, No. 10, Jiuxianqiao Road, Chaoyang District, Beijing 100015 Patentee after: Beijing Youhao Technology Co.,Ltd. Country or region after: China Address before: Room 105, first floor, building 82, No. 10, Jiuxianqiao Road, Chaoyang District, Beijing 100015 Patentee before: BEIJING YOUNUO TECHNOLOGY Co.,Ltd. Country or region before: China |