Search - User list
Full Version: Flickering on animation
Root » Technical Discussion » Flickering on animation
Island
I've been trying to UV map a sweep model of a square knot, and I added a rotation over time to the cross section (circle). Most of the time it animates ok, but for certain frames, I get an ugly artifact (see attachment). I'm not sure what I am doing wrong.
Attachment Not Found
Island
I was partially able to solve this, but I don't know why this is so much more complicated than Cinema 4D's sweep nurb. In C4D, a sweep allows spine control (for varying thickness) easily, creates UV's automatically, and doesn't have to do strange things like start with an open circle of 359 degrees and exchanging U and V coordinates to avoid ugly seams. If one adds a polycap, it creates ugly renders like above. I have to select the end loop and create groups to have it behave properly. Here is a fix with notes to show the issues and an updated file. Please, SideFx, make this easier - if you want to market Houdini to modelers.


Attachment Not Found
matthias_k
You have to distinguish between point and vertice attributes.
Usually it is better to have the UV attribute as vertice attribute,
because shared points, like your “begin/end” point will try
to share the same UV coordinate if UV is assigned as point attribute.

If you do not like to repeat creating all the nodes,
you can create an digital asset :-)
Island
That is VERY helpful. Rotating one Uv texture -90 degrees made the need to map v coordinates from u coordinates not necessary. The digital asset idea will make this process easier and I liked that your method doesn’t require a 359 degree open arc and adjusting the fuse distance.

Is there a way in uv transform to put in an expression that scales the y axis by arclen circle divided by arclen curve?
matthias_k
arclen("../" + opinput(".", 0),0,0,1)

should give the length of the first input, which can be used to scale the UVs.

“arclen spline” in the “texture type” select should do the same…
(but not working here)
Island
Thank you again. I would never in a million years have been able to come up with that expression on my own with SideFx help and Google.
matthias_k
:-) many thanks


arclen("../" + opinput(".", 0),0,0,1)
is same as:
arclen("../NodeToGetValueFrom",0,0,1)

which one to choose, depends on your needs

arclen:
http://www.sidefx.com/docs/houdini/expressions/arclen.html [www.sidefx.com]

opinput in action:
http://www.sidefx.com/docs/houdini/expressions/opinput.html [www.sidefx.com]
Island
The description in your link above for arclen was not particularly intuitive, but your solution was very helpful. The index of a curve and way of expressing what node was being measured were not things that I could have figured out with the links.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB