CN110659030B - Unity项目编译方法、系统、计算机设备及存储介质 - Google Patents

Unity项目编译方法、系统、计算机设备及存储介质 Download PDF

Info

Publication number
CN110659030B
CN110659030B CN201910899158.XA CN201910899158A CN110659030B CN 110659030 B CN110659030 B CN 110659030B CN 201910899158 A CN201910899158 A CN 201910899158A CN 110659030 B CN110659030 B CN 110659030B
Authority
CN
China
Prior art keywords
compiling
unity
item
command
parameters
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.)
Active
Application number
CN201910899158.XA
Other languages
English (en)
Other versions
CN110659030A (zh
Inventor
梁德刚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Zhongxue Technology Co ltd
Original Assignee
Shenzhen Zhongxue Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen Zhongxue Technology Co ltd filed Critical Shenzhen Zhongxue Technology Co ltd
Priority to CN201910899158.XA priority Critical patent/CN110659030B/zh
Publication of CN110659030A publication Critical patent/CN110659030A/zh
Application granted granted Critical
Publication of CN110659030B publication Critical patent/CN110659030B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种Unity项目编译方法、系统、计算机设备及存储介质,所述方法包括:接收开发人员输入的编译命令;当编译命令为本地编译命令时,使用命令行脚本,实现Unity项目的编译;当编译命令为远程编译命令时,通过版本控制服务器将Unity项目同步到远程计算机中,使用命令行脚本,调用远程计算机上的接口,实现Unity项目的编译;输出编译完成的可执行软件。本发明节省了本地和远程计算机资源,同时也提高了编译效率,方便开发人员进行快速迭代开发,本地编译和远程编译可以共用编译模板,命令行脚本调用的编译参数相同,方便开发人员在本地编译和远程编译之间进行无缝切换,极大地简化了编译过程。

Description

Unity项目编译方法、系统、计算机设备及存储介质
技术领域
本发明涉及一种Unity项目编译方法、系统、计算机设备及存储介质,属于Unity项目编译领域。
背景技术
Unity项目常用的编译方式包括使用Unity引擎自身的图形界面执行编译以及使用外部脚本调用Unity引擎进行编译两种。因Unity引擎编译参数众多,对于一些大型项目,编译过程耗时较长,编译操作的便利性和编译效率经常会对项目进展产生明显的影响。
Unity项目本地编译过程中,整个项目会处于锁定状态,无法执行任何其他操作。为减轻编译过程对本地开发工作的影响,规范编译流程,一般大型项目都会优先考虑使用统一的远程编译方案。
常见远程编译方案如Jenkins,需要搭建专门的基于JAVA JVM的WEB版本控制服务器来实现。因Jenkins是一个通用打包系统,针对Unity项目设置起来比较复杂;其使用基于JAVA JVM的实现方式,服务本身占用资源较多,致使版本控制服务器性受到一定的影响;客户端需要另起WEB浏览器进行操作,项目编译完成后还需要手工下载到客户端(或设置客户端服务,使用插件设置服务端推送到客户端等)。如上所述,实际操作起来极为繁琐且效率较低。
发明内容
有鉴于此,本发明提供了一种Unity项目编译方法、系统、计算机设备及存储介质,其可以克服上述现有技术中的不足之处,简化开发人员的操作,提高编译效率。
本发明的第一个目的在于提供一种Unity项目编译方法。
本发明的第二个目的在于提供一种Unity项目编译装置。
本发明的第三个目的在于提供一种计算机设备。
本发明的第四个目的在于提供一种存储介质。
本发明的第一个目的可以通过采取如下技术方案达到:
一种Unity项目编译方法,所述方法包括:
接收开发人员输入的编译命令;
当编译命令为本地编译命令时,使用命令行脚本,实现Unity项目的编译;
当编译命令为远程编译命令时,通过版本控制服务器将Unity项目同步到远程计算机中,使用命令行脚本,调用远程计算机上的接口,实现Unity项目的编译;
输出编译完成的可执行软件。
进一步的,所述实现Unity项目的编译,具体包括:
解析命令行脚本调用的编译参数;
根据解析的编译参数,判断命令行脚本调用的编译参数是否合法;
当判断编译参数合法时,解析编译参数中的编译模板,获取详细编译参数;
调用Unity引擎执行Unity项目的刷新;
调用Unity引擎执行Unity项目的编译。
进一步的,所述解析编译模板,获取详细编译参数,具体为:
根据编译参数中的编译模板,读取编译模板配置文件,获取详细编译参数。
进一步的,所述通过版本控制服务器将Unity项目同步到远程计算机中,具体为:
将最新版本的Unity项目推送给版本控制服务器,以使版本控制服务器将最新版本的Unity项目同步到远程计算机。
进一步的,所述输出编译完成的可执行软件,具体包括:
打开本地输出目录;
根据开发人员在本地输出目录中选择的输出位置,输出编译完成的可执行软件。
进一步的,所述命令行脚本调用的编译参数包括是否确认开始编译、编译模板、编译版本以及编译完成后是否立即运行。
进一步的,所述编译模板的指令包括debug、debug_pub、release、release_pub、debug64、release64、release64_pub、release_verbose、release_verbose64、release_loop_test、release_loop_test64以及release_webgl。
本发明的第二个目的可以通过采取如下技术方案达到:
一种Unity项目编译系统,所述系统包括:
接收模块,用于接收开发人员输入的编译命令;
本地编译模块,用于当编译命令为本地编译命令时,使用命令行脚本,实现Unity项目的编译;
远程编译模块,用于当编译命令为远程编译命令时,通过版本控制服务器将Unity项目同步到远程计算机中,使用命令行脚本,调用远程计算机上的接口,实现Unity项目的编译;
输出模块,用于输出编译完成的可执行软件。
本发明的第三个目的可以通过采取如下技术方案达到:
一种计算机设备,包括处理器以及用于存储处理器可执行程序的存储器,所述处理器执行存储器存储的程序时,实现上述的Unity项目编译方法。
本发明的第四个目的可以通过采取如下技术方案达到:
一种存储介质,存储有程序,所述程序被处理器执行时,实现上述的Unity项目编译方法。
本发明相对于现有技术具有如下的有益效果:
1、本发明可以根据开发人员输入的编译命令,实现Unity项目的本地编译,或是实现Unity项目的远程编译,在实现Unity项目的远程编译时,通过版本控制服务器将Unity项目同步到远程计算机中,然后调用远程计算机上的接口即可实现,与现有远程编译技术相比,无须开启专用web版本控制服务器,节省了本地和远程计算机资源,同时也提高了编译效率,方便开发人员进行快速迭代开发。
2、本发明的本地编译无须开启Unity引擎图形界面程序层层设置编译参数,转而使用编译模板获取编译参数,较大程度避免了在图形界面设置失误引发的问题,提高了编译效率;本地编译和远程编译可以共用编译模板,命令行脚本调用的编译参数相同,方便开发人员在本地编译和远程编译之间进行无缝切换,极大地简化了编译过程;无须在本地计算机开启专用服务,即可将远程编译完成的可执行软件自动下载到本地计算机;本地编译和远程编译输出的可执行软件,可根据设置的编译参数自动运行,方便开发人员进行后续测试工作。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。
图1为本发明实施例1的Unity项目编译方法的流程图。
图2为本发明实施例1的实现Unity项目的编译的流程图。
图3为本发明实施例1的本地计算机与远程计算机的Unity项目同步示意图。
图4为本发明实施例1的输出编译完成的可执行软件的流程图。
图5为本发明实施例2的Unity项目编译系统的结构框图。
图6为本发明实施例2的输出模块的结构框图。
图7为本发明实施例3的计算机设备的结构框图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1:
如图1所示,本实施例提供了一种,该方法应用于本地计算机,包括以下步骤:
S101、接收开发人员输入的编译命令。
编译命令包括本地编译命令和远程编译命令,开发人员输入编译命令的方式可以是打开编译命令选择界面,该界面上具有本地编译和远程编译的虚拟按钮,利用键盘和鼠标点击虚拟按钮,即可选择本地编译或远程编译,输入编译命令的方式还可以是通过设置一个专用编译键盘,该键盘上具有本地编译和远程编译的按键,通过按下按键,即可选择本地编译或远程编译。
开发人员可以根据需要选择本地编译或远程编译,若开发人员选择本地编译,本地计算机接收开发人员输入的本地编译命令,进入步骤S102;若开发人员选择远程编译,,本地计算机接收开发人员输入的远程编译命令,进入步骤S103。
S102、使用命令行脚本,实现Unity项目的编译。
在该步骤S102中,命令行脚本指的是能运行于Cygwin/MSYS/Git Bash/LinuxShell/MacOS Terminal等执行环境、由运行环境所支持的命令行组成的文件,脚本预留外部调用接口,方便对编译过程进行功能扩充;Unity项目指的是基于Unity Technologies公司研发的跨平台2D/3D引擎(即Unity)所开发的项目;实现Unity项目的编译指的是将Unity项目资源文件(如模型/场景/动画/声音等)打包,编译源代码,最终生成独立可执行软件的过程。
对于本地编译,使用命令行脚本build.sh,即其文件名为build.sh,命令行脚本build.sh调用的编译参数格式如下:
./build.sh confirm buildTarget|alias[buildVersion[:versionOptions]][runIt]
参数说明如下:
confirm:是否确认开始编译,取值y或n。
buildTarget|alias:编译模板,取值决定于预设的模板名/别名,如debug、release、debug64、release64、release_pub、release64_pub等,编译模板可根据需要不断增加,编译模板的的部分指令表如下表1所示。
buildVersion[:versionOptions]:编译版本,为使用的编译方式的版本,取值为v1、v2、v2:res等。
runIt:编译完成后是否立即运行,取值r或空。
Figure BDA0002211242620000051
表1编译模板的部分指令表
在该步骤S102中,实现Unity项目的编译如图2所示,具体包括:
S1021、解析命令行脚本调用的编译参数。
具体地,解析命令行脚本调用的编译参数的2-4个参数,即confirm、buildTarget|alias、buildVersion[:versionOptions]和runIt中的2-4个参数,赋值到对应的变量。
S1022、根据解析的编译参数,判断命令行脚本调用的编译参数是否合法。
具体地,确定参数的合法性,若不合法,则直接退出,并提示参数错误,若合法,则进入步骤S1023。
S1023、解析编译参数中的编译模板,获取详细编译参数。
具体地,根据编译模板buildTarget|alias,读取编译模板配置文件build.xml,获取详细编译参数,build.xml部分内容如下:
Figure BDA0002211242620000061
S1024、调用Unity引擎执行Unity项目的刷新。
执行Unity项目的刷新,核心代码片段为:"$unityExec"-batchmode-quit-logFile$logfile-nographics-noUpm-projectPath"$projectUnityDir"-executeMethodZXPCBuilder.SyncProjectSettings$buildTarget
ZXPCBuilder.SyncProjectSettings()核心代码片段如下:
Figure BDA0002211242620000062
S1025、调用Unity引擎执行Unity项目的编译。
执行Unity项目的编译,核心代码片段为:"$unityExec"-batchmode-quit-logFile$logfile-nographics-noUpm-projectPath"$projectUnityDir""$outputExec"-executeMethod ZXPCBuilder.PerformBuild$buildTarget
ZXPCBuilder.PerformBuild()核心代码片段如下:
BuildPipeline.BuildPlayer(scenes,outputExec,target,options);
在编译完成后,进入步骤S104。
S103、通过版本控制服务器将Unity项目同步到远程计算机中,使用命令行脚本,调用远程计算机上的接口,实现Unity项目的编译。
对于远程编译,使用命令行脚本r_build.sh,即其文件名为r_build.sh,命令行脚本r_build.sh调用的编译参数格式如下:
./r_build.sh confirm buildTarget|alias[buildVersion[:versionOptions]][runIt]
如图3所示,本地计算机将最新版本的Unity项目推送给版本控制服务器,远程计算机通过取回操作,使版本控制服务器将最新版本的Unity项目同步到远程计算机;其中,版本控制服务器可以采用集中式版本控制服务器如CVS、SVN等,也可以采用分布式版本控制服务器如Git、Mercurial等。
本实施例以SSH远程调用、版本控制服务器使用Git为例,对远程实现Unity项目的编译进行说明,如下:
1)远程计算机配置SSH服务器远程调用环境,本地计算机配置SSH免密登录;
2)远程计算机配置Unity引擎,至少确保和本地计算机版本一致;
3)项目同步:本地计算机使用git push操作将最新版本的Unity项目推送到版本控制服务器,r_build.sh使用git pull操作同步最新版本的Unity项目到远程计算机。
4)编译完成后,自动下载编译完成的可执行软件到本地计算机,其采用SSH实时压缩传送方式,核心代码片段如下:
ssh-p$port$user@$server"tar-czf--C$s_exeDir_parent$s_exeDir_base"|tar-xzf--C$buildDir
5)远程编译的其他部分,与本地编译相同,均由r_build.sh调用build.sh自动完成。
S104、输出编译完成的可执行软件。
该步骤S104如图4所示,具体包括:
S1041、打开本地输出目录。
编译完成后,命令行脚本自动打开本地输出目录,核心代码片段如下:
Figure BDA0002211242620000071
Figure BDA0002211242620000081
S1042、根据开发人员在本地输出目录中选择的输出位置,输出编译完成的可执行软件。
本实施例在输出编译完成的可执行软件后,根据设置的编译参数,若runIt为r,则自动运行编译完成的可执行软件,方便开发人员进行后续测试工作,若runIt为空,则结束操作,核心代码片段如下:
Figure BDA0002211242620000082
本领域技术人员可以理解,实现上述实施例的方法中的全部或部分步骤可以通过程序来指令相关的硬件来完成,相应的程序可以存储于计算机可读存储介质中。
应当注意,尽管在附图中以特定顺序描述了上述实施例的方法操作,但是这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。相反,描绘的步骤可以改变执行顺序。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
实施例2:
如图5所示,本实施例提供了一种Unity项目编译系统,该系统应用于本地计算机,包括接收模块501、本地编译模块502、远程编译模块503和输出模块504,各个模块的具体功能如下:
所述接收模块501,用于接收开发人员输入的编译命令。
所述本地编译模块502,用于当编译命令为本地编译命令时,使用命令行脚本,实现Unity项目的编译。
所述远程编译模块503,用于当编译命令为远程编译命令时,通过版本控制服务器将Unity项目同步到远程计算机中,使用命令行脚本,调用远程计算机上的接口,实现Unity项目的编译。
所述输出模块504,用于输出编译完成的可执行软件。
进一步地,如图6所示,所述输出模块504,具体包括:
打开单元5041,用于打开本地输出目录。
输出单元5012,用于根据开发人员在本地输出目录中选择的输出位置,输出编译完成的可执行软件。
本实施例中各个模块的具体实现可以参见上述实施例1,在此不再一一赘述;需要说明的是,本实施例提供的装置仅以上述各功能模块的划分进行举例说明,在实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
实施例3:
本实施例提供了一种计算机设备,该计算机设备为上述实施例1所述的本地计算机,如图7所示,其通过系统总线701连接的处理器702、存储器、输入装置703、显示器704和网络接口705,该处理器用于提供计算和控制能力,该存储器包括非易失性存储介质706和内存储器707,该非易失性存储介质706存储有操作系统、计算机程序和数据库,该内存储器707为非易失性存储介质中的操作系统和计算机程序的运行提供环境,处理器702执行存储器存储的计算机程序时,实现上述实施例1的Unity项目编译方法,如下:
接收开发人员输入的编译命令;
当编译命令为本地编译命令时,使用命令行脚本,实现Unity项目的编译;
当编译命令为远程编译命令时,通过版本控制服务器将Unity项目同步到远程计算机中,使用命令行脚本,调用远程计算机上的接口,实现Unity项目的编译;
输出编译完成的可执行软件。
进一步地,所述实现Unity项目的编译,具体包括:
解析命令行脚本调用的编译参数;
根据解析的编译参数,判断命令行脚本调用的编译参数是否合法;
当判断编译参数合法时,解析编译参数中的编译模板,获取详细编译参数;
调用Unity引擎执行Unity项目的刷新;
调用Unity引擎执行Unity项目的编译。
进一步地,所述解析编译模板,获取详细编译参数,具体为:
根据编译参数中的编译模板,读取编译模板配置文件,获取详细编译参数。
进一步地,所述通过版本控制服务器将Unity项目同步到远程计算机中,具体为:
将最新版本的Unity项目推送给版本控制服务器,以使版本控制服务器将最新版本的Unity项目同步到远程计算机。
进一步地,所述输出编译完成的可执行软件,具体包括:
打开本地输出目录;
根据开发人员在本地输出目录中选择的输出位置,输出编译完成的可执行软件。
实施例4:
本实施例提供了一种存储介质,该存储介质为计算机可读存储介质,其存储有计算机程序,所述计算机程序被处理器执行时,实现上述实施例1的Unity项目编译方法,如下:
接收开发人员输入的编译命令;
当编译命令为本地编译命令时,使用命令行脚本,实现Unity项目的编译;
当编译命令为远程编译命令时,通过版本控制服务器将Unity项目同步到远程计算机中,使用命令行脚本,调用远程计算机上的接口,实现Unity项目的编译;
输出编译完成的可执行软件。
进一步地,所述实现Unity项目的编译,具体包括:
解析命令行脚本调用的编译参数;
根据解析的编译参数,判断命令行脚本调用的编译参数是否合法;
当判断编译参数合法时,解析编译参数中的编译模板,获取详细编译参数;
调用Unity引擎执行Unity项目的刷新;
调用Unity引擎执行Unity项目的编译。
进一步地,所述解析编译模板,获取详细编译参数,具体为:
根据编译参数中的编译模板,读取编译模板配置文件,获取详细编译参数。
进一步地,所述通过版本控制服务器将Unity项目同步到远程计算机中,具体为:
将最新版本的Unity项目推送给版本控制服务器,以使版本控制服务器将最新版本的Unity项目同步到远程计算机。
进一步地,所述输出编译完成的可执行软件,具体包括:
打开本地输出目录;
根据开发人员在本地输出目录中选择的输出位置,输出编译完成的可执行软件。
本实施例中所述的存储介质可以是磁盘、光盘、计算机存储器、随机存取存储器(RAM,Random Access Memory)、U盘、移动硬盘等介质。
综上所述,本发明可以根据开发人员输入的编译命令,实现Unity项目的本地编译,或是实现Unity项目的远程编译,在实现Unity项目的远程编译时,通过版本控制服务器将Unity项目同步到远程计算机中,然后调用远程计算机上的接口即可实现,与现有远程编译技术相比,无须开启专用web版本控制服务器,节省了本地和远程计算机资源,同时也提高了编译效率,方便开发人员进行快速迭代开发;此外,本发明的本地编译无须开启Unity引擎图形界面程序层层设置编译参数,转而使用编译模板获取编译参数,较大程度避免了在图形界面设置失误引发的问题,提高了编译效率;本地编译和远程编译可以共用编译模板,命令行脚本调用的编译参数相同,方便开发人员在本地编译和远程编译之间进行无缝切换,极大地简化了编译过程;无须在本地计算机开启专用服务,即可将远程编译完成的可执行软件自动下载到本地计算机;本地编译和远程编译输出的可执行软件,可根据设置的编译参数自动运行,方便开发人员进行后续测试工作。
以上所述,仅为本发明专利较佳的实施例,但本发明专利的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明专利所公开的范围内,根据本发明专利的技术方案及其发明构思加以等同替换或改变,都属于本发明专利的保护范围。

