228 lines
5.3 KiB
JSON
228 lines
5.3 KiB
JSON
{
|
||
"last_node_id": 8,
|
||
"last_link_id": 10,
|
||
"nodes": [
|
||
{
|
||
"id": 1,
|
||
"type": "LoadImage",
|
||
"pos": [50, 150],
|
||
"size": [315, 314],
|
||
"flags": {},
|
||
"order": 0,
|
||
"mode": 0,
|
||
"outputs": [
|
||
{
|
||
"name": "IMAGE",
|
||
"type": "IMAGE",
|
||
"links": [1],
|
||
"shape": 3
|
||
}
|
||
],
|
||
"properties": {},
|
||
"widgets_values": [
|
||
"texture.png",
|
||
"image"
|
||
]
|
||
},
|
||
{
|
||
"id": 2,
|
||
"type": "SeamlessTiling",
|
||
"pos": [450, 150],
|
||
"size": [315, 150],
|
||
"flags": {},
|
||
"order": 1,
|
||
"mode": 0,
|
||
"inputs": [
|
||
{
|
||
"name": "image",
|
||
"type": "IMAGE",
|
||
"link": 1
|
||
}
|
||
],
|
||
"outputs": [
|
||
{
|
||
"name": "image",
|
||
"type": "IMAGE",
|
||
"links": [2, 3],
|
||
"shape": 3
|
||
},
|
||
{
|
||
"name": "edge_mask",
|
||
"type": "IMAGE",
|
||
"links": null,
|
||
"shape": 3
|
||
}
|
||
],
|
||
"properties": {},
|
||
"widgets_values": [
|
||
"blend_edges",
|
||
0.1
|
||
]
|
||
},
|
||
{
|
||
"id": 3,
|
||
"type": "TextureOffset",
|
||
"pos": [850, 150],
|
||
"size": [315, 200],
|
||
"flags": {},
|
||
"order": 2,
|
||
"mode": 0,
|
||
"inputs": [
|
||
{
|
||
"name": "image",
|
||
"type": "IMAGE",
|
||
"link": 2
|
||
}
|
||
],
|
||
"outputs": [
|
||
{
|
||
"name": "image",
|
||
"type": "IMAGE",
|
||
"links": [4],
|
||
"shape": 3
|
||
},
|
||
{
|
||
"name": "edge_mask",
|
||
"type": "IMAGE",
|
||
"links": null,
|
||
"shape": 3
|
||
}
|
||
],
|
||
"properties": {},
|
||
"widgets_values": [
|
||
0.5,
|
||
0.5,
|
||
0.0,
|
||
"repeat",
|
||
0.1
|
||
],
|
||
"title": "Texture Offset (Test Seams)"
|
||
},
|
||
{
|
||
"id": 4,
|
||
"type": "TextureTiler",
|
||
"pos": [1250, 150],
|
||
"size": [315, 150],
|
||
"flags": {},
|
||
"order": 3,
|
||
"mode": 0,
|
||
"inputs": [
|
||
{
|
||
"name": "image",
|
||
"type": "IMAGE",
|
||
"link": 4
|
||
}
|
||
],
|
||
"outputs": [
|
||
{
|
||
"name": "image",
|
||
"type": "IMAGE",
|
||
"links": [5],
|
||
"shape": 3
|
||
}
|
||
],
|
||
"properties": {},
|
||
"widgets_values": [
|
||
3,
|
||
3,
|
||
false
|
||
],
|
||
"title": "Texture Tiler (3x3 Preview)"
|
||
},
|
||
{
|
||
"id": 5,
|
||
"type": "PreviewImage",
|
||
"pos": [1650, 150],
|
||
"size": [600, 600],
|
||
"flags": {},
|
||
"order": 4,
|
||
"mode": 0,
|
||
"inputs": [
|
||
{
|
||
"name": "images",
|
||
"type": "IMAGE",
|
||
"link": 5
|
||
}
|
||
],
|
||
"properties": {},
|
||
"title": "Tiled Preview (Check Seams!)"
|
||
},
|
||
{
|
||
"id": 6,
|
||
"type": "TextureTiler",
|
||
"pos": [850, 450],
|
||
"size": [315, 150],
|
||
"flags": {},
|
||
"order": 5,
|
||
"mode": 0,
|
||
"inputs": [
|
||
{
|
||
"name": "image",
|
||
"type": "IMAGE",
|
||
"link": 3
|
||
}
|
||
],
|
||
"outputs": [
|
||
{
|
||
"name": "image",
|
||
"type": "IMAGE",
|
||
"links": [6],
|
||
"shape": 3
|
||
}
|
||
],
|
||
"properties": {},
|
||
"widgets_values": [
|
||
2,
|
||
2,
|
||
false
|
||
],
|
||
"title": "Texture Tiler (2x2 Original)"
|
||
},
|
||
{
|
||
"id": 7,
|
||
"type": "PreviewImage",
|
||
"pos": [1250, 450],
|
||
"size": [500, 500],
|
||
"flags": {},
|
||
"order": 6,
|
||
"mode": 0,
|
||
"inputs": [
|
||
{
|
||
"name": "images",
|
||
"type": "IMAGE",
|
||
"link": 6
|
||
}
|
||
],
|
||
"properties": {},
|
||
"title": "2x2 Preview (No Offset)"
|
||
},
|
||
{
|
||
"id": 8,
|
||
"type": "Note",
|
||
"pos": [50, 550],
|
||
"size": [700, 200],
|
||
"flags": {},
|
||
"order": 7,
|
||
"mode": 0,
|
||
"properties": {},
|
||
"widgets_values": [
|
||
"WORKFLOW: Texture Offset & Tiling Preview\n\n1. Load texture\n2. Seamless Tiling Maker creates seamless version\n3. UPPER BRANCH: Texture Offset (0.5, 0.5) shifts by half\n → Then tiles 3x3 to CHECK FOR SEAMS at different positions\n4. LOWER BRANCH: Direct 2x2 tiling without offset\n\nPURPOSE:\n- Offset by 0.5 (half) moves seams to center - reveals ANY remaining seams\n- Tiler creates grid to visualize how texture repeats\n- Compare both previews to ensure perfect seamless tiling\n\nNEW FEATURES:\n- Texture Offset now outputs EDGE MASK showing affected areas!\n- Texture Tiler has 'scale_to_input' option:\n * OFF (default) = Large preview (output size × tiles)\n * ON = Same size output (tiles scaled down - preview density!)\n\nTIPS:\n- If you see seams in the offset version, increase blend_width in Seamless Tiling\n- Try different offset values (0.25, 0.75) to test thoroughly\n- Use edge_mask to see exactly where wrapping occurs\n- Try scale_to_input ON with 4x4 tiles to preview pattern frequency!"
|
||
],
|
||
"bgcolor": "#335"
|
||
}
|
||
],
|
||
"links": [
|
||
[1, 1, 0, 2, 0, "IMAGE"],
|
||
[2, 2, 0, 3, 0, "IMAGE"],
|
||
[3, 2, 0, 6, 0, "IMAGE"],
|
||
[4, 3, 0, 4, 0, "IMAGE"],
|
||
[5, 4, 0, 5, 0, "IMAGE"],
|
||
[6, 6, 0, 7, 0, "IMAGE"]
|
||
],
|
||
"groups": [],
|
||
"config": {},
|
||
"extra": {},
|
||
"version": 0.4
|
||
}
|
||
|