Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Bug / Crash  Problems with the ObiRopeCursor
#1
We have a problem with the ObiRopeCursor not working as intended. We want a long rope that can extend and decrease it's length from one end. Here is what we have tried doing.
  • Open up the crane scene since the behavior of the rope there matches our goals.
  • Create a new fully set up rope from Scene menu (right click) → 3D Object → Obi → ObiRope(fully set up).
  • Remove the solver component form the new rope and drag the already existing solver from the scene( this is for making sure we have a solver that is configured properly for this kind of rope) to the ObiRope solver field.
  • In the pooled particles field of the ObiRope component set a value of 200.
Now this part if purely cosmetic if I understand correctly.
  • In the Mesh Renderer component in the Materials field at element 0 we assign RedRope material.
  • In the ObiRopeExtrudedRenderer we change the UV Anchor to 1 the UV Y scale to 5 and we deselect the normalize V bool variable.
After we have set up our rope we click Initialize and the rope shows up on the scene.
  • The next step is to add the ObiRopeCursor. With the rope set up as it is we configure the cursor normalized coord to 1 and we leave the direction bool variable enabled so the new particles of the rope instantiate from its right side(from the camera view).
  • Now we go to Edit Particles and fix all of them in place except the one that is on the right edge.
  • We add a simple script to change the rope length with the cursor.
public class RopeController : MonoBehaviour {
ObiRope rope;
ObiRopeCursor cursor;
// Use this for initialization
void Start ()
{
rope = GetComponent<ObiRope>();
cursor = GetComponent<ObiRopeCursor>();
}

// Update is called once per frame
void Update ()
{
if(Input.GetKey(KeyCode.W))
{
cursor.ChangeLength(rope.RestLength + 1 * Time.deltaTime);
}
else if(Input.GetKey(KeyCode.S))
{
cursor.ChangeLength(rope.RestLength - 1 * Time.deltaTime);
}
}
}


Now whenever the rope reaches near the end of its pooled particles the rope starts behaving poorly. The yellow indicator of the cursor that shows where the new particles come from starts moving backwards. 
Rope at the start
[attachment=341]
Rope working as intended - take a closer look at the Pooled particles.
[attachment=342]
Rope breaking when particle pool gets low enough.
[attachment=340]
Unity Version: 2018.2.14f1
Obi Rope Version: 4.0.2
Sorry about formatting, first time posting.
Reply