From 0a05d55bc01388f7619a6769ccec7bb5d694cb58 Mon Sep 17 00:00:00 2001 From: Nicolas Kendall-Bar Date: Tue, 18 Jun 2024 19:21:11 -0700 Subject: [PATCH] Dev/nkendallbar/add workflow examples --- .gitattributes | 1 + README.md | 28 ++++++++++++++++++ images/remix_nodes.png | Bin 40887 -> 130 bytes nodes/__init__.py | 4 ++- nodes/common.py | 24 +++++++++++++++ nodes/ingestion.py | 3 -- workflows/rtx_remix_pbrify_workflow.png | 3 ++ .../rtx_remix_texture_workflow_template.png | 3 ++ 8 files changed, 62 insertions(+), 4 deletions(-) create mode 100644 .gitattributes create mode 100644 workflows/rtx_remix_pbrify_workflow.png create mode 100644 workflows/rtx_remix_texture_workflow_template.png diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..24a8e87 --- /dev/null +++ b/.gitattributes @@ -0,0 +1 @@ +*.png filter=lfs diff=lfs merge=lfs -text diff --git a/README.md b/README.md index 8d6be62..6804a99 100644 --- a/README.md +++ b/README.md @@ -39,3 +39,31 @@ You should see RTX Remix nodes: - **RTX Remix Layer Types**: Select multiple layer types from a list of supported layer types. - **RTX Remix Layer Type**: Select from a list of supported layer types. +## Example Workflows and Templates + +To help you get started, we have included the following templates and workflow examples in the ./workflows folder. + +Simple to Use: +1. Open RTX Remix +1. Open your project +1. Select the objects with textures you want to upscale +1. Launch ComfyUI, load a graph using the .png file and hit "Queue Prompt" + +Note: for subsequent runs: disable the "Create Layer" portion of the graph since it will already exist. + +### Texture workflow template +`./workflows/rtx_remix_texture_workflow_template.png` + +![Template](workflows/rtx_remix_texture_workflow_template.png "Texture Workflow Template") + + +Use this graph to start your own ai workflow and modify textures in RTX Remix. + +### Plug n Play PBRify workflow +`./workflows/rtx_remix_pbrify_workflow.png` + +![Template](workflows/rtx_remix_pbrify_workflow.png "PBRify Workflow") + +A working example of an upscaling workflow to upscale the diffuse textures in your mod and automatically create Normal, Roughness and Height maps using https://github.com/Kim2091/PBRify_Remix + +This graph requires downloading some custom nodes and models from the above PBRify repo. diff --git a/images/remix_nodes.png b/images/remix_nodes.png index 5c531e06a1b81652dae6f1ffbb69f56f2edc6188..b5f932f955927dc4c473e3e08f4493d9ce900dc7 100644 GIT binary patch literal 130 zcmWN?TMoh?5J1uYu7V9%9x@DcH#}y9M5PhzhpU&HoZO2(qxH9_bDran^3mq)$zxxy z-?ZoclH;T-FTM3v#Hi7LI}&QZWN~HTt`}Ag*^$bGkuy^UMz0ZrF;-(J#;ORRLpUh1OT>$^wc7-a++$tZWUIX4>SWBx(-?~*9i+5>`3B1Q~Rx)(Gb&K%x&EMNy zPDK{Lhoo-u25#C;R&FoNT`X@Yx>#B|y4pCoJ<-JmF3ILrmXp?b^g8@-uvd889;R@Z+$rQXO_>+1b137v8Ls{EQB(F627A`1oUE3Ulj|%R-M#mvc$8n2BL*`LK36G} zi+S2F^(NN-^~Fav{aiTfn#BL`_3sP3UC3c}3ELn3diB3Q0fzDK?D-+%S(!)=St@pC z)Gs5ev&-z(-H)#iA zPb?Y!zjT<$ldP9~@g9?k{THVH@3#N{kqiAFIgEdyc@RDJ&7X_8pR;jieH=Fa z3lVJ7PN9vu2OkrW!<=IzW3q-Ln}!Td(Z-(plikT|fAiwGM)|_y=KnuB{11_HqUojk zAXgH_W1OmgM%+J{^H`Q~hwuM^v2~(x7>c^WFxV=J-2T9!?*Yx@Te*DyH%W#sfs->% zyUk8fw_m=*#gdK1%I-(`DD;{GxfH>c^**1Ye&~Gh&i{Pq|2ZJQ_F3t;L+^*Hsw*7_j8J>D&KU zBMdr}ms$wsyoO10fjQQltc!yhkFpYQxpV`z
l-y9o^G>ys9PML!gPdEbK4E>(r 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 S?$#ObM?pqKx