Twisting a mesh for cloth-like effect.

This is my reference image, focusing on what I wish to achieve.



As you can see, the handle of the blade is covered in a cloth, which is twisted around itself. This can be better seen here:


What I wish to achieve is to be able to model one of those, then array them or simply duplicate them, then create the rest of the “cloth” and connect it into a single object.

I have issues with twisting the mesh. I am also appaling at sculpting (everything looks low res, with evident faces and whatnot).
How do I achieve this effect? (I am going for a realistic model.)

twisted_mesh_ja12.blend (128 KB)
Used proportional editing for the twist, shear for the diagonal offset.

Could you possibly expand upon that?

Tried to think of a way but no, would take too long to explain everything I did, but could summarize.

All in all, use very little geometry to start with and add as you go


Made a simple mesh and rotated the half using proportional editing tool, and also so that the middle is perpendicular to the handle and scaled it so it’s squished. Also added loops, especially in the middle because the polygons are non-planar. Then added an array setup with a helper empty to rotate it to the other side, then also used shear tool to offset the mesh. Could do that part later, or not at all if it has to go all around and come back to itself

Added a bevel which adds loops on the parts that go around the rounded edges of the handle. Then used shrinkwrap to adhere those parts to it, and also added offset so it’s not attached to it. Solidify adds thickness


Made a duplicate and applied all modifiers except the array. Added more geometry to detail it further

Added another array with constant offset and enabled merge to get the duplicate meshes to line up and connect. Also did a loop reduction on both sides of the twist.

It’s not perfect, the faces on the twist are still a bit too non-planar. Would be better if they would be less so, either by adding more loops on the twist part so that one doesn’t have to up the subdivision level, or by figuring out a way to organize the structure so it aligns with the twist a bit better.

My main issue is twisting the plane. Doing so results in artefacts as, evidently, it is done on the same axis. I want the end vertices, on each end, to be on the same axis, but with one crease to overlap the other, as shown in the reference image (and as exemplified by you).
I’ll exemplify my issue:



I rotate along the Z axis for 180 degrees (due to logical reasons). How would proportional editing help? I also tried adding loop cuts, or extruding the plane before doing so, but that does not fix my issue.

You can’t twist a single plane. You would connect two triangles, or add an edge in the middle and collapse it, to make that shape. But that’s not what the reference shows, it shows a painted twisted ribbon, and if you were to model it, you would have to make one and twist it so it overlaps in the middle, without actually overlapping the geometry. Just as a real textile ribbon.

Any curved surface, twist or otherwise, is going to need more geometry than just a single face. The steeper the angle, the more geometry it needs for the faces to remain relatively planar, the silhouette of the curvature to be approximated sufficiently (density). Those are needed for the smooth shading and/or subdivision surfaces to smooth it out equally with other curvatures on the model.

There are other ways to model it to make it look like a twisted ribbon without actually twisting the geometry


Due to the help from @JA12 and Blender Stack Exchange, I have found the fastest and most convenient solution (at this moment in time).

All you must do is create the plane, rotate it along the X axis for 90 degrees so that you can view it, and then add a multitude of loop cuts (horizontally) before selecting the top edge and moving the cursor to active. Then, with Linear Proportional Editing enabled, rotate along the wanted axis until the twist is complete. Afterwards, edit accordingly.

This link was particularly useful, which talks of other methods: https://blender.stackexchange.com/questions/65633/how-can-i-create-twisted-geometry

Out of curiosity, could you detail the method you employed in the previous reply, JA12? It seems quite fitting, especially for a low-poly, game asset.

The details and the amount of information are important from both sides when asking and answering posts. That’s why I don’t usually participate in threads like this, also why I wrote a tutorial for asking questions which is linked in my signature, and probably the reason why others haven’t answered the thread so far. Might not make sense now, but you’ll understand after you answer 1000 or so threads with the details you speak of and struggle to learn anything new from them, and 50 of which don’t even get a reply let alone a thank you.


  1. Plane
  2. subdivided (w), 2 cuts from the operator panel
  3. middle face selected, poke (alt+p)
  4. edges for the X form selected, bevel (ctrl+b), loop slide off
  5. newly created faces for the X form selected, inset (i), boundary off, only depth
  6. two loop cuts, moved up
  7. two more on the other side, faces from the ends moved level with the other side faces using vertex snapping (ctrl+shift+tab) along Z axis
  8. inset with outset option. this is for the faces that get tucked under the other side. it’s to line those with a face loop, because at the cross-section those help to hold the form against the faces for the other side that go over
  9. only the edges selected and subdivided. this adds similar loops for the other side, but without stopping at the cross-section
  10. edge slide (g twice) for each edge loop to slide them against the form


  1. horizontal edge loops selected and beveled, loop slide option on, this smooths the curvature leading in and out the cross-section
  2. linked outside faces selected and deleted. selected one face from each side, ctrl+alt+shift+F to select the rest, X -> faces
  3. 5 loop cuts on both sides to break the perfect form with a bit of wrinkles. those cuts stop at a triangle for a reason
  4. after the cuts there’s an n-gon on each side, which are poked
  5. then the middle vertex is slid over the corner one, and merged with remove doubles (w -> remove doubles)
  6. every other loop moved up, added some creasing (shift+e). also refined the cross-section by moving loops in and added full creasing, also marked them as sharp (ctrl+E -> mark as sharp), which sharpens the shading on the edges and make it look more like one is under the other. Sharp edges are in effect with auto smooth option
  7. subdivision surface modifier with level 1 is added (ctrl+1), and smooth shading is enabled from the tool shelf
  8. result. forgot to enable auto smooth in object data properties with the angle of 80 which cleans the shading a bit

Attachments

twisted_mesh2_ja12.blend (157 KB)

Thank you for the entirety of your assistance. I agree that I could have provided more detail on my behalf, and should have (perhaps) done a bit more research beforehand (or asked other specific websites/forums).