drive.google.com/file/d/1w2WiMZadwTd8h68HYtWo4MosYp_qlaLP/view?usp=sharing
ジャストで複数のウェイポイントを行き来するNPCを実装してたので参考にどうぞ
map.hppにてマップからウェイポイントを読みだしてvectorに保存(get_waypoint関数で参照します)
そしてキャラごとにwayp_preという配列を用意し、とりあえず全部スポーン地点の近くのウェイポイントを示すオフセット値を代入します。
キャラをget_waypoint()[wayp_pre[0]]へと進め、xz平面上の距離が一定範囲内に入ると次のウェイポイントを探します(キャラから一番近いポイントを次に目指すことにします)
次のポイントをwayp_pre[0]に挿入し、それ以降は1つずつずらします
for (int i = int(this->wayp_pre.size()) - 1; i >= 1; i--) {
this->wayp_pre[i] = this->wayp_pre[i - 1];//ずらして
}
this->wayp_pre[0] = now;//挿入
それを繰り返すと、直前に通った場所以外で近いポイントに向かって進むようになります。