Dynamic rope that holds its form?

Anybody know of a dynamic rope that can hold its form while simulating? As in it does not collapse or flatten like a noodle and is poseable?

 

Comments

  • FirstBastionFirstBastion Posts: 7,760

    Don't know of any dynamic rope,  but a rigged rope,  one with plenty of bones, can be moved and placed into position.   https://www.daz3d.com/strings

  • FSMCDesignsFSMCDesigns Posts: 12,754

    Thanks for the link Fistbastion! can't believe I missd this product

  • Cris PalominoCris Palomino Posts: 11,358

    A dForce Dynamic Surface Add-On could be used to provide internal structural support for a rope mesh (to prevent it from collapsing on itself) that is set as a dForce Dynamic Surface. The premise is basically the same as one of the reasons the dForce Dynamic Surface Add-On feature was originally added; pseudo volumetric internal structures; e.g., spaghetti straps on a dress, rope-like necklaces/bracelets, drawstrings, etc.

  • RakudaRakuda Posts: 931
    edited April 2018

    Don't know of any dynamic rope,  but a rigged rope,  one with plenty of bones, can be moved and placed into position.   https://www.daz3d.com/strings

    Hear hear! @FirstBastion Thank you likewise for the link. I will definitely be checking that product out! That bramble looks fantastically cool!

    @CrisPalomino That sounds like something that I should figure out. Because posing a rope and letting it fall is less work than  spending a lot of time positioning a gazillion bones. Each technique could have its applications. In the case of a posed rigged rope, a varied set of pose presets would come in handy.

    ^__^

     

    Post edited by Rakuda on
  • barbultbarbult Posts: 24,240

    A dForce Dynamic Surface Add-On could be used to provide internal structural support for a rope mesh (to prevent it from collapsing on itself) that is set as a dForce Dynamic Surface. The premise is basically the same as one of the reasons the dForce Dynamic Surface Add-On feature was originally added; pseudo volumetric internal structures; e.g., spaghetti straps on a dress, rope-like necklaces/bracelets, drawstrings, etc.

    I haven't found any instructions for using Dynamic Surface Add-On. Can you post a link, please.

  • Richard HaseltineRichard Haseltine Posts: 100,830
    barbult said:

    A dForce Dynamic Surface Add-On could be used to provide internal structural support for a rope mesh (to prevent it from collapsing on itself) that is set as a dForce Dynamic Surface. The premise is basically the same as one of the reasons the dForce Dynamic Surface Add-On feature was originally added; pseudo volumetric internal structures; e.g., spaghetti straps on a dress, rope-like necklaces/bracelets, drawstrings, etc.

    I haven't found any instructions for using Dynamic Surface Add-On. Can you post a link, please.

    I don't think there is any more information, beyond a brief note that an Add-on collides only with vertices in the change log or the Start Here thread. I'd like to know how they work too (wondering if they could be used to make a clasp for items that fall open when dForce is applied).

  • murgatroyd314murgatroyd314 Posts: 1,516

    I don't remember where I read this, but I seem to recall that any vertex of an Add-on which coincides with a vertex of a normal dynamic surface will be welded to that vertex for the simulation. Edges are used as d-force springs but do not collide, so they can pass through other objects.

  • SickleYieldSickleYield Posts: 7,634

    I've been trying to experiment with the Add-On feature and having no luck.  So far in every test adding the Add-On modifier causes the item to fail to be recognized as a dynamic item by the engine.  It just throws an error message.  I tried it:

    -On a cylinder prop from DS's primitives

    -On a cylinder prop I meshed in Blender

    -On a prop from a preexisting dForce set, in case it was a geometry issue

    -On that same prop made into a figure with one bone, in case it only works on figures

    -Applied over an existing dForce modifier

    -Applied by itself on an item with no existing dForce modifier

     

    The Add-On adds dForce material settings like the regular dForce modifier, but it still seems not to work.  I'd love to know how it's meant to be used.  I definitely have an investment in doing dForce ropes. ;)

  • barbultbarbult Posts: 24,240

    Well, if SickleYield can't figure it out, I have no hope! I hope she gets the necessary help from Daz to get it working, because I sure would like to buy those ropes. 

  • murgatroyd314murgatroyd314 Posts: 1,516
    edited April 2018

    I've been trying to experiment with the Add-On feature and having no luck.  So far in every test adding the Add-On modifier causes the item to fail to be recognized as a dynamic item by the engine.  It just throws an error message.  I tried it:

    -On a cylinder prop from DS's primitives

    -On a cylinder prop I meshed in Blender

    -On a prop from a preexisting dForce set, in case it was a geometry issue

    -On that same prop made into a figure with one bone, in case it only works on figures

    -Applied over an existing dForce modifier

    -Applied by itself on an item with no existing dForce modifier

     

    The Add-On adds dForce material settings like the regular dForce modifier, but it still seems not to work.  I'd love to know how it's meant to be used.  I definitely have an investment in doing dForce ropes. ;)

    Have you just been trying these things on their own, or in combination with ordinary dynamic surfaces? I suspect that add-ons may need to actually be added on to something.

    Edit: I just tested. With a dForce add-on item alone in the scene, I get the "nothing to simulate" error. When I put another item in the scene with a standard dynamic modifier, there's no error.

    Edit 2: With the add-on item parented to the standard item, they're simulated as a unit. This seems to be the key.

    Post edited by murgatroyd314 on
  • ChoholeChohole Posts: 33,604

    Hence the name "Dynamic Surface Add-On"

  • Richard HaseltineRichard Haseltine Posts: 100,830

    I've been trying to experiment with the Add-On feature and having no luck.  So far in every test adding the Add-On modifier causes the item to fail to be recognized as a dynamic item by the engine.  It just throws an error message.  I tried it:

    -On a cylinder prop from DS's primitives

    -On a cylinder prop I meshed in Blender

    -On a prop from a preexisting dForce set, in case it was a geometry issue

    -On that same prop made into a figure with one bone, in case it only works on figures

    -Applied over an existing dForce modifier

    -Applied by itself on an item with no existing dForce modifier

     

    The Add-On adds dForce material settings like the regular dForce modifier, but it still seems not to work.  I'd love to know how it's meant to be used.  I definitely have an investment in doing dForce ropes. ;)

    Have you just been trying these things on their own, or in combination with ordinary dynamic surfaces? I suspect that add-ons may need to actually be added on to something.

    Edit: I just tested. With a dForce add-on item alone in the scene, I get the "nothing to simulate" error. When I put another item in the scene with a standard dynamic modifier, there's no error.

    Edit 2: With the add-on item parented to the standard item, they're simulated as a unit. This seems to be the key.

    Would you care to share your steps? My attempt yesterday failed - as in my rope blew up and filled the screen when simulated with an add-on of discs at each joint (the cylinder draped, but collapsed, without the add-on).

  • murgatroyd314murgatroyd314 Posts: 1,516

    My tests never got to the point of doing anything useful; they were just proof of concept.

    Primitive cylinder, 1 meter length, 1 meter diameter, oriented horizontally, dynamic surface modifier.

    Primitive plane, 1 meter side, oriented vertically along the diameter of the cylinder, dynamic add-on modifier.

    Without parenting, the cylinder fell in simulation, and the plane did not move.

    With parenting, the cylinder and plane both fell.

  • MechasarMechasar Posts: 202

    Hi guys! In view of the difficulties encountered using “STRINGS”, I would suggest you here how you can move these props easily, using two different approaches. Basically, you can use the ActivePose tool (combined with the Parameters pane) or dForce.

     

    About ActivePose tool: maybe I’ll tell the obvious, but for those who don’t know, you can select items in the Scene pane in two different way. You can use LMB+Ctrl for a multiple selection (item by item), or LMB+Shift for a multiple selection of all the items between two selections. In the latter case, this is very helpful when you need to select a lot of adjacent bones at once (and I know we have plenty of bones in these strings!). So, once you fix the base point of your string, using the ActivePose tool you can choose the bone from which you want to start pulling the string (let’s call this bone X). Then, you can lock the movements (Parameters pane -> LMB on Active Pane Options -> Lock -> Lock selected node(s)) of all the bones between the base point and the X bone, and start pulling the string from a new bone. In doing so, you can move your string quickly and easily around the obstacles, with a hint of natural movement. And if you need a very tight string, I suggest you use the Parameters pane only, rotating those bones in contact with an obstacle.

     

    About dForce: sure, you can use it on “STRINGS”. In this respect I would invite you to follow this brief example, step by step:

    1. Create a cube (Create -> New primitive -> Cube (1m size))
    2. Add in your scene a tape from “STRINGS” product (in this particular demonstration we use “tape” just to minimize the time required for the simulation)
    3. Open the Simulation Settings pane (Windows -> Panes (Tabs) -> Simulation Settings)
    4. Select your tape entirely. Go to the Simulation Settings pane (LMB on Active pane options -> dForce -> Add dForce Modifier: Dynamic Surface)
    5. Select your tape entirely. Rotate it 90 degrees on Z axis, then 90 degrees on Y axis (just to obtain a horizontal tape with its face turned to the cube)
    6. Open the Timeline pane (Windows -> Panes (Tabs) -> Timeline)
    7. Center your tape on the cube as you prefer using the X Translate parameter, then insert the value 101 in the Y Translate parameter
    8. Move the time slider of the Timeline pane on a few seconds forward
    9. Select your tape entirely. Insert the value 100 in the Y Translate parameter (now if you move the time slider you can see your “tape” moving up and down)
    10. You can start your simulation. Go to the Simulation Setting pane -> Editor -> Simulation -> Duration -> Frames to simulate -> Animated (Use Timeline Play Range)
    11. Push “Simulate” and wait

     

    And finally you can see your string bent around the cube by dForce physics. Now you can play with the material and physics options situated in the Surface pane -> selected item ­-> Simulation. Remember: the more the bones and details, the more the time for your simulation.

  • agent unawaresagent unawares Posts: 3,513

    My tests never got to the point of doing anything useful; they were just proof of concept.

    Primitive cylinder, 1 meter length, 1 meter diameter, oriented horizontally, dynamic surface modifier.

    Primitive plane, 1 meter side, oriented vertically along the diameter of the cylinder, dynamic add-on modifier.

    Without parenting, the cylinder fell in simulation, and the plane did not move.

    With parenting, the cylinder and plane both fell.

    Can you elaborate? Is this different from just having both objects set as a dynamic surface?

  • murgatroyd314murgatroyd314 Posts: 1,516

    My tests never got to the point of doing anything useful; they were just proof of concept.

    Primitive cylinder, 1 meter length, 1 meter diameter, oriented horizontally, dynamic surface modifier.

    Primitive plane, 1 meter side, oriented vertically along the diameter of the cylinder, dynamic add-on modifier.

    Without parenting, the cylinder fell in simulation, and the plane did not move.

    With parenting, the cylinder and plane both fell.

    Can you elaborate? Is this different from just having both objects set as a dynamic surface?

    This is about trying to figure out how dynamic add-ons work by trial and error. I don't know what exactly is going on, other than that this has a dynamic add-on in the scene, without an error, and apparently interacting with a normal dynamic surface. Further testing may reveal more, or it may turn out to be a dead end.

  • Richard HaseltineRichard Haseltine Posts: 100,830

    I made a cylinder in modo, then seelcted each edge loop around its girth in turn, created a polygon, and used the "Spikey" command to triangulate it (which did give each disc a high-valence vertex in the centre, I suspect that was the - or at least a - issue). I then split the discs from the original cylinder, exported both as OBJ, made the cylinder a dynamic surface and the dics a dynamic surface add-on.

  • RakudaRakuda Posts: 931
    edited May 2018

    Have to follow up on this line of thinking again as I am working on another project that has similar constraints trying to simulate a mop. I also have to solve a pass-through issue as shown.

     

    sim4.JPG
    653 x 660 - 96K
    Post edited by Rakuda on
  • RakudaRakuda Posts: 931
    edited May 2018

    Adding some more geometry to the clasp and using a simulation preset that was similar to the sweatshirt fabric seemed to work in this case. The strands seem to retain their round tubular form.

     

    moptest.jpg
    900 x 900 - 714K
    Post edited by Rakuda on
  • Studio94Studio94 Posts: 23

    Has anyone got any further insight on this?

    I've been experimenting on and off (when time allows) - trying to simulate rigid objects (or at least rigid enough to keep their shape after falling), and also interested in being able to simulate string / rope etc.

    I tried a hollow sphere parented to a sphere but without apparently any difference - i.e. - i can simulate free-falling spheres and cubes - but the presence of the parented add-on doesn't [seem to] make any (visible) difference to the result.

    FWIW ; (at least on my system) for free-falling self-contained objects (e.g. a sphere or cube), it seems important to keep the starting spring lengths (i.e. geometry edges) pretty even and not too far off 1cm .. although, in principle, the initialisation phase should cope with being told that the frame 0 lengths are "correct", it still seems to explode most times.  It also means picking geometry forms that have reasonably even distributions of quads.

     

  • Studio94Studio94 Posts: 23
    edited June 2018

    So a variation on Richard's experiment.  I cooked these up in Hexagon

    1) A series of discs with no center section joined by a geometry tube

    2) a Cylinder

    1+2 fused (a hollow cylinder)

    1+2 where 1 is parented to 2

    two cases shown here

    left to right

    Inner (dynamic-add-on) |  cylinder  | Cylinder+Inner (parented dynamic add-on) | hollow cylinder (the inner as a separate material zone)

    A) Other than making the inner a dynamic add-on (in the parented case) this is just default simulation values.

    image

    B) The inner, and inner material in the case of the hollow cylinder is set to a very light, but stiff material.

    image

    I can't honestly see what difference making the inner a dynamic add-on makes compared to the case of a single fused object.

    ====

    I think we need some expansion from a knowlegable DAZ person about the intent; understanding the physics, and the concepts of modelling is not enough - one needs to know how those things are mapped into the "knobs" we can turn from outside.

     

    DefaultSimvalues.png
    1024 x 1024 - 593K
    LightAndStiff.png
    1024 x 1024 - 597K
    Post edited by Studio94 on
  • Richard HaseltineRichard Haseltine Posts: 100,830

    Do the vertices match? As I understand it (and it's the only bit i do feel confident of) Add-Ons collide only with vertives, not with edges or faces.

  • Studio94Studio94 Posts: 23

    Yes (in so far as I can determine).

    I first created the inner and then the cylinder outer was created by bridging the outer loops of the inner discs;

    that copy makes the "hollow cylinder".

    The final cylinder was made by deleting the inner portion of that.

    Of course, if things are saved to text - and re-parsed, maybe some conversion rounding error could move them off ...  but I assume (maybe incorrectly, of course) that the hexagon bridge sends binary... [ definign the precision needed to qualify as "co-incident" would also be helpful].

  • Richard HaseltineRichard Haseltine Posts: 100,830
    Studio94 said:
    FWIW ; (at least on my system) for free-falling self-contained objects (e.g. a sphere or cube), it seems important to keep the starting spring lengths (i.e. geometry edges) pretty even and not too far off 1cm .. although, in principle, the initialisation phase should cope with being told that the frame 0 lengths are "correct", it still seems to explode most times.  It also means picking geometry forms that have reasonably even distributions of quads.

    DS is using the actual vertices and edges of the mesh in the simulation (apparently some systems generate an even proxy mesh and run the simulation on that, then project into the real mesh). As a result the results do depend on topology, with an uneven mesh giving uneven/lumpy results.

  • Richard HaseltineRichard Haseltine Posts: 100,830

    The Add-on geometry is defining extra springs, it doesn't need to be especially good as geometry. For this job the suggestion I've been given is a series of radially arranged rectangles each of which has one edge aligned with an edge of the cylinder on one side and another with the opposite edge of the cylinder, like a disc of cards bridging the width, then use the standard dynamic properties to get that to hold the cylinder open; each card is disconnected from the rest and the edges criss-cross, but that's OK as they aren't going to collide. It's too late here to try, but I think that makes things clearer if I've conveyed it adequately.

  • Studio94Studio94 Posts: 23
    Studio94 said:
    FWIW ; (at least on my system) for free-falling self-contained objects (e.g. a sphere or cube), it seems important to keep the starting spring lengths (i.e. geometry edges) pretty even and not too far off 1cm .. although, in principle, the initialisation phase should cope with being told that the frame 0 lengths are "correct", it still seems to explode most times.  It also means picking geometry forms that have reasonably even distributions of quads.

    DS is using the actual vertices and edges of the mesh in the simulation (apparently some systems generate an even proxy mesh and run the simulation on that, then project into the real mesh).  As a result the results do depend on topology, with an uneven mesh giving uneven/lumpy results.

    (without knowing the details of DS's impl. speculative statements here based on previous physical simulation experience :-) ) From the numerical stability point of view, there are attractions to controlling the mesh spacing (i.e. the reprojection method) since it allows one to reason more easily about convergence crtiteria etc. - the down side is potentially large increases in the geometry to equalise feature sze.

    === on the non-specultive side ...

    At the moment, lumpiness isn't the main issue ;-) it's trying to find recipes for the geometry and settings that allow simulation of objects (i.e. that don't explode during simulation) with real-world structural behaviour that's more complex than straight cloth - ropes. chains, beads hanging from the hem of a dress, things where the solid object can't be "not participating" since it needs to move with the cloth, and should also be affected by gravity.

    If I remember correctly, the optitex cloths were generally quite regular-sized triangular meshes.  I should go looking for cases with buttons etc.

     

  • Studio94Studio94 Posts: 23
    edited June 2018

    The Add-on geometry is defining extra springs, it doesn't need to be especially good as geometry. For this job the suggestion I've been given is a series of radially arranged rectangles each of which has one edge aligned with an edge of the cylinder on one side and another with the opposite edge of the cylinder, like a disc of cards bridging the width, then use the standard dynamic properties to get that to hold the cylinder open; each card is disconnected from the rest and the edges criss-cross, but that's OK as they aren't going to collide. It's too late here to try, but I think that makes things clearer if I've conveyed it adequately.

    I believe I understand what you're saying about the geometry; I did two experiments - one with 8-sided cylinders and 4 crossed rectangles per inner support - and one with two crossed squares.

    One thing that we should clarify is whether the add-on geometry is meant to be parented (as discussed earlier in this thread) - or whether the add-on geometry is supposed to be "picked up" by the collision with the straight dynamic part.

    Neither experiment proved terribly convincing - it's actually quite tricky to make the second in hexagon  but one can at least see that the vertices do match over part of the object, since where that fails the inner shows... green = cylinder, white = cylinder + parented crossed squares support, blue = welded cylinder+crossed squares, top shows the crossed squares support.

    image

    addendum: there may be some issues with matching vertices when transfering between apps .. trying a second version of the 4 rectangles/support.

    So .. here is a re-run of the four crossed rectangles.

    front (red) cylinder; middle (green) cylinder with parented dynamic-add-on;  back (blue) support mesh fused to the cylinder

    image

    support mesh is shown.

    At the moment, it also seems rather hit and miss, and based on a lot of supposition - perhaps it would be an idea to raise a ticket asking for a concrete (no pun intended) example ..

    Cylinders-5-stiff-inner.png
    1024 x 1024 - 632K
    Cylinders-6-four-rects.png
    2048 x 2044 - 2M
    Post edited by Studio94 on
  • Studio94Studio94 Posts: 23

    Two more thoughts (not solutions to how to do it - but possible suggestions for the evolution of the physical modelling in Studio)

    1. The idea of having separate geometry for the supports seems quite error-prone (depending on the "capture range" for vertex equality).  It's also kinda icky to have support geometry that's a whole bunch of disconnected frameworks.

      - suggestion;  make it possible to have a material zone in an object that is "dynamic add-on" so that there is one "supported" geometry (and the vertices are therefore shared, and therefore definitively co-incident).  So one would construct something like fused case above, except that the internal framework would be declared as a "dynamic add-on" and the outer cylinder material zone as "dynamic".

    2. Perhaps it's just forcing things too much and, for "string-like" geometries, it would be better to have a mathematical string (i.e. has zero dimensions orthogonal to its length) and parent that to the dynamic geometry - the string can then be modelled as a string - but having the properties (mass, diameter, stiffness etc.) of the parent geometry.

     

  • ChoholeChohole Posts: 33,604
    edited June 2018

    I am advised
     


    No. A separate parented object that is expected to have verticies that are coincident to vertices in the base mesh of the host is a considerably more flexible design; they can be removed/swapped/compounded rather easily/quickly using standard/common functionality that already exists in the application; they can each have many surfaces of their own, which are independently configurable; they don't require significant geometry pipeline changes to support what is ultimately inferior functionality.
     
    Post edited by Chohole on
Sign In or Register to comment.