7个版本 (破坏性更新)
0.5.0 | 2020年6月1日 |
---|---|
0.4.0 | 2020年3月4日 |
0.3.1 | 2020年2月4日 |
0.3.0 | 2020年1月31日 |
0.0.0 | 2019年10月15日 |
#1925 in 游戏开发
155KB
2.5K SLoC
Tarmac
Tarmac是Roblox项目的资源编译器和资产管理器。它可以帮助使用像Rojo这样的工具时实现自包含的地方构建。
Tarmac受到像Webpack这样的项目的启发,这些项目使得从代码中引用资产变得很容易。
安装
使用Foreman安装
推荐使用Foreman来安装Tarmac。
将条目添加到你的foreman.toml
文件的[tools]
部分
foreman = { source = "rojo-rbx/tarmac", version = "0.5.0" }
从GitHub发行版安装
从GitHub发行版页面可以获得64位Windows、macOS和Linux的预构建二进制文件。
从源代码安装
Tarmac需要Rust 1.39.0或更高版本来构建。
您可以从crates.io构建Tarmac的最新版本
cargo install tarmac
或从master分支构建最新的工作版本
cargo install --git https://github.com/rojo-rbx/tarmac
基本示例
示例文件夹包含使用Tarmac的不同功能的小型、可工作的项目。
Tarmac通过项目根目录中名为tarmac.toml
的TOML文件进行配置。Tarmac使用此文件来确定查找资产的位置以及如何处理它们。
要告诉Tarmac管理名为assets
的文件夹中的PNG文件,可以使用
name = "basic-tarmac-example"
# Most projects will define some 'inputs'.
# This tells Tarmac where to find assets that we'll use in our game.
[[inputs]]
glob = "assets/**/*.png"
codegen = true
codegen-path = "src/assets.lua"
codegen-base-path = "assets"
运行tarmac sync --target roblox
让Tarmac上传项目依赖的任何新或更新的资产。您可能需要通过--auth
参数显式地通过.ROBLOSECURITY
cookie传递。
Tarmac将在src/assets.lua
中生成Lua代码,如下所示
-- This file was @generated by Tarmac. It is not intended for manual editing.
return {
foo = {
bar = "rbxassetid://238549023",
baz = "rbxassetid://238549024",
}
}
这些文件将由工具(如Rojo)转换成 ModuleScript
实例。从那里,就可以轻松加载此模块并引用其中的资源。
local assets = require(script.Parent.assets)
local decal = Instance.new("Decal")
decal.Texture = assets.foo.bar
命令行界面
获取更多信息,请运行 tarmac --help
。
全局选项
这些选项可以与任何子命令一起指定,并且都是可选的。
--help
,-h
- 打印有关 Tarmac 的帮助信息并退出。
--version
,-V
- 打印有关 Tarmac 的版本信息并退出。
--auth<cookie>
- 明确指定 Tarmac 用于与 Roblox 通信的认证 cookie。
- 如果没有指定,Tarmac 将尝试从本地系统找到它。
--verbose
,-v
- 启用更详细的日志记录。可以指定多达三次,这将进一步增加详细程度。
tarmac sync
检测本地项目中资源的更改,并尝试与外部服务(如 Roblox 云)同步。
用法
tarmac sync [<config-path>] \
--target <roblox|debug|none>
要将当前工作目录中的项目与 Roblox 云同步,请使用
tarmac sync --target roblox
要验证所有输入是否已同步,请使用 none
目标
tarmac sync --target none
tarmac upload-image
上传单个图像作为贴图并打印生成的图像资源的 ID 到 stdout。
用法
tarmac upload-image <image-path> \
--name <asset-name> \
--description <asset-description>
示例
tarmac upload-image foo.png --name "Foo" --description "Foo is a placeholder name."
tarmac help
打印有关 Tarmac 本身或给定子命令的帮助信息。
用法
tarmac help [<subcommand>]
项目格式
name
,字符串- Tarmac 项目的名称,用于日志记录和错误报告。
max-spritesheet-size
,(int, int),可选- Tarmac 应使用的最大精灵表大小。默认为 (1024, 1024),Roblox 支持的最大图像大小。
asset-cache-path
,路径,可选- 如果定义,Tarmac 将重新下载上传的图像到给定路径的本地文件夹。与项目中的资源不相关的文件夹中的文件将被删除。
asset-list-path
,路径,可选- 如果定义,Tarmac 将将项目中使用的资产 URL 列表写入给定文件。每行打印一个 URL。
upload-to-group-id
,整数,可选- 如果定义,Tarmac 将尝试将所有资产上传到指定的 Roblox Group。如果无法完成,同步将失败。
inputs
,list<InputConfig>,可选- 输入列表,Tarmac 将处理这些输入。
includes
,list<path>,可选- 要递归搜索以找到额外项目的额外路径列表。发现的项目的输入将被合并到该项目中,其他设置将被忽略。
- 当找到
tarmac.toml
文件时,Tarmac 将包括它及其 includes 并停止遍历该目录。
InputConfig
glob
- 应包含此输入组任何文件的路径 glob。
- Tarmac 使用 globset 库 并支持它支持的任何语法。
codegen
,布尔值,可选- 是否应生成包含在此输入组中的资产的 Lua 代码。默认为 false。
codegen-path
,路径,可选- 如果定义且
codegen
为 true,Tarmac 将将此输入组的所有生成的 Lua 代码合并到单个文件中。
- 如果定义且
codegen-base-path
,路径,可选- 当同时定义了
codegen-path
时,定义生成 Lua 代码的基本路径。默认为 包含tarmac.toml
的目录。
- 当同时定义了
许可证
Tarmac 在 MIT 许可证下可用。有关详细信息,请参阅 LICENSE.txt。
依赖项
~26–38MB
~680K SLoC