I’m trying to tie logs together using rope lashing technique. I know I can create a curve polyline as a guide and then pipe it, but how would I add the texture of the rope? I’m not sure how to add a texture to such a complex shape… any ideas? Or model it? How? Thank you.
For the first phase, I would begin with a curve(wire) creating the rope path.
With wire/rope it gets tricky because in places the rope packs well, and where the rope crosses itself it just stacks.
You can figure out how the rope packs or just stacks by drawing 2d circles or spheres. You can use grouped or blocked spheres with a point inside each. You can arrange the spheres where you want the path to go, perhaps 6 going around each rope path going around a post.
Then you can use a curve interpolate to make a curve along points, through the center of the spheres.
Remember: Rhino3D has an Undo function to under the last set point if you do one out of order.
You can also do each lap separately, and merge the ends later, but you don’t have that much there.
You can edit the paths, by moving the nodes around.
When the curve path is done, you have at least 2 choices:
1.) Create a pipe and used texturing and bumpmapping create the look of rope, and map a repeating texture onto it.
2.) Use real geometry to make the make the major strands, at least.
If you choose the later, you can find the length of the curve you made, by using the Menu/Analyze length.
Then you can construct a straight piece of rope, that length.
And then use Transform/Flow Along Curve to more or less map and distort your straight rope on the path you made.
In a past life I had to do that. I made a bump map(could use for displacement for more detail, but the impact on render time would be substantial) like this with a bunch of textured flat cylinders…I forget if they were bump-mapped or if that was an actual modeled feature, they may have been, the idea is to do the insane detail HERE so that you don’t have to worry about it later. Another part of it was a little script that set the texture mapping properly based on the proportionate length of the “rope.” I have done more brute-force realistic twisting cylinders(in turn using this bump map) around a line and using FlowAlongCrv, but for much bigger ropes than that, and the impact on render time was nuts
Here is a coil I made, using the same method. Notice the circles for determining the packing, and the curve splines. There is both packing and crossing. in the same coil.
BTW, unless you go crazy with length, if you turn on Record History, you can edit the rope afterwords, by moving a single node.
BTW, at one time I had a feature request to use the same “Natural” texture mapping that GTK radiant can do, which will automatically texturemap something like your rope, in seconds, with no fuss, no matter how many knots you tie into it, in just a few clicks.
I guess a way to describe it is: any spline/nurb could be textured by n wraps of a texture along its knots and splines. I do not believe that there is any equivalent in Rhino.
Is that different from the normal UV mapping parameters?
In theory, the mapping itself may be similar, but it’s really slick how it works.
The other cool GTKRadiant feature oddly is what I could only describe as point-mapping. There is only one point that the texture is attached to the object, if you resize the object, it just reels out more texture to match. For making lumber or most simple wood objects, or moldings or, in fact anything that uses are repeating texture, this is absolutely the cat’s meow. On the negative, in quite early versions of GTK Radiant, the texture lock was not perfected, and the texture/shader used to slide like an environment map : )
A while back I was surprised I couldn’t find a standard Rhino Command that does this so I made an “UnrollCrv” command for this application using a simple python script.
Thank you all. I will try the circle technique to create the rope path for piping.
Thank you Jim. I applied your texture and adjusted the scale to suite. It looks good in the “Render” view, but when I actually render it in vray or keyshot, the scale of the texture is off. Any ideas why? Cheers
Hi Brenda. I just did this exercise, but I’m tying the rope around two round logs, which makes it more complicated than a square object…I’m having a hard time getting the various circle in the correct position/orientation/offset.
Well the texture mapping should translate, so that’s funny, but maybe the materials have their own settings that are compounding the settings on the object?
Hi Peter, the hard part is, there is no shading on the curves to give you an indication as 3D form, as seen on a 2D monitor.
Your nudge keys may help you make sure you are moving the object on the axis that you think you are. Perhaps if you put a reference object in the area, even making an XYX widget, and keep turning the object, it may help you to determine the the position.
There are several line-types to create the rope path. You might even use straight sections, an then fillet them when you are done. Perhaps also you can use the edge of a sphere with points grouped on it for kind of a gauge block.
It also might help to use the curve offset to create offset curves a distance from curves that are touching the logs.
Because there are often more than one way of doing things, you also might be able to create a surface with enough nodes on it to wrap around the object by node editing, and then extract isocurves from it. You would need to skew or offset the curves to make them angled like a wrapped rope.
The first one usually takes much longer than the second one, but that’s part of the challenge, and fun sometimes.
[There’s a game where the user has to wrap rope around an object. I strongly suspect that the “rope” was a string of spherical collision planes,]
Well you’ll have to look into that, the UV mapping settings will definitely get exported–it’s a pretty critical thing–but they can also be overridden, or multiplied by settings in the materials themselves.
I’m interested in this topic, how can I create such complex ropes for some circles, can I more in detail about this?
Modeler3D, perhaps you can try a small experiment and work your way up, like:
1.) Open a copy of the your drawing of your fence.
2.) Set a point.
3.) Draw a sphere that has the same radius as your rope on the point.
4.) Group it.
5.) Make 3 copies of the point/sphere you made.
6.) Using the Gumball widget, move them somewhere along the surface where you want to create a rope.
7.) Make sure your Point snap is on.
8.) Using InterpCrv, draw a curve to connect the Points in the center of the curve (You can undo the last segment, if you need)
9.) Select the curve you just made.
10.) Make a pipe.
If you use Record History, you may be able move adjust the Curve by moving the Points.
If you use Record History, you can surely adjust the pipe by moving the curve nodes.
My mantra was:
To a large degree, the path of the rope can be represented by it’s center line,
Other than the tension, the path of the rope is determined by where and what it contacts.
In the examples above, I used circles to represent the edges of the rope so I can determine where it makes contact, but It would be handy to group points in the center of the sphere’s.
Basically, you can place circles where you think the rope would make contact, and use InterpCrv to connect them. The circles–or better yet, spheres just become 3 dimensional nodes, or nodes with a known offset.
In the example below, I lifted the pipe after it was done, so you can see the underlying curves, spheres, and points. This was just a quick, crude drawing, but I hope you get the idea.
Basically you are manually making collision spheres for a self colliding object.
You can get fancy. In the instance above, you could have just used Section command to create a profile of the object–even diagonally, and then Trim it to keep the part you want, and then Offset it for the radius of the rope, and then deal with the ends, perhaps by using straight lines and then matching them or radiusing them.
Diego, that looks great!