Rope Tool

Overview

Ropes can be used to attach objects together or to hang objects from. They react to objects around them, but will not affect those objects.

The rope tool can be found under RollupBar -> Objects -> Misc -> Rope.

Rope Creation

Turn on follow terrain and snap to objects. Place the rope by using the left mouse button. This works in a similar way as placing a road.

A rope can be edited using the edit rope button in its properties.

You can move points in the normal way, add points by CTRL+left click and remove them by double-clicking.

When in Edit Rope mode, you will notice that a point can be colored green or red. Green means the rope is validly attached, and red means the rope is not attached to anything.

AttachedNot Attached

Properties

Rope Params

Description

Radius

The radius, or thickness, of the rope.

Smooth

Defines if the rope will be smoothed out or not.

Num Segments

The number of segments of geometry used in the rope along its length.

Num Sides

The number of sides around the circumference of the rope. 4 sides would make it a diamond shaped tube, 8 sides would make it much smoother, etc.

Texture U Tiling

Texture tiling in the U direction.

Texture V Tiling

Texture tiling in the V direction.

CastShadows

Enable shadow casting from the rope.

Bind Ends Radius

Specifies whether the ends will be automatically attached.

Bind Radius

The environment around the ends of the rope will be tested using a box of this radius to find places for the rope to attached to.
Note that if bind radius is greater than 0.05 the ends are snapped to the colliding surface.

Physics Params

Subdivide

Turns dynamic subdivision on.

Max Subdiv Verts

Maximum number of subdivided vertices per segment.

Physical Segments

Number of rope segments in physics (can be different from the number of segments used for rendering).
For colliding ropes, make sure that there are enough physical segments so that segment length is at least two times smaller than the dimensions of the objects the rope collides with.

Tension

Specifies tension in the original state. A positive value will cause the rope ends to pull together, negative will add slack to the rope (-0.02 is a good starting point for experiments).

Friction

The friction effective in a non-strained mode. In a strained mode with dynamic tessellation, this that prevents the rope from slipping until it tilts too much.

Wind X, Y, Z

Simulated wind, additional to any area-specific winds around.

Wind Variance

How much the wind varies. Basically a randomization multiplier on top of the base Wind XYZ values.

Air Resistance

Must be set in order for global environment wind to take effect. Not necessary for simulated Wind XYZ values.

Water Resistance

How the rope interacts with water effectively damping when under water.

Check Collisions

Ignore collisions from other objects, bullets, etc.

Ignore Attachment Collisions

Ignore collisions with the object it is attached to.

Ignore Player Collisions

Ignore collisions with players.

Non-shootable

Rope cannot be broken by shooting. Rope will still react to physical impulses from bullets.

Disabled

Simulation is completely disabled.

StaticAttachStart

Attach start point to the 'world'.

StaticAttachEnd

Attach end point to the 'world'.

Advanced Params

Mass

This affects how strongly the rope will react to bullet hits. When interacting with solid physicalized objects, it is always treated as weightless.

Friction Pull

How strongly the rope opposes movement in its pull direction (when strained with dynamic tessellation).
Keep this value either small enough (0.1 - 0.3) to get some resistance, or large enough (5-10 - 100+) to make sure the rope sticks firmly in most cases.
Intermediate values can lead to unstable behavior when the object the rope rubs against (ex. a pulley) is light enough compared to the objects it is tied to.

When subdivision is off, it's used as 'twist' damping for attached objects.

Max Force

The rope will detach itself when this strain limit is breached.

Solver Iterations

Ropes with very large segment counts (40+) might need this increased (values up to 10k are still viable).

Max Timestep

Sets the maximum time step the entity is allowed to make (defaults to 0.01). Smaller time steps increase stability (can be required for long and thin objects, for instance), but are more expensive.
Each time the physical world is requested to make a step, the objects that have their maxsteps smaller than the requested one slice the big step into smaller chunks and perform several substeps.
If several objects are in contact, the smallest max_time_step is used.

Stiffness

Rope's stiffness against stretching. Might need tweaking for longer ropes.
Note the in most cases ropes will use exact length enforcement (meaning 'infinite' stiffness), but internally stiffness will still be used to compute the dynamics.

Contact Hardness

Hardness of contacts and length enforcement in subdivision mode, when strained and potentially touching other objects in the middle. Higher values make it potentially less stable.

Damping

Sets the strength of the damping on an object's movement. Most objects can work with 0 damping; if an object has trouble coming to rest, try values like 0.2 - 0.3.
Values of 0.5 and higher appear visually as overdamping. Note that when several objects are in contact, the highest damping is used for all associated contacts.

Sleep Speed

If the object's kinetic energy falls below some limit over several frames, the object is considered "sleeping". This limit is proportional to the square of the sleep speed value.
A sleep speed of 0.01 loosely corresponds to the object's center moving at a velocity of the order of 1 cm/s.

Sound Params

Name

Name of the sound to be attached.

Segment

The segment to which the sound is attached.

PosOffset

The position offset indicates how far a sound is moved away from its original attachment point.
The number (.0-1) moves the sound along the length of the segment to which the sound is attached.

FMOD Setup

Please note, that when setting up a sound in FMOD for use with ropes, a new parameter has been added. "Angle" indicates the angle of the nearest joint, unless that joint is at the very beginning or end of the rope.

The angle that the two segments form, from 0-180 degrees, will then affect the sound as the designer decides. When setting up the sound, also pay attention to the sound's speed in km/h.

Dynamic Tessellation/Subdivide

There are two rope simulation modes, with dynamic tessellation on or off. Without dynamic tessellation rope, segments are asset-based and are simulated as rigid sticks. In this mode the rope cannot properly collide with objects when it's tied with both ends and strained.

With dynamic tessellation the rope has SegCount segments (independently of the actual rope asset), and each of them can have a maximum of SubVtxCount internal vertices, created at collision points.

More segments make the rope less likely to tunnel through thin objects, but increase the simulation cost. Refer to the art documentation on how to author rope assets for these two modes.