imageBestRatio function

Syntax

  • string imageBestRatio(searchQuery, axesRatio)

Parameters

  1. searchQuerystring
    Search query to apply on list of all files in the workspace. See fileSearch / filesSearch for details about the syntax.
  2. axesRatiostring
    { "xy" | "xz" | "yx" | "yz" | "zx" | "zy" }—Defines which scope axes ratio is used as a reference.

Returns

Returns texture with best ratio match (according to axesRatio).

Description

The imageBestRatio function returns the texture with the best ratio match, from the list specified in searchQuery, according to the specified combination of axes.

Note:

In case multiple files share the best ratio, a random file is returned among those.

Related

Examples

Setting up texturing based on the best pixel ratio

The goal is to set up the texturing, depending on the best pixel ratio of the list of desired textures. The following textures all have different resolutions.

Textures with different resolutions
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: Texture

Texture -->
    setupProjection(0, scope.xz, scope.sx, -scope.sz)
    projectUV(0)
    texture(imageBestRatio(
         "/myProject/assets/textures/*.jpg", "xz"))
Texture with best ratio resolution