Nodes/WAS Node Suite v3/Three Texture URL
ComfyUI Node Runs on cloud

Three Texture URL

Grab a texture straight from the internet

By WASasquatch·Created 3 years ago·Updated 4 days ago· 1,844
Three Texture URL
    • texture
    url
    color_spacesrgb
    wrap_sclamp
    wrap_tclamp
    repeat_x1.00
    repeat_y1.00
    offset_x0.00
    offset_y0.00
    rotation0.0
    flip_ytrue
    anisotropy1

    Sometimes the texture you want is already on the internet - a CC0 wood from a texture library, a material from a CDN - and downloading it, dropping it into ComfyUI, and loading it feels like three steps too many. WASThreeTextureURL skips all of them: you give it a URL and it fetches the image directly into the scene as a THREE_TEXTURE. No download folder, no file loader, no API key. It's the lazy-but-legit sibling of Three Texture From Image.

    How it works

    The url input takes a web address - https://example.com/wood.jpg - or a data:image/png;base64,... string. The pack's texture-from-image node reads a ComfyUI IMAGE off the graph; this one reads the picture off the web, which is a genuinely different data path and the reason it exists. If you have a texture already in the graph, use Three Texture From Image; if it lives at a URL, this is the one.

    One thing to internalize about the mechanism: the fetch happens in your browser, not on your server. The whole Three family renders browser-side, and this node is consistent with that - the image is fetched by the frontend. So the URL has to be reachable from your browser, and a local file path won't work the way it does on a server. A data: URI is the trick for getting a local picture in without hosting it: it's the URL form of "here is the whole image, inline."

    The inputs that matter

    The controls mirror Three Texture From Image, plus one extra:

    • color_space - the same rule: srgb for a color map like albedo, linear-srgb for data maps like normal, roughness, metalness or alpha. Get this wrong on a normal map and the shading breaks in ways that are hard to blame on anything else.
    • wrap_s / wrap_t - clamp stretches the edge pixel, repeat tiles. For a tiling texture library download, set both to repeat.
    • repeat_x / repeat_y - how many times it tiles across and down.
    • offset_x / offset_y / rotation - placement; rotation is the extra this node has over its image sibling, turning the texture on the surface in degrees (45.0 tilts it).
    • flip_y - leave at true unless the texture looks upside down.
    • anisotropy - sharpness at grazing angles; 16 keeps a floor crisp into the distance.

    Where it fits

    Same landing zone as any texture: straight into the map (or normal_map, roughness_map…) socket of a Three Standard Material or Three Physical Material, on a Three Plane Geometry or any mesh with UVs. Wire two instances for albedo plus normal - one srgb, one linear-srgb - and a single downloaded material set textures a whole object.

    Install

    WASThreeTextureURL ships with WAS Node Suite v3. Install via ComfyUI Manager (search WAS Node Suite v3) or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/WASasquatch/was-node-suite-comfyui.git
    

    Restart after. Requires ComfyUI 0.14.0+ and Python 3.10+. Missing from Add Node? The Three family is gated by features.threejs in <ComfyUI user dir>/was-node-suite/config.yaml - on by default in current releases - so check that key and restart.

    CategoryWAS Suite/Three

    Inputs (11)

    NameTypeDefaultDescription
    urlSTRINGWhere to fetch from, as `https://example.com/wood.jpg` or a `data:image/png;base64,` string.
    color_spaceCOMBOsrgb'srgb' for a colour map such as albedo; 'linear-srgb' for normal, roughness, metalness or alpha.
    wrap_sCOMBOclampWhat happens past the horizontal edge. 'clamp' stretches the edge pixel, 'repeat' tiles.
    wrap_tCOMBOclampWhat happens past the vertical edge. 'clamp' stretches the edge pixel, 'repeat' tiles.
    repeat_xFLOAT1.00-1024–1024How many times it tiles across. 1.0 fits once, 4.0 tiles four times.
    repeat_yFLOAT1.00-1024–1024How many times it tiles down. 1.0 fits once, 4.0 tiles four times.
    offset_xFLOAT0.00-1024–1024Slide across, in tiles. 0.5 moves it half a tile sideways.
    offset_yFLOAT0.00-1024–1024Slide down, in tiles. 0.5 moves it half a tile vertically.
    rotationFLOAT0.0-360–360Turn the texture on the surface, in degrees. 0.0 leaves it square, 45.0 tilts it.
    flip_yBOOLEANtrue`true` matches how image files are stored against how UVs are read; `false` turns it upside down.
    anisotropyINT11–64Sharpness at a grazing angle. 1 is off, 16 keeps a floor crisp into the distance.

    Outputs (1)

    NameTypeDescription
    textureTHREE_TEXTUREThe texture, for any map socket on a Three material node.