UnityGame/Library/PackageCache/com.unity.ai.navigation/Documentation~/CreateOffMeshLink.md
2024-10-27 10:53:47 +03:00

3.4 KiB
Raw Blame History

Creating an Off-mesh Link

Off-Mesh Links are used to create paths crossing outside the walkable navigation mesh surface. For example, jumping over a ditch or a fence, or opening a door before walking through it, can be all described as Off-mesh links.

Were going to add an Off-Mesh Link component to describe a jump from the upper platform to the ground.

  1. First create two cylinders: Game Object > 3D Object > cylinder.
  2. You can scale the cylinders to (0.1, 0.5, 0.1) to make it easier to work with them.
  3. Move the first cylinder at the edge of the top platform, close to the NavMesh surface.
  4. Place the second cylinder on the ground, close to the NavMesh, at the location where the link should land.
  5. Select the first cylinder cylinder and add an Off-Mesh Link component to it. Choose Add Component from the inspector and choose Navigation > OffMesh Link.
  6. Assign the first cylinder in the Start field and the second cylinder in the End field.

Now you have a functioning Off-Mesh Link set up! If the path via the off-mesh link is shorter than via walking along the NavMesh, the off-mesh link will be used.

You can use any game object in the Scene to hold the Off-Mesh link component, for example a fence prefab could contain the off-mesh link component. Similarly you can use any game object with a Transform as the start and end marker.

The NavMesh bake process can detect and create common jump-across and drop-down links automatically. Take a look at Building Off-Mesh Links Automatically for more details.

Details

If the agent does not traverse an OffMesh link make sure that both end points are connected correctly. A properly connected end point should show a circle around the access point.

Another common cause is that the NavMesh Agents Area Mask does not have the OffMesh Links area included.

Additional resources