AABB
AlignmentBehavior
ArriveBehavior
AStar
BFS
BoundingSphere
BVH
BVHNode
Cell
CellSpacePartitioning
CohesionBehavior
CompositeGoal
ConvexHull
Corridor
CostTable
DFS
Dijkstra
Edge
EntityManager
EvadeBehavior
EventDispatcher
Behavior
FollowPathBehavior
FuzzyAND
FuzzyCompositeTerm
FuzzyFAIRLY
FuzzyModule
FuzzyOR
FuzzyRule
FuzzySet
FuzzyTerm
FuzzyVariable
FuzzyVERY
GameEntity
Goal
GoalEvaluator
Graph
GraphUtils
HalfEdge
HeuristicPolicyDijkstra
HeuristicPolicyEuclid
HeuristicPolicyEuclidSquared
HeuristicPolicyManhattan
InterposeBehavior
LeftSCurveFuzzySet
LeftShoulderFuzzySet
LineSegment
Logger
MathUtils
Matrix3
Matrix4
MemoryRecord
MemorySystem
MeshGeometry
MessageDispatcher
MovingEntity
NavEdge
NavMesh
NavMeshLoader
NavNode
Node
NormalDistFuzzySet
OBB
ObstacleAvoidanceBehavior
OffsetPursuitBehavior
OnPathBehavior
Path
Plane
Polygon
Polyhedron
PriorityQueue
PursuitBehavior
Quaternion
Ray
RectangleTriggerRegion
Regular
RightSCurveFuzzySet
RightShoulderFuzzySet
SAT
SeekBehavior
SeparationBehavior
SingletonFuzzySet
Smoother
SphericalTriggerRegion
State
StateMachine
SteeringBehavior
SteeringManager
Task
TaskQueue
Telegram
Think
Time
TriangularFuzzySet
Trigger
TriggerRegion
Vector3
Vehicle
Version
WanderBehavior

Load

该方法是NavMeshLoader对象的一部分,它用于加载已经构建好的导航网格数据。

语法

NavMeshLoader.load(url: string): Promise<NavMesh>

参数

  • url: string - 要加载的导航网格数据的URL。

返回值

返回一个Promise对象。

  • 如果成功加载导航网格数据,则Promise对象将解析为NavMesh对象。
  • 如果失败,则Promise对象将拒绝,并传递一个错误对象。

示例

以下是一个示例代码片段,演示如何使用load方法加载导航网格数据。

const loader = new NavMeshLoader();
const navMesh = await loader.load('https://example.com/path/to/navmesh.json');

const startPosition = { x: 0, y: 0, z: 0 };
const endPosition = { x: 10, y: 0, z: 10 };

const path = navMesh.findPath(startPosition, endPosition);
console.log(path);

异常

在加载导航网格数据时可能会发生错误,例如:

  • 文件不存在或URL错误。
  • 数据格式不正确。

如果发生以上异常,则Promise对象将拒绝,并传递一个错误对象。如果需要处理异常,则可以使用catch方法捕捉异常。

以下是一个示例代码片段,演示如何处理异常。

const loader = new NavMeshLoader();
loader.load('https://example.com/error')
    .then(navMesh => {
        // do something 
    }).catch(error => {
        console.error(error);
    });

注意事项

  • 该方法是异步的,因此需要使用回调或promise来获取结果。
  • 如果要对导航网格数据进行操作,必须先加载它。
  • 导航网格数据的格式应该是JSON。