Version: 5.3 (switch to 5.4b)
IdiomaEnglish
  • C#
  • JS

Idioma de script

Selecciona tu lenguaje de programación favorito. Todos los fragmentos de código serán mostrados en este lenguaje.

NavMesh.SetAreaCost

Sugiere un cambio

¡Éxito!

Gracias por ayudarnos a mejorar la calidad de la documentación de Unity. A pesar de que no podemos aceptar todas las sugerencias, leemos cada cambio propuesto por nuestros usuarios y actualizaremos los que sean aplicables.

Cerrar

No se puedo enviar

Por alguna razón su cambio sugerido no pudo ser enviado. Por favor <a>intente nuevamente</a> en unos minutos. Gracias por tomarse un tiempo para ayudarnos a mejorar la calidad de la documentación de Unity.

Cerrar

Cancelar

Cambiar al Manual
public static function SetAreaCost(areaIndex: int, cost: float): void;
public static void SetAreaCost(int areaIndex, float cost);

Parámetros

areaIndex Index of the area to set.
cost New cost.

Descripción

Sets the cost for finding path over geometry of the area type on all agents.

This will replace any custom area costs on all agents, and set the default cost for new agents that are created after calling the function. The cost must be larger than 1.0.

You can use NavMesh.GetAreaFromName to find the area index based on the name of the NavMesh area type.


        
// ToggleWaterCost.cs
using UnityEngine;
using System.Collections;
public class ToggleWaterCost : MonoBehaviour {
	void Update() {
		if (Input.anyKeyDown) {
			// Make water area 10x more costly to traverse.
			NavMesh.SetAreaCost(NavMesh.GetAreaFromName("water"), 10.0f);
		}
	}
}

See also:
Areas and Costs – to learn how to use different Area types.