Lumberyard
Guía del usuario (Version 1.21)

Creación de elementos preestablecidos de procesamiento de imágenes

Lumberyard contiene un conjunto existente de elementos preestablecidos de procesamiento de imágenes. Puede aplicar estos elementos preestablecidos en sus nombres de archivo de imagen antes de incluirlos en su directorio de Lumberyard para su procesamiento. En función del sufijo anexo al nombre de archivo, Asset Processor los convierte en archivos .dds con ajustes específicos y los añade al directorio lumberyard_version\dev\Cache.

Puede definir los elementos preestablecidos de una de las dos formas siguientes:

(Método recomendado) ImageCompiler.cpp y rc.ini

El archivo ImageCompiler.cpp contiene el código que encuentra una coincidencia de sufijo del nombre de archivo y apunta a otro archivo para los ajustes específicos. El archivo rc.ini define dichos ajustes específicos para el sufijo coincidente.

AssetProcessorPlatformConfig.ini

El archivo AssetProcessorPlatformConfig.ini asigna los patrones de sufijo de nombre de archivo y, a continuación, llama a las funciones para procesar el archivo en función de su coincidencias.

Creación de elementos preestablecidos con ImageCompiler.cpp y rc.ini

El fragmento siguiente procede de ImageCompiler.cpp, ubicado en el directorio lumberyard_version\dev\Code\Tools\RC\ResourceCompilerImage. Parte de este código encuentra nombres de archivo a los que se ha añadido _bump y, a continuación, llama al presetName de la función defaultBump , que deriva sus ajustes de NormalsFromDisplacement (definida en rc.ini).

... static string AutoselectPreset(const ConvertContext& CC, const uint32 width, const uint32 height, const bool hasAlpha) { const char* const defaultColorchart = "ColorChart"; const char* const defaultBump = "NormalsFromDisplacement"; const char* const defaultNormalmap = "Normals"; ... const string fileName = CC.config->GetAsString("overwritefilename", CC.sourceFileNameOnly, CC.sourceFileNameOnly); string presetName; if (SuffixUtil::HasSuffix(fileName.c_str(), '_', "cch")) { presetName = defaultColorchart; } else if (SuffixUtil::HasSuffix(fileName.c_str(), '_', "bump")) { presetName = defaultBump; } else if (SuffixUtil::HasSuffix(fileName.c_str(), '_', "ddn")) { presetName = defaultNormalmap; } ...

El archivo rc.ini (ubicado en el directorio lumberyard_version\dev\Bin64vc140_or_Bin64vc141\rc) contiene la siguiente información de configuración:

  • Los elementos preestablecidos de activos para sistemas operativos.

  • Alias de elementos preestablecidos de imagen (asignación de perfil a partir de un elemento preestablecido heredado).

  • Los ajustes de formato de imagen como, por ejemplo, el método de compresión, el formato de píxeles, etc.

  • Ajustes de mapa MIP.

  • Elementos preestablecidos de convención de nomenclatura: sufijos de imagen tales como _diff, spec/refl, _disp, _ddna, _ddn, _bump, cm/cubemap, detail, etc.

ejemplo

El siguiente fragmento del archivo rc.ini define NormalsFromDisplacement. Incluye formatos de píxeles para cada sistema operativo, tamaño de textura máximo, ajustes de mapa MIP, espacio de color, etc.

... ; converts greyscale texture to normal map, normal map textures (signed BC5) [NormalsFromDisplacement] pixelformat=BC5s ;pixelformat:es3=ASTC_5x5 pixelformat:es3=EAC_RG11 ;pixelformat:ios=PVRTC4 pixelformat:ios=EAC_RG11 maxtexturesize:es3=1024 maxtexturesize:ios=1024 bumptype=1 powof2=1 mipnormalize=1 mipmaps=1 mipgentype=average colorspace=linear,linear filemasks=*_bump* ...

Puede editar ImageCompiler.cpp y rc.ini para añadir sus propios elementos preestablecidos de imagen.

Para añadir sus propios elementos preestablecidos de procesamiento de imágenes

  1. En un editor de texto, abra ImageCompiler.cpp, ubicado en el directorio lumberyard_version\dev\Code\Tools\RC\ResourceCompilerImage.

  2. Especifique las líneas de código adecuadas para definir su nuevo elemento preestablecido.

  3. Guarde y cierre ImageCompiler.cpp.

  4. En un editor de texto, abra rc.ini, ubicado en el directorio lumberyard_version\dev\Bin64vc140_or_Bin64vc141\rc.

  5. Añada su nueva definición.

  6. Especifique los ajustes de la nueva definición.

  7. Guarde y cierre rc.ini.

ejemplo

Si desea añadir una línea de código que busca nombres de archivo que acaban en _awesome, podría añadir las líneas siguientes a su ImageCompiler.cpp.

const char* const defaultAwesomeSuffix = "AwesomeImage";
else if (SuffixUtil::HasSuffix(fileName.c_str(), '_', "awesome")) { presetName = defaultAwesomeSuffix; }

Además, también añadiría una definición de AwesomeImage al archivo rc.ini.

[AwesomeImage] pixelformat=BC1 pixelformat:es3=ETC2 pixelformat:ios=PVRTC2 ;pixelformat:es3=ASTC_4x4 ;pixelformat:ios=ASTC_6x6 rgbweights=ciexyz powof2=1 mipmaps=1 colorspace=sRGB,auto ;discardalpha=1 filemasks=*_awesome*

Creación de elementos preestablecidos con AssetProcessorPlatformConfig.ini

También puede añadir elementos preestablecidos en el archivo AssetProcessorPlatformConfig.ini, que se encuentra en el directorio lumberyard_version\dev.

ejemplo

El siguiente fragmento de AssetProcessorPlatformConfig.ini muestra dos reglas, que coinciden con un archivo que termina en _awesome.tiff. La imagen se procesa para cada regla con la que coincida. En este ejemplo, se producirían varios resultados (activos) para cada imagen.

... [RC uitextures] pattern=.*\\.(bmp|gif|jpg|jpeg|tga|png) params=/imagecompressor=CTSquish /streaming=0 lockSource=false server=skip ...
... [RC special images] pattern=.*(_awesome)\\.tif? ...

Para añadir elementos preestablecidos de procesamiento de imágenes

  1. En un editor de texto, abra el archivo AssetProcessorPlatformConfig.ini, situado en el directorio lumberyard_version\dev.

  2. Especifique las líneas de código adecuadas para definir su nuevo elemento preestablecido.

  3. Guarde y cierre el archivo.