Default PolyWire UVs

   10352   13   4
User Avatar
Member
453 posts
Joined: Feb. 2013
Online
Hi!

1. Is there a way to get the automatic UVs from PolyWire SOP without any overlap? (Please see UVs in polyWireExample).

2. Is there a way to get PolyWire automatic UVs to get automatically sewn along uninterrupted lines?
For example, in polyWireExample2, I would expect 3 UV shells. Ideally the SOP would create just 2 non-overlapping UV shells in this case, but a method that would create 3 would probably be more simple and more stable.

3. Is there a way to get PolyWire automatic UVs that are proportionally scalled to the lenght and radius of the poly wires?

Attachments:
polyWireExample2.hiplc (55.1 KB)
polyWireExample.hiplc (49.9 KB)

User Avatar
Member
2526 posts
Joined: June 2008
Offline
There are some example files here on this topic.
http://forums.odforce.net/topic/23174-cables-over-cables-uv-problem/?hl=cables [forums.odforce.net]
Using Houdini Indie 20.0
Ubuntu 64GB Ryzen 16 core.
nVidia 3050RTX 8BG RAM.
User Avatar
Member
453 posts
Joined: Feb. 2013
Online
Thank you Enivob!
I was aware of the “copy and skin” and the “sweep” methods. But I specifically want to use polywire, because it is fast, gives good topolgy and can resolve branching lines with nice corners.
But by looking at these methods again, I realized that I can measure polylines and then use the resulting parameter to drive the “textv2” parameter on the polywire SOP to get the right proportion in lenght. Additionally I can put the circumference of the tube into the “textu2” parameter and I get the proportions perfect.
After that I discovered that I don't even have to use a measure node and can put $PTDIST in the “textv2” parameter.

Now I know I need to put something in the U Seam Offset, to prevent “crumbled up” UVs, but I can't quite figure out what.

Questions 1 & 2 are stilll open. Question 3 is resolved.^^
User Avatar
Member
24 posts
Joined: Nov. 2006
Offline
I'm also interested in a solution for question 3. Did you made any progress?
User Avatar
Member
2526 posts
Joined: June 2008
Offline
I'm not sure if you can get totally seamless where wires branch but F1 has posted an example file related to UVs and Polywire. Maybe there are some techniques contained in the example file you can leverage.
http://forums.odforce.net/topic/31049-how-to-properly-transfer-the-uv-map-from-a-high-poly-to-a-low-poly/?do=findComment&comment=172926 [forums.odforce.net]
Edited by Enivob - Sept. 1, 2017 08:32:00
Using Houdini Indie 20.0
Ubuntu 64GB Ryzen 16 core.
nVidia 3050RTX 8BG RAM.
User Avatar
Member
453 posts
Joined: Feb. 2013
Online
Hi,
I looked at my post, again, and then I looked at the stuff that Enivob linked (file by f1480187).

Attached is what I came up with.

Note that you can go beyond this level of control, but I think I sufficiently show the tools at your disposal.

All manners of upgrades, discussions, performance improvements and expansion are welcome. XD
Edited by DASD - Sept. 3, 2017 08:51:09

Attachments:
branch_uvs v2.hipnc (262.5 KB)

User Avatar
Member
323 posts
Joined: Jan. 2015
Offline
Hi DasD,
maybe not realy what you want but…
I have made a version with a different approach…

Attachments:
string_sweep_uv.hipnc (364.4 KB)

User Avatar
Member
453 posts
Joined: Feb. 2013
Online
Great solution Olaf! With a boolean node at the end you can even get somewhat decent intersections for this case.
User Avatar
Member
323 posts
Joined: Jan. 2015
Offline
HI DasD,
yes and you could even sync the position of the branching by doing a layout of the individual segments, so they would fit better…
I just did not need that right now…

And yes of course a boolean at the end would make it even nicer.

glad that you like it.

Olaf
User Avatar
Member
1 posts
Joined: Feb. 2017
Offline
Olaf,
thank you for your solution (I really like the clear way you present your approaches)

Theres only one thing: I wonder why the UV Projetion has to be scaled down by the exact number of 0.2?

Max
User Avatar
Member
81 posts
Joined: Feb. 2014
Offline
Hi DasD

Struggling with the same problem but in this case with a closed curve to polywire I came up with the following solution, which assumes you have your inputcurve re-sampled at even distances.

Append to the polywire a vertex wrangle with this line:



The number 16 stands for the amount of divisions of the polywire.
Now all UV's are nicely stacked instead of overlapping. Append a UV transform afterwards for proper scale/layout et voila.

Michiel
Edited by mackerBaehr - Nov. 29, 2018 08:54:50

Attachments:
uvStack.PNG (403.3 KB)

User Avatar
Member
453 posts
Joined: Feb. 2013
Online
m4x
Theres only one thing: I wonder why the UV Projetion has to be scaled down by the exact number of 0.2?
Max

It has to do with the radius to length ratio of the polywire. The uvproject is in cylinder mode, so the radius is always mapped 0 to 1. The scale only affects one dimension and thereby effectively controls the stretching of the UVs along the cylinder. If you increase the radius of the tube, you need to adjust the scale.
To get it exact you just use ch(“../polywire1/radius”)*3.14159*2 for the scale. (3.14 etc. is Pi and we get this from https://en.wikipedia.org/wiki/Circumference).

I am working on a more complete solution. XD
Edited by DASD - Nov. 30, 2018 21:27:12
User Avatar
Member
453 posts
Joined: Feb. 2013
Online
I think i might have solved all of it.

Attachments:
polywire_uv2.hipnc (546.9 KB)

User Avatar
Member
1 posts
Joined: Oct. 2020
Offline
I made a tool that does something similar amongst other things for Polywire
Fixes the both U and V coordinates mainly be looking at topology and connections - so it supports branching.

It's free and can be downloaded here: PolyWire UVs — Richard C Thomas [richardcthomas.com]

Hope it helps!
  • Quick Links