Image sequence Surface Color

   742   5   2
User Avatar
Member
243 posts
Joined: July 2006
Offline
I'm trying to use an image sequence in a Surface Color VOP and it's only loading the first image ( img.0001.exr ) not the current frame $F4

I noticed when I try the texture seq in the Surface Textures tab of a principled shader it works fine.

I tried loading it first to cops, then reference it with op: syntax, same story.

If this is a bug, any work around I can use in the meantime ?

I'm using 16.0.541
User Avatar
Member
2694 posts
Joined: Sept. 2011
Online
It's not a bug, time dependent expressions are not supported in vex, without using a parameter to pass the evaluation to the shader. Promoting the filepath input of the surface color node, and placing the expression on the parameter will work, but the parameter needs a level above to exist in order to evaluate. Meaning the parameter node must be inside a material builder for the animated value to evaluate.

I'm not sure why the op referenced composite image didn't work, but it seems to have the same limitations, parameter node in a material builder only.
User Avatar
Member
243 posts
Joined: July 2006
Offline
Thanks, got it.

Now the problem is that I need to drive the Alpha parameter of a Layer Mix with this sequence. So do I need to tuck everything inside a mat builder or can I somehow bring the surface color output to the root level ?
User Avatar
Member
2694 posts
Joined: Sept. 2011
Online
Unfortunately, it doesn't seem possible. The parameter with the animated value has to be in the outermost material builder. A work around, would be to store the attribute on your geometry. If your geometry is animated, you could store the texture path for the current frame as detail or primitive attribute.
User Avatar
Member
243 posts
Joined: July 2006
Offline
Thanks, so stuffing everything in a material builder is working for me. Thanks for your help.
User Avatar
Member
102 posts
Joined: July 2018
Offline
jsmack
It's not a bug, time dependent expressions are not supported in vex, without using a parameter to pass the evaluation to the shader. Promoting the filepath input of the surface color node, and placing the expression on the parameter will work, but the parameter needs a level above to exist in order to evaluate. Meaning the parameter node must be inside a material builder for the animated value to evaluate.

I'm not sure why the op referenced composite image didn't work, but it seems to have the same limitations, parameter node in a material builder only.


I ve been looking for an answer to this but i dont quite understand what you are saying. can you provide an example?
i have a primitive string attribute with the filepath including the expression $f3 etc and i plug that attribute to a material node to override base color texture but it doesnt work. The material node points to a principled shader
  • Quick Links