This commit is contained in:
PC-20230316NUNE\Administrator
2024-08-31 21:05:29 +08:00
parent d67032e1de
commit 77b305be7a
53 changed files with 316 additions and 118 deletions

View File

@@ -52,11 +52,16 @@ namespace DotRecast.Detour.Crowd
/// The desired speed.
public LFloat desiredSpeed;
public RcVec3f npos = new RcVec3f(); // < The current agent position. [(x, y, z)]
public RcVec3f disp = new RcVec3f(); // < A temporary value used to accumulate agent displacement during iterative collision resolution. [(x, y, z)]
public RcVec3f dvel = new RcVec3f(); // < The desired velocity of the agent. Based on the current path, calculated from scratch each frame. [(x, y, z)]
public RcVec3f nvel = new RcVec3f(); // < The desired velocity adjusted by obstacle avoidance, calculated from scratch each frame. [(x, y, z)]
public RcVec3f vel = new RcVec3f(); // < The actual velocity of the agent. The change from nvel -> vel is constrained by max acceleration. [(x, y, z)]
// 当前代理的位置。这是一个三维向量包含x、y、z坐标。
public RcVec3f npos = new RcVec3f();
// 一个临时值用于在迭代碰撞解决过程中累积代理的位移。这也是一个三维向量包含x、y、z方向的位移。
public RcVec3f disp = new RcVec3f();
// 代理的期望速度。这个速度基于当前路径并且每帧都会重新计算。这是一个三维向量表示x、y、z方向上的期望速度。
public RcVec3f dvel = new RcVec3f();
// 经过障碍物避让调整后的期望速度。这个速度也是每帧重新计算并且考虑到了障碍物避免的逻辑。这是一个三维向量表示调整后的x、y、z方向上的速度。
public RcVec3f nvel = new RcVec3f();
// 代理的实际速度。从nvel到vel的变化受到最大加速度的限制。这也是一个三维向量表示x、y、z方向上的实际速度。
public RcVec3f vel = new RcVec3f();
/// The agent's configuration parameters.
public DtCrowdAgentParams option;

View File

@@ -4,8 +4,8 @@
/// @ingroup crowd
public enum DtCrowdAgentState
{
DT_CROWDAGENT_STATE_INVALID, // < The agent is not in a valid state.
DT_CROWDAGENT_STATE_WALKING, // < The agent is traversing a normal navigation mesh polygon.
DT_CROWDAGENT_STATE_OFFMESH, // < The agent is traversing an off-mesh connection.
DT_CROWDAGENT_STATE_INVALID, // < Agent 未处于有效状态。
DT_CROWDAGENT_STATE_WALKING, // < 代理正在遍历普通导航网格多边形。
DT_CROWDAGENT_STATE_OFFMESH, // < 代理正在遍历网格外连接。
};
}

View File

@@ -2,12 +2,19 @@
{
public enum DtMoveRequestState
{
DT_CROWDAGENT_TARGET_NONE,
DT_CROWDAGENT_TARGET_FAILED,
DT_CROWDAGENT_TARGET_VALID,
DT_CROWDAGENT_TARGET_REQUESTING,
DT_CROWDAGENT_TARGET_WAITING_FOR_QUEUE,
DT_CROWDAGENT_TARGET_WAITING_FOR_PATH,
// 无目标状态
DT_CROWDAGENT_TARGET_NONE,
// 目标设置失败
DT_CROWDAGENT_TARGET_FAILED,
// 目标有效
DT_CROWDAGENT_TARGET_VALID,
// 正在请求目标
DT_CROWDAGENT_TARGET_REQUESTING,
// 正在等待队列处理
DT_CROWDAGENT_TARGET_WAITING_FOR_QUEUE,
// 正在等待路径规划
DT_CROWDAGENT_TARGET_WAITING_FOR_PATH,
// 正在以特定速度移动(可能指向目标或进行其他移动)
DT_CROWDAGENT_TARGET_VELOCITY,
};
}