Claims (7)

1.一种Unity项目编译方法,其特征在于,所述方法包括:
接收开发人员输入的编译命令;
当编译命令为本地编译命令时,使用命令行脚本,实现Unity项目的编译;
当编译命令为远程编译命令时,通过版本控制服务器将Unity项目同步到远程计算机中,使用命令行脚本,调用远程计算机上的接口,实现Unity项目的编译;
输出编译完成的可执行软件;
所述实现Unity项目的编译,具体包括:
解析命令行脚本调用的编译参数;
根据解析的编译参数,判断命令行脚本调用的编译参数是否合法;
当判断编译参数合法时,解析编译参数中的编译模板,获取详细编译参数,具体为:根据编译参数中的编译模板,读取编译模板配置文件,获取详细编译参数;
调用Unity引擎执行Unity项目的刷新;
调用Unity引擎执行Unity项目的编译;
所述通过版本控制服务器将Unity项目同步到远程计算机中,具体为:
将最新版本的Unity项目推送给版本控制服务器,以使版本控制服务器将最新版本的Unity项目同步到远程计算机;
所述命令行脚本的文件名为build.sh,调用的编译参数格式如下:
./build.sh confirm buildTarget|alias[buildVersion[:versionOptions]][runIt];
confirm表示是否确认开始编译,取值y或n;
buildTarget|alias表示编译模板,取值决定于预设的模板名/别名;
buildVersion[:versionOptions]表示编译版本,为使用的编译方式的版本;
runIt表示编译完成后是否立即运行,取值y或n。
2.根据权利要求1所述的Unity项目编译方法,其特征在于,所述输出编译完成的可执行软件,具体包括:
打开本地输出目录;
根据开发人员在本地输出目录中选择的输出位置,输出编译完成的可执行软件。
3.根据权利要求1-2任一项所述的Unity项目编译方法,其特征在于,所述命令行脚本调用的编译参数包括是否确认开始编译、编译模板、编译版本以及编译完成后是否立即运行。
4.根据权利要求3所述的Unity项目编译方法,其特征在于,所述编译模板的指令包括debug、debug_pub、release、release_pub、debug64、release64、release64_pub、release_verbose、release_verbose64、release_loop_test、release_loop_test64以及release_webgl。
5.一种Unity项目编译系统,其特征在于,所述系统包括:
接收模块,用于接收开发人员输入的编译命令;
本地编译模块,用于当编译命令为本地编译命令时,使用命令行脚本,实现Unity项目的编译;
远程编译模块,用于当编译命令为远程编译命令时,通过版本控制服务器将Unity项目同步到远程计算机中,使用命令行脚本,调用远程计算机上的接口,实现Unity项目的编译;
输出模块,用于输出编译完成的可执行软件;
所述实现Unity项目的编译,具体包括:
解析命令行脚本调用的编译参数;
根据解析的编译参数,判断命令行脚本调用的编译参数是否合法;
当判断编译参数合法时,解析编译参数中的编译模板,获取详细编译参数,具体为:根据编译参数中的编译模板,读取编译模板配置文件,获取详细编译参数;
调用Unity引擎执行Unity项目的刷新;
调用Unity引擎执行Unity项目的编译;
所述通过版本控制服务器将Unity项目同步到远程计算机中,具体为:
将最新版本的Unity项目推送给版本控制服务器,以使版本控制服务器将最新版本的Unity项目同步到远程计算机;
所述命令行脚本的文件名为build.sh,调用的编译参数格式如下:
./build.sh confirm buildTarget|alias[buildVersion[:versionOptions]][runIt];
confirm表示是否确认开始编译,取值y或n;
buildTarget|alias表示编译模板,取值决定于预设的模板名/别名;
buildVersion[:versionOptions]表示编译版本,为使用的编译方式的版本;
runIt表示编译完成后是否立即运行,取值y或n。
6.一种计算机设备,包括处理器以及用于存储处理器可执行程序的存储器,其特征在于,所述处理器执行存储器存储的程序时,实现权利要求1-4任一项所述的Unity项目编译方法。
7.一种存储介质,存储有程序,其特征在于,所述程序被处理器执行时,实现权利要求1-4任一项所述的Unity项目编译方法。
CN201910899158.XA 2019-09-23 2019-09-23 Unity项目编译方法、系统、计算机设备及存储介质 Active CN110659030B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910899158.XA CN110659030B (zh) 2019-09-23 2019-09-23 Unity项目编译方法、系统、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910899158.XA CN110659030B (zh) 2019-09-23 2019-09-23 Unity项目编译方法、系统、计算机设备及存储介质

Publications (2)

Publication Number Publication Date
CN110659030A CN110659030A (zh) 2020-01-07
CN110659030B true CN110659030B (zh) 2023-07-14

Family

ID=69038860

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910899158.XA Active CN110659030B (zh) 2019-09-23 2019-09-23 Unity项目编译方法、系统、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN110659030B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111917852A (zh) * 2020-07-23 2020-11-10 上海珀立信息科技有限公司 基于Unity的多人网络同步系统及开发方法
CN112685035B (zh) * 2020-12-25 2024-05-17 京东科技控股股份有限公司 项目开发方法及装置、计算机可读存储介质、电子设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1885264A (zh) * 2005-06-21 2006-12-27 国际商业机器公司 用于嵌入式系统的软件包构建方法和系统
CN102520952A (zh) * 2011-12-14 2012-06-27 北京佳讯飞鸿电气股份有限公司 软件代码版本自动构建及发布方法
CN102609354A (zh) * 2012-01-19 2012-07-25 北京神州数码思特奇信息技术股份有限公司 一种基于gnu开源软件的c++程序远程调试方法
CN108469957A (zh) * 2018-03-08 2018-08-31 平安科技(深圳)有限公司 应用打包上传方法、装置、计算机设备及存储介质
CN108984171A (zh) * 2018-05-30 2018-12-11 福建天泉教育科技有限公司 基于Unity3D的场景持续构建方法、存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100485636C (zh) * 2006-04-24 2009-05-06 华为技术有限公司 一种基于模型驱动进行电信级业务开发的调试方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1885264A (zh) * 2005-06-21 2006-12-27 国际商业机器公司 用于嵌入式系统的软件包构建方法和系统
CN102520952A (zh) * 2011-12-14 2012-06-27 北京佳讯飞鸿电气股份有限公司 软件代码版本自动构建及发布方法
CN102609354A (zh) * 2012-01-19 2012-07-25 北京神州数码思特奇信息技术股份有限公司 一种基于gnu开源软件的c++程序远程调试方法
CN108469957A (zh) * 2018-03-08 2018-08-31 平安科技(深圳)有限公司 应用打包上传方法、装置、计算机设备及存储介质
CN108984171A (zh) * 2018-05-30 2018-12-11 福建天泉教育科技有限公司 基于Unity3D的场景持续构建方法、存储介质

Also Published As

Publication number Publication date
CN110659030A (zh) 2020-01-07

Similar Documents

Publication Publication Date Title
US11023834B2 (en) Collaborative design systems, apparatuses, and methods
US11188310B2 (en) Automatically generating an interface description in an interface description language
US20230236809A1 (en) Ios application program construction method and apparatus, electronic device, and storage medium
US20060212842A1 (en) Rich data-bound application
US10628128B2 (en) Discovery and modeling of deployment actions for multiple deployment engine providers
US10545736B1 (en) Conversion of interpretive language functions into web applications or services
CN110659030B (zh) Unity项目编译方法、系统、计算机设备及存储介质
CN108279882B (zh) 框架生成方法、装置、设备及计算机可读介质
CN113515278A (zh) 低代码模型处理方法、系统、电子设备及存储介质
CN111104103A (zh) 一种软件编辑微服务的可视化方法及系统
US11379188B2 (en) Plugin-oriented functional programming system configured with software components
KR101350798B1 (ko) 오프로스 플랫폼에 기반하여 제어되는 로봇 시스템 및 그 로봇 제어방법
CN111506368B (zh) 对异步调用转同步调用的方法、装置、设备及存储介质
CN112256258A (zh) 微服务编排自动代码生成方法及系统
CN114912897A (zh) 工作流执行方法、工作流编排方法及电子设备
US20200110584A1 (en) Automated code generation for functional testing of software applications
CN112068879B (zh) 基于配置化的客户端应用程序开发框架构建方法及装置
CN112256247A (zh) 模块组件的依赖处理方法、装置、计算机设备及存储介质
CN113590179B (zh) 插件检测方法、装置、电子设备及存储介质
US9389838B2 (en) Method for creating a computer software compiler for client server computing
CN112685051A (zh) 自动执行shell脚本的方法、装置、平台及存储介质
CN114115973A (zh) 一种在Unity中读取SVN文本的方法及终端
US20210271458A1 (en) Managing an app method and system
US20230068410A1 (en) Integrated application platform to implement widgets
US20220342644A1 (en) Branching and merging in a design interface

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