assetApproxSize 函数

语法

  • string assetApproxSize(searchQuery, axisSize, n)

参数

  1. searchQuerystring
    要在工作空间所有文件列表上应用的搜索查询。 有关语法的详细信息,请参阅 fileSearch / filesSearch
  2. axisSizestring
    { "x" | "y" | "z" | "xy" | "yz" | "xyz" } - 当前范围的轴。
  3. n - float
    可能返回的结果字符串数(>= 1 的整数)(从 n 个可能结果中随机返回 1 个)。

返回

具有 n 个最适合大小之一的资产(根据 axisSize)。

描述

assetApproxSize 函数用于根据指定的 axisSize 字符串从在 searchQuery 中指定的文件中返回 n 个大小最适合的资产之一。

注:

assetApproxSize(searchQuery, axesSize, 1) == assetBestSize(searchQuery, axesSize)

相关内容

示例

根据(物理)大小插入资产

目的是根据(物理)大小插入池中的资产。 资产池如下图所示。 颜色(仅)用于直观地强调大小比例。

资产比例池

注:
  • 请注意下面三个图像中的几何变化,其中仅 n 参数不同。
  • 请注意,较小的部分会获得蓝色资产,而较大的部分会获得红色资产。

n = 1:“最佳大小”

Lot -->
    s('0.9,'0.9,'0.9)
    center(xz)
    RecursiveSplit

RecursiveSplit -->
    case scope.sx >= 1.5 && scope.sz >= 1.5:
        split(x) { ~scope.sx/3 : 
              split(z) { ~scope.sz/3 : 
                         RecursiveSplit }* }*
    else: innerRectangle(scope) { shape : Insert }

Insert -->
    alignScopeToAxes(y)
    i(assetApproxSize(
         "/myProject/assets/cube_*.obj", "xz", 1))
n = 1 时的资产大小

n = 2:“随机选择两个最佳大小中的一个”

Insert -->
    alignScopeToAxes(y)
    i(assetApproxSize(
         "/myProject/assets/cube_*.obj", "xz", 2))
n = 2 时的资产大小

n = 3:“随机选择三个最佳大小中的一个”

Insert -->
    alignScopeToAxes(y)
    i(assetApproxSize(
         "/myProject/assets/cube_*.obj", "xz", 3))
n = 3 时的资产大小