Node Wrangler: Add support for texturecan texture imports #104442

Closed
Johan Walles wants to merge 2 commits from Walles:johan/no-directx-map into main

When changing the target branch, be careful to rebase the branch in your fork to match. See documentation.
2 changed files with 33 additions and 2 deletions
Showing only changes of commit 604a4d678b - Show all commits

View File

@ -153,10 +153,13 @@ def match_files_to_socket_names(files, sockets):
for sname in sockets:
for name, tag_list in names_to_tag_lists.items():
if sname[0] == "Normal" and "dx" in tag_list:
if sname[0] == "Normal":
# Blender wants GL normals, not DX (DirectX) ones:
# https://www.reddit.com/r/blender/comments/rbuaua/texture_contains_normaldx_and_normalgl_files/
continue
if 'dx' in tag_list:
continue
if 'directx' in tag_list:
continue
matches = set(sname[1]).intersection(set(tag_list))
if matches:

View File

@ -225,6 +225,34 @@ class TestPutFileNamesInSockets(unittest.TestCase):
},
)
def test_texturecan(self):
"""Texture from: https://www.texturecan.com/details/67/"""
files = [
MockFile("metal_0010_ao_1k.jpg"),
MockFile("metal_0010_color_1k.jpg"),
MockFile("metal_0010_height_1k.png"),
MockFile("metal_0010_metallic_1k.jpg"),
MockFile("metal_0010_normal_directx_1k.png"),
MockFile("metal_0010_normal_opengl_1k.png"),
MockFile("metal_0010_roughness_1k.jpg"),
]
sockets = sockets_fixture()
match_files_to_socket_names(files, sockets)
assert_sockets(
self,
sockets,
{
"Ambient Occlusion": "metal_0010_ao_1k.jpg",
"Base Color": "metal_0010_color_1k.jpg",
"Displacement": "metal_0010_height_1k.png",
"Metallic": "metal_0010_metallic_1k.jpg",
"Normal": "metal_0010_normal_opengl_1k.png",
"Roughness": "metal_0010_roughness_1k.jpg",
},
)
if __name__ == "__main__":
unittest.main(verbosity=2)