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

consequence

在Yuka js库的FuzzyRule中,规则的consequence是执行该规则后的处理结果,也被称为“结论”。consequence通常包含一个或多个模糊变量,并指定它们的输出或应该采取的操作。

语法:

consequence: {
  [fuzzyVariableName]: fuzzyValue
}

参数:

  • fuzzyVariableName: 字符串,表示一个模糊变量的名称。
  • fuzzyValue: 数值,表示这个模糊变量的输出值。

例子:

假设我们有一个模糊控制器,用于控制一个加热器的温度。假设该控制器有两个输入变量:当前温度和目标温度,并且一个输出变量:加热器功率。现在,假设我们制定以下模糊规则来控制加热器:

IF (当前温度 为 很冷 AND 目标温度 为 很冷) THEN (功率 为 高)
IF (当前温度 为 冷 AND 目标温度 为 冷) THEN (功率 为 中等)
IF (当前温度 为 温暖 AND 目标温度 为 温暖) THEN (功率 为 低)
IF (当前温度 为 热 AND 目标温度 为 热) THEN (功率 为 非常低)

在这个例子中,每一个规则的consequence都包含一个fuzzyVariableName和一个fuzzyValue,表示对应变量的输出值。例如,第一条规则的consequence为:

consequence: {
  "功率": "高"
}

其中,"功率"表示模糊变量的名称,而"高"则表示对应的模糊输出值。

需要注意的是,在实际应用中,模糊规则和模糊变量通常需要根据具体的问题进行调整和设计,以获得更好的控制效果。