Unity3D的项目和包管理器

upkit的Python项目详细描述


Upkit-Unity3D项目/包工具包

upkit是一个命令行工具包,可帮助创建/组织Unity3D项目。使用一个简单的配置文件,upkit会自动解析项目依赖项,符号链接它们,并为您生成一个随时可用的unity项目。

对于那些匆忙的人,请前往Getting Started查看upkit正在运行。

你为什么要用它?

我们的用例

如果您和我们一样,在开发Unity项目时需要这些:

  • 将第三方资产、插件、依赖项与您的资产/代码完全分离,以减少项目规模。
  • 快速的包交换为原型和生产。
  • 简单的依赖解析,从nuget或git存储库,或其他地方。
  • 配置简单。
< H3>现有工具的限制< EH3>

乍一看,upkit与projeny有一些相似之处,projeny是我们团队中经常使用的一个很好的工具。然而,由于projeny模型强加了一个扁平的、独占的包层次结构,现成的包通常不能很好地协同工作。例如,具有相同本机库文件夹Plugins/Android的两个包将发生冲突。即使没有名称冲突,unity兼容的nuget包有时也不容易链接。

Unity 2018正式配备了一个易于使用的内置包管理器。但是,在撰写本文时,除了来自unity technologies的包外,大多数资产存储包在包管理器中仍然不可用。当前包管理器的另一个缺点是,我们不能将其用于内部跨项目包。这意味着,大多数时候,我们必须回到传统的方法。

upkit解决了这些问题,并添加了更多技巧

upkit最初是作为我们解决上述限制的解决方案而设计的,它是一个位于nuget(依赖项解决步骤)和projeny(项目链接步骤)之间的工具。随着项目的发展,我们决定通过将这两个步骤组合成upkit来简化整个过程,通过添加以下功能使其更易于使用:

  • 单(yaml)文件配置,用于相关性解析、链接等。
  • 使用linkspec链接任何内容—确定如何将文件夹、文件链接到Unity项目。
  • 创建可分发包(使用linkspec)。
  • 对nuget和git依赖项的开箱即用支持。

开始

这些说明将使用upkit创建一个简单的Unity3D项目,该项目依赖于NuGet Gallery上的newtonsoft.json。

此项目的源代码也可以在^{}下找到。

先决条件

  • python 2.7或更高版本,带有pip
  • (可选)nuget用于解析nuget依赖项。
  • (可选)git用于解析git依赖项。

安装

$ pip install upkit

步骤1:创建upkit项目

创建新的upkit项目非常简单:

$ upkit create-package simple-app

步骤2:编辑upkit配置文件upkit.yaml

upkit将创建一个名为simple-app的新文件夹,您可以在其中找到upkit.yaml。此文件包含upkit创建unity项目所需的所有信息。现在,修改它让upkit知道项目将依赖于NewtonSoft.Json

# upkit.yamlparams:project:'{{__dir__}}/project'links:-target:'{{__assets__}}'source:'{{__dir__}}/assets'content:['*']-target:'{{__plugins__}}'source:'{{__dir__}}/plugins'content:['*']-target:'{{__project__}}/ProjectSettings'source:'{{__dir__}}/settings'-target:'{{__project__}}/Packages'source:'{{__dir__}}/packages'# Add project dependencies here: -source:'nuget:Newtonsoft.Json@11.0.2#lib/net35'target:'{{__plugins__}}/Newtonsoft.Json'

注意最后第二行,我们指示upkit使用nuget:方案解析nuget库。是的,就这么简单!

步骤3:链接创建Unity项目

最后一步是通过调用:

$ cd simple-app 
$ upkit link 

upkit需要几秒钟的时间来解析项目的依赖关系,并在simple-app/project下生成一个unity项目。在unity中作为一个项目打开文件夹,就可以开始了。

文档

转到Project documentation

作者

许可证

这个项目是在麻省理工学院的许可下授权的-详细信息请参见LICENSE.md文件

致谢

  • 此工具在引擎盖下使用xmltodictpyyamlyamlordereddictloaderjinja2。感谢尊敬的作者的辛勤工作。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java线程执行器服务   aspose如何通过java获得单词bookmark之前的所有文本内容?   一对一映射的java Hibernate合并问题   java SOAP XSD根元素问题   java如何保护我的Spring启动API   java使用GeoJson向google地图添加标记   java安卓:在SQLite中没有这样的列   java STS 2.8.0 StartExplorer/Legacy插件安装问题   java如何以编程方式获取AppBar高度?   在Java中将BigDecimal添加到BigDecimal   java不支持ntdll。dll是windows xp和windows vista的标准配置吗?   内容类型为application/xwwwformurlencoded的java Http Put请求在Spring中不起作用   java在数组中计算工资并返回答案   java数字/货币格式   elasticsearch java api中的弹性搜索查询