<UDIM> tag and "op:" to COPs

   382   4   1
User Avatar
Member
662 posts
Joined: Aug. 2014
Offline
I have several COP nulls named "UDIM_1001", "UDIM_1002", and so on, which represent UDIM tiles. I'm trying to reference them inside the MaterialX (mtlximage operator, to be precise) with op:/img/copnet1/UDIM_<UDIM>, but for some reason the UDIM tag doesn't seem to be working when used in conjunction with "op:" (it works fine with files though).
Is this a known limitation?

I was more successful previewing op-linked UDIM textures in SOPs, by first generating udim_tileprimitive attribute with Labs' UDIM Tile Number SOP, then by creating groups based on this attribute, and finally by using a chain of COP Preview Material SOPs - one for each UDIM group. However, I wonder if there's a more automated way. I tried <UDIM>tag with the op: path, but it doesn't work here as well. At least not for COPs as a source.
Edited by ajz3d - May 26, 2026 14:54:57
User Avatar
Staff
5333 posts
Joined: July 2005
Offline
The syntax is different for COPs:

op:/path/to/cop?udim=1001,1002,1005

Unlike files, which we can search for the existence of to determine the UDIM tiles, we cannot do that for COPs - so you as a user need to provide the tile numbers.
User Avatar
Member
662 posts
Joined: Aug. 2014
Offline
Makes perfect sense. Thank you, Alexander. However, for some reason it doesn't work. For example, I have the following COP paths:
  • /obj/shirt/COPs/UDIM_1001
  • /obj/shirt/COPs/UDIM_1002
  • /obj/shirt/COPs/UDIM_1003

What I'm entering in MtlxImage's filename parameter is:
op:/obj/shirt/COPs/UDIM_?udim=1001,1002,1003
None of the COPs are loaded.

I tried this with COP Preview Material and it doesn't work either.
I'm looking through the documentation, but I don't see any mention of this syntax (?udim=).
User Avatar
Staff
5333 posts
Joined: July 2005
Offline
ajz3d
Makes perfect sense. Thank you, Alexander. However, for some reason it doesn't work. For example, I have the following COP paths:
  • /obj/shirt/COPs/UDIM_1001
  • /obj/shirt/COPs/UDIM_1002
  • /obj/shirt/COPs/UDIM_1003

What I'm entering in MtlxImage's filename parameter is:
op:/obj/shirt/COPs/UDIM_?udim=1001,1002,1003
None of the COPs are loaded.

I tried this with COP Preview Material and it doesn't work either.
I'm looking through the documentation, but I don't see any mention of this syntax (?udim=).

One of the COP devs might be able to answer this in more detail, but essentially the UDIMs have to be in one COP node, and the context option UDIM determines which layer is cooked. So in a File COP, for example, you'd insert the UDIM context option token for the frame number portion of the file path, and running the op: would cook that COP multiple times for each UDIM tile (but unfortunately I don't know the syntax of that token).
User Avatar
Member
9689 posts
Joined: July 2007
Offline
malexander
(but unfortunately I don't know the syntax of that token)
in File COP you can use
<UDIM>

however if you are generally trying to insert the currently cooked UDIM number within some expression then use
@UDIM
Edited by tamte - May 27, 2026 00:16:12
Tomas Slancik
CG Supervisor
Framestore, NY
  • Quick Links