From 2e571840098e3780bc56e7c2660d65af440d9b24 Mon Sep 17 00:00:00 2001 From: Yann Kervran Date: Wed, 22 May 2024 17:24:10 +0200 Subject: [PATCH] Using xmlstarlet instead of SAT tools to retrieve information from sbs files --- Makefile | 24 ++++++------------------ README.md | 19 ++++++++++++++----- example/logo/YKtextures.png | 3 --- example/logo/yk.png | 3 +++ example/logo/yk.png~ | Bin 0 -> 59814 bytes example/material_list.json | 11 ++++++++++- example/sbs/texture_factory_test.sbs | 2 +- global-config.mk | 12 ++++++------ 8 files changed, 40 insertions(+), 34 deletions(-) delete mode 100644 example/logo/YKtextures.png create mode 100644 example/logo/yk.png create mode 100644 example/logo/yk.png~ diff --git a/Makefile b/Makefile index bb2ed0c..12ab220 100644 --- a/Makefile +++ b/Makefile @@ -58,26 +58,14 @@ $(SBSAR_DIR)/%.sbsar: $(SBS_DIR)/%.sbs # There is a png imageset for each preset of a base texture # All png are stored in a png_1024 folder @ mkdir -p $(PNG1024_DIR) -# Get all presets for the graph - @ $(eval PRESETLIST=`$(GETPRESET) --input $< | grep PRESET | sed -r 's/PRESET "(.*)"/\1/g'`) # Get graph outputs list - @ declare -i graphcount=0 ;\ - output_list="" ;\ - for line in $$($(GETOUTPUT) $<) ; do \ - if [ "$$line" = "GRAPH-URL" ] ;\ - then ((graphcount++)) ;\ - fi ;\ - if [ $$graphcount -le 1 ] ;\ - then if [ "$$line" != "OUTPUT" ] && [ "$$line" != "GRAPH-URL" ] && [ "$${line:0:4}" != "pkg:" ] ;\ - then output_list+=" $${line}" ;\ - fi ;\ - else : ;\ - fi ;\ - done;\ - echo " - Graph output_list :"$$output_list;\ + @ outputs=$$(xmlstarlet sel -t -m "//content/graph[1]/graphOutputs/graphoutput/identifier" -o " " -v "@v" $<) ;\ + echo " - Graph OUTPUTS : $$outputs";\ echo "Building 1024 png imageset(s) from presets of" $@ ;\ pngfiles="";\ - for preset in $(PRESETLIST) ; do \ + presetlist=$$(xmlstarlet sel -t -m "//content/graph[1]/sbspresets/sbspreset/label" -o " " -v "@v" $<);\ + echo " presetlist: " $$presetlist ; \ + for preset in $$presetlist ; do \ echo "- Preset" $$preset; \ material=$$(basename -s .sbsar $@);\ echo "material :"$$material;\ @@ -87,7 +75,7 @@ $(SBSAR_DIR)/%.sbsar: $(SBS_DIR)/%.sbs rm -Rf $(PNG512_DIR)/$$obsolete* ;\ rm -Rf $(PNG256_DIR)/$$obsolete* ;\ listitem="";\ - for item in $$output_list;\ + for item in $$outputs;\ do itemfull="$(PNG1024_DIR)/$${material}_$${preset}_$${item}.png";\ listitem="$$listitem $$itemfull";\ done;\ diff --git a/README.md b/README.md index 7a143b9..0ad7225 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,13 @@ This repository use [Git LFS](https://git-lfs.github.com/). +## Structure of sbs files + +Your preset should be written without any space in their label. + +For now, the script export only the first graph of each file. + + ## Organisation of a factory ### Configuration of the Makefile @@ -34,7 +41,7 @@ Theses are the places where the script will generate the final png files. It wil #### Blender related -You have to define also a blender file directory where you will store the files used to generate previews of texturesets. They will be handled vie the `material_list.json` file indicated in the following section. They will have to be organized a special way to function, see later. +You have to define also a blender file directory where you will store the files used to generate previews of texturesets. They will be handled by the `material_list.json` file indicated in the following section. They will have to be organized a special way to function, see later. The `BLENDEREXEC` variable is the path to the binary used to generate the preview. It must be compatible with the version used to save the renders files. @@ -52,10 +59,12 @@ The path to the json file used to manage all the metadata linked to texturesets ### Configuration of the json file +You have to fill this file to tell the system where it should export the result (the png textures and the blender file used for the preview render) + - `name` is the mundane texture name - `description` is the description of the texture -- `type` is the subfolder name in `BLENDFILES_FOLDER` in the `local-config.mk` file the blender files used to generate the rpeviews are stored +- `type` is the subfolder name in `BLENDFILES_FOLDER` in the `local-config.mk` file the blender files used to generate the previews are stored - `format` is the format of the texture, square or rectangular, it must be either "10,10" for normal 1024x1024 files, "9,10" for 512x1024 and "10,9" for 1024x512 -- `destination_1024` is the folders names list where to copy the generated textrues files in 1024x1024, it can be left with an empty field if non-relevant. -- `destination_512` is the folders names list where to copy the generated textrues files in 512x512, it can be left with an empty field if non-relevant. -- `destination_256` is the folders names list where to copy the generated textrues files in 256x256, it can be left with an empty field if non-relevant. +- `destination_1024` is the folders names list where to copy the generated textures files in 1024x1024, it can be left with an empty field if non-relevant. +- `destination_512` is the folders names list where to copy the generated textures files in 512x512, it can be left with an empty field if non-relevant. +- `destination_256` is the folders names list where to copy the generated textures files in 256x256, it can be left with an empty field if non-relevant. diff --git a/example/logo/YKtextures.png b/example/logo/YKtextures.png deleted file mode 100644 index 04d20f4..0000000 --- a/example/logo/YKtextures.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:1f57ea0c1190f8fd9c4df24cf59c8322427e73181fe059915fe8a4f8cb2a06ab -size 11441 diff --git a/example/logo/yk.png b/example/logo/yk.png new file mode 100644 index 0000000..f3f0ea2 --- /dev/null +++ b/example/logo/yk.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:71157ea6d12a7dfe58b72d306dce3eae565b38b0c60903e41db31c3fd45c35d3 +size 19744 diff --git a/example/logo/yk.png~ b/example/logo/yk.png~ new file mode 100644 index 0000000000000000000000000000000000000000..6cc085a2de1bdd9f64a07fc21f73a68b213d5d14 GIT binary patch literal 59814 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

d!%aR(r%9U1Q&N2VXW(a%H7n7oM*;cj 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

gx6?+?-%mb|>+^Soq}O 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 + diff --git a/global-config.mk b/global-config.mk index 6a20cad..804faef 100644 --- a/global-config.mk +++ b/global-config.mk @@ -3,10 +3,10 @@ export SBS_DIR=example/sbs export SBSAR_DIR=build/sbsar # executables used -export MAKESBSAR=sbscooker --quiet --output-name {inputName} --includes "/opt/Allegorithmic/Substance_Automation_Toolkit/resources/packages/" --includes "$(SBS_DIR)/utilities/" -export GETPRESET=sbsmutator info --print-presets -export GETOUTPUT=sbsmutator info --print-outputs -export SBSRENDER=sbsrender +# TODO:was used to add --includes "~/.local/share/Steam/steamapps/common/Substance 3D Designer 2023/resources/packages/" --includes "$(SBS_DIR)/utilities/" +# but it seems obsolete, check how to add other dependencies integrated if needed +export MAKESBSAR=~/.local/share/Steam/steamapps/common/Substance\ 3D\ Designer\ 2023/sbscooker --quiet --output-name {inputName} +export SBSRENDER=~/.local/share/Steam/steamapps/common/Substance\ 3D\ Designer\ 2023/sbsrender # texturesets files export TEXTURESET_FOLDER := build/texturesets @@ -21,10 +21,10 @@ export PNG256_DIR := build/png_256 # Blender related export BLENDFILES_FOLDER := example/blenderfiles -export BLENDEREXEC := /opt/blender/blender +export BLENDEREXEC := /home/yann/Documents/3D/blender_builds/current_stable/blender # Logo file -export LOGO := example/logo/YKtextures.png +export LOGO := example/logo/yk.png # Destination preview folder export PREVIEW_FOLDER := build/previews