跳转到内容

Spreadsheet

Google Sheet.csv.xlsx 文件读取数据。

File - 从 Assets Window 拖入一个 Google Sheet.csv.xlsx 资产。

Excel Sheet - 从 .xlsx 资产中选择一个 sheet(标签页)。

Column Title - 从电子表格中选择一列。电子表格的第一行是保留的,用于填充此列表。

Spreadsheet Utility 只能从单列输出数据。要使用同一资产的多个列,请为每个要输出的列创建一个 Spreadsheet Utility。

Factorize - 当勾选时,一列文本可以转换为值。例如,包含文本 Summer, Spring, Summer, Summer 的数据列可以转换为值列表 1, 0, 1, 1。生成的列表按字母顺序排列。

使用 Factorize 时,出于性能原因,资产也必须进行 ‘factorized’。在 Assets Window 中右键点击资产并勾选 Factorize

Remapping - 相对于数据中的最小和最大值重新映射数值。例如,如果你想创建一个条形图,需要值 1 由高度为 300px 的矩形表示,你可以做到。

如果数据中的最小值为 0,最大值为 10,并且有一个简单的黑白渐变,值为 0 将输出黑色,值为 10 将输出白色,值为 5 将被重新映射为 50% 灰色。

Fixed Row - 当勾选时,将输出 Row Index 中指定的行的内容(不包括标题行)。对于 Dynamic Rendering 很有用。

Row Index - 指定要输出的行。值为 0 输出电子表格的第 1 行(第 0 行保留给 Column Title)。

Row Offset - 对 Row Index 进行加减操作。

Use Every Nth Row - 仅采样第一行然后每 N 行采样一次,其中 N = 该值。

Row Count - 一个只读属性,输出选定列中的行数。

Column Count - 一个只读属性,输出数据中的列数。请注意,计数从第一列开始,到包含数据的最后一列结束。例如,如果通过 Google Sheet 导入以下数据,将返回 Column Count7(A-G 列):

ABCDEFGHI
111

请注意,对于 .csv 文件,这可能有所不同,因为空列仍可能被定义。例如,ColumnA,ColumnB,,,,, 中逗号后定义的列将包含在 Column Count 中。

Interpolate - 当勾选时,可以跨列混合数据。这需要 Column Title 被动画化,可以通过将 Value Behaviour 连接到 Column Title 并对 Value 的 Value 属性进行关键帧设置来实现。注意 - 值为 0 表示第一列。

Output Mode - 设置图层的输出:

  • Data - 输出原始数据。
  • Sort Order (Ascending) - 按列数据从最小到最大值输出排序顺序。
  • Sort Order (Descending) - 按列数据从最大到最小值输出排序顺序。

Sort Order 获取列中的值并输出它们的排序顺序。例如,如果一个名为 Data 的列包含以下值,且 Output Mode 设置为 Sort Order (Ascending),则 Spreadsheet 将输出 Sort Order 中的值。

DataSort Order
563
30
171
402

如果 Output Mode 设置为 Sort Order (Descending)Sort Order 将反转。这对于诸如排行榜之类的应用很有用。

DataSort Order
560
33
172
401

然后,输出可用于将 DuplicatorShape Position Y 设置为在 Linear Distribution 中将条形图的最大条形放在顶部,最小条形放在底部。然后可以使用 Remapping 将 Sort Order 转换为有意义的位置值。例如,将 Sort Order 0, 1, 2 转换为值 0, 50, 100

  1. 创建一个 Text Shape、一个 Duplicator 和一个 Spreadsheet Utility。
  2. 创建一个包含标题为 ‘Name’ 的行以及下面列出多个名称的 .csv 文件。
Name,Ringo,John,George,Paul
  1. .csv 文件导入 Assets Window
  2. .csv 拖入 Spreadsheet Utility 的 File 属性。
  3. Spreadsheet Utility 上将 Column Title 设置为 ‘Name’。
  4. 连接 textShape.id→duplicator.inputShapes。
  5. 将 Duplicator 的 Distribution 设置为 Linear
  6. 将 Duplicator 的 Direction 设置为 Vertical
  7. 将 Duplicator 的 Count 设置为 4
  8. 连接 spreadsheet.id→textShape.string。

.csv 中的前 4 个名称(不包括标题)将出现。对于多于或少于 4 个名称,只需调整 Duplicator 上的 Count Y

  1. 创建一个包含以下数据的 Google Sheet.csv.xlsx
LabelValueColor
Twitter235#00acee
Instagram1135#c13584
YouTube101#ff0000
Vimeo2301#1ab7ea
TikTok764#69c9d0
  1. 如果使用 Google Sheet,确保 Link Sharing 设置为 Anyone with the link
  2. 通过 Assets Window 导入 Google Sheet.csv.xlsx
  3. 将资产拖入 Viewport(这将创建一个 Spreadsheet Utility 并连接资产)。
  4. 在 Spreadsheet Utility 上,将 Column Title 设置为 Value
  5. 创建一个 Rectangle
  6. 连接 spreadsheet.id→rectangle.size.height。
  7. 选中 Rectangle,点击 Shelf 中的 Duplicator 图标。
  8. Distribution 设置为 Linear
  9. Count 设置为 5

此时你应该有 5 个矩形,每个矩形的高度按数据中 Value 列的每一行设置。为了将矩形固定到 ‘floor’,你可以使用 Align Behaviour。

  1. 创建一个 Align
  2. 连接 align.id→rectangle.deformers。
  3. Align Behaviour 上,将 Y 设置为 1

如果数据包含很小/很大的值,你可能需要将值重新映射到更适合你的 Composition 的结果。

  1. Spreadsheet Utility 上,将 Remapping 设置为 Number Range
  2. Source Minimum 设置为 0
  3. Source Maximum 设置为 2500。这两个值大致包含数据的范围。
  4. Minimum 设置为 0
  5. Maximum 设置为 500

数据中的值 0 现在将输出为 0,而值 2500 将输出为 500。在此示例中,我们有效地将所有值除以 2500/500 = 5,因此值 1000 将被重新映射为 200。

包含货币符号的字段(例如 £ $)将被识别为数值。例如,£123.45 在连接到数值属性时将被解释为 123.45

如果值以 kMB 为后缀,则结果将分别乘以千、百万或十亿。例如,1.5k 在连接到数值属性时将被转换为 1500