#asset-manager #roblox #assets #local #path #projects #runway

app runway-rbx

Roblox 项目的资产管理器

5 个版本

0.2.0 2023 年 9 月 19 日
0.1.3 2023 年 7 月 22 日
0.1.2 2023 年 7 月 22 日
0.1.1 2023 年 7 月 21 日
0.1.0 2023 年 7 月 20 日

游戏 分类中排名 199

Download history 12/week @ 2024-07-07 66/week @ 2024-07-28

每月下载次数 78

MIT 许可证

89KB
2K SLoC

Runway

Runway 是 Roblox 项目的资源上传工具。

它将项目中的路径映射到资源字符串,并支持使用 Open Cloud 快速本地开发或上传。

Runway 从 Tarmac 中借鉴,但并不执行其所有资源编译(特别是精灵表打包和 DPI 缩放)。相反,Runway 的输入/输出应该是简单且可靠的,以便在它们之上构建其他工具。

Runway 将所有具有透明度的 png 资源应用 alpha 渲染。

安装

安装 Aftman,然后向 [tools] 部分的 aftman.toml 添加条目

runway = "hazelmeow/[email protected]"

从版本发布

预构建的二进制文件可在 此处 获取。

从源代码

克隆仓库并运行

cargo install --path .

用法

配置

Runway 通过位于项目根目录的 runway.toml 文件进行配置。runway.toml 中的路径应相对于项目根目录。

配置文件需要一个名称,并可以有任意数量的目标、输入和代码生成输出。最小(有用)的配置是一个名称和每个之一

name = "my-project"

[[target]]
type = "local"

[[input]]
glob = "assets/**/*.png"

[[codegen]]
format = "lua"
path = "src/assets.lua"

使用此配置,我们可以运行 runway sync --target local 使我们的图像可通过 Studio 使用 assets.lua 中列出的资源字符串访问。

输入 glob 使用 .gitignore 的语法。您可以通过添加另一个 [[input]] 部分来添加另一个 glob。

要使用 Open Cloud API 将资产上传到 Roblox,请使用 roblox 目标类型。同步到 Roblox 需要 --api-key 以及 --user-id--group-id 之一。我们还可以为每个目标提供一个键,该键由 --target 参数使用,并用于上传状态。

[[target]]
key = "production"
type = "roblox"

Runway 可以以 jsonluatsd.ts 文件格式输出资产路径。您可以通过添加更多 [codegen] 部分 来指定多个输出。每个输出都有一些附加选项

[[codegen]]
format = "ts"
path = "src/assets.ts"

flatten = false # Defaults to false, makes the output map flat instead of nesting by path
strip_prefix = "assets" # Defaults to none, removes leading path from output map
strip_extension = true # Defaults to true, removes extension from output map

状态

同步将生成包含上传资产 ID 和其内容哈希的 runway-state.tomlrunway-state.local.toml 文件,以检测更改。

本地状态文件不应提交到版本控制。Roblox 状态文件对于跳过上传未更改的 Roblox 资产很有用。

本地同步还会创建一个包含本地同步资产副本的 .runway 目录。此文件夹不应提交,并且可以随时安全删除。

全局选项

  • -h--help-V--version
    • 你认为呢
  • -v--verbose
    • 显示更多详细信息。使用两次以获得更多详细程度
  • -q--quiet
    • 显示较少的输出
  • -t--target <key>
    • 如果未指定键,则为目标的键或类型
  • -c--config [<path>]
    • 包含配置的文件或目录的路径
    • 默认为当前目录

同步到 Roblox

这些选项也可以从列出的环境变量中读取。

  • -a--api-key <key>RUNWAY_API_KEY=
  • -u--user-id <id>RUNWAY_USER_ID=
    • 上传时使用的用户 ID
  • -g--group-id <id>RUNWAY_GROUP_ID=
    • 上传时使用的组 ID

runway sync

查找与配置的输入匹配的文件,并将更改的资产同步到指定的目标,然后生成配置的输出。

示例

runway sync --target local
runway sync --target roblox --api-key <key> --user-id <id>

附加选项

  • -f--force
    • 跳过检查文件是否已更改,并同步所有内容

runway watch

监视项目的新/更改的输入,并自动运行同步过程。

runway codegen

读取先前状态并生成输出而不同步。

支持的资产类型

有关详细信息,请参阅 Open Cloud 资产文档

bmptga 图像似乎无法正常工作。模型尚未经过测试。

扩展 本地 Roblox
.png
.jpg
.jpeg
.bmp
.tga
.mp3 是[^1]
.ogg 是[^1]
.fbx ? ?

[^1]: 由于 音频资产隐私,可能需要进行一些额外的手动工作。

许可

Runway 在 MIT 许可证下可用。请参阅 LICENSE.txt

Alpha bleeding 使用来自 Tarmac 源代码(alpha_bleed.rsimage.rs)的代码,该代码在 MIT 许可证下。

依赖项

~16–30MB
~485K SLoC