おい、お前ら。今日も今日とて、マイクラの『あるある』に悩まされているようだな。村人を拠点に運ぼうとしたら、目の前の穴にダイブしたり、レールを敷いても意地でも避けて通ろうとしたり……。そのイライラ、全てパスファインディング(経路探索)のせいだぞ
うおおおおお!それですよ!僕の『
ちゃん専用メイド村』を作ろうとしてるのに、村人が全然家に入ってくれないんです!目の前にドアがあるのに、壁に向かってひたすらキスしてるんですよ!?僕ですらそんな大胆なことしないのに!
……お前が壁にキスしてたら通報案件だがな。まあ、Mobの動きがおかしいのには、全て計算された(あるいはバグった)理由がある。特に最近のバージョン(1.21.4〜1.22付近)では、ブロックの判定やAIの挙動が微妙に変化していて、昔の常識が通じないこともある。今日はその仕組みを論理的に解説してやろう
こんにちは、
です。村人さんが、ずっと同じ場所でくるくる回ってたりすると、病気なのかなって心配になっちゃいますよね……。優しく誘導してあげる方法があれば知りたいです!
1. そもそも「パスファインディング」とは何か?
まずは基本からだ。パスファインディングとは、Mobが『地点A』から『地点B』へ移動する際に、最短かつ安全なルートを計算するAIの機能のことだ。カーナビみたいなもんだな
Mobは常に『自分がいけるブロック』をスキャンしています。しかし、この計算にはルールがあります
- 安全第一:溶岩、高い崖(3ブロック以上)、サボテンなどは避ける。
- 物理的な壁:当たり前だが、フルブロックは通れない。
- 透明な壁(重要):プレイヤーには通れても、MobのAIが『通行不可』と認識するブロックがある。
へぇー!じゃあ、村人が動かないのは、僕のことが嫌いだからじゃなくて、道が見えてないだけなんですね!よかったー!
嫌われている可能性も否定はできんが、大抵は『Mob視点では道が繋がっていない』と判断されているのが原因だ
2. なぜ動かない?Mobを惑わす「見えない壁」たち
ここが一番重要だ。プレイヤーの感覚と、Mobの感覚にはズレがある。これを知らないと一生誘導できないぞ
①レール(線路)は「高い壁」だと思え
これは意外と知らない人が多いですが、多くのMob(特に敵対Mobや村人)にとって、レールは『通りたくない障害物』として認識されます。フェンスほど絶対的ではありませんが、迂回路があるならレールを避けて通ろうとします
えっ!?線路なんてペラペラじゃないですか!跨げばいいのに!
トロッコに轢かれるのを避けるためのAIだな。だから、村人を囲うためにレールを敷くと、閉じ込めることはできなくても、動こうとしなくなる原因になる。誘導したいなら、足元のレールは撤去するか、トロッコに乗せて強制連行するのが正解だ
②カーペット・トラップドアの罠
よく、落とし穴を作る時にトラップドアを使いますよね? あれはどういう仕組みなんですか?
トラップドアは、Mobにとって『開いていても閉じていても、床がある』と誤認させる最強のアイテムです。逆に、カーペットの下に何もなくても『床がある』と思って踏み出し、落ちることもあります。しかし、二重カーペット(カーペットの上にカーペット)や、特定の高さの雪などは『段差』として認識され、パスファインディングが切れる(移動できなくなる)ことがあります
最近のアプデで、カーペットをフェンスの上に乗せた時の判定が厳しくなったりしてるからな。『ここ通れるはずなのに!』と思ったら、足元の装飾を壊してみろ。動き出すかもしれんぞ
③高さ2ブロックの天井
村人の身長って2m(2ブロック)ですよね? じゃあ高さ2ブロックの通路でいいはず!
それが甘い。実は村人の当たり判定は正確には1.95ブロックだが、頭上のブロックにカーペットやトラップドアがついていると、AIが『頭をぶつける』と判断して通らないことがある。特にベッドの上に乗った村人が、天井に頭がつっかえて動けなくなるのは日常茶飯事だ
3. 村人特有のトラブル「就職・ベッド紐付け」のバグ
村人が動かない原因の第1位は、地形ではなく『紐付け(Link)』の問題です。彼らは物理的に移動できるか以前に、『行きたい場所(ベッドや職業ブロック)』が見えているかで動きを決めます
原因①:見えないベッドを求めている
村人は、直線距離で48ブロック(Java版)以内の『空きベッド』を感知する。だが、そのベッドへの経路が塞がれていると、認識はしているのに到達できず、その場でウロウロし始める
あー!ありますね!壁の向こうのベッドに反応して、ずっと壁に頭突きしてるやつ!
対策は簡単です。一度ベッドを破壊して、村人の目の前に置き直して再認識させる(緑のキラキラを出す)。これを繰り返して、少しずつ目的地へ誘導する『ベッドリレー』が有効です
原因②:職業ブロックの認識ズレ
あの、交易所を作ったんですけど、村人さんが全然自分の職業ブロックのところに行ってくれないんです……
それは『他人の職業ブロック』に紐付いている可能性が高い。交易所あるあるだが、Aの村人がBの席のコンポスターに紐付いてしまい、お互いに『自分の席に行けない!』とパニックになって棒立ちになる現象だ
対策:
- 職業ブロックを置くときは、必ず一人ずつ隔離してから置く。
- 誰も紐付いていないことを確認してから、目の前に設置する。
- 動かない場合は、足元に水を流して強制的に位置をズラすと、再計算が始まって動くことがある。
4. システム的な限界「サーバーラグ・処理落ち」
最後に、プレイヤー側ではどうしようもない原因についても触れておきましょう。TPS(Ticks Per Second)の低下です
ティーピーエス? 新しい必殺技ですか?
サーバーの処理速度のことだ。Mobのパスファインディング計算は非常に重い。村人が100人いたり、大量の牛がいたりしてサーバーが重くなると、マイクラは負荷を減らすために『Mobの思考(移動計算)を停止』させる
ええっ……。じゃあ、村人が増えすぎると、みんな頭が真っ白になって動かなくなっちゃうんですか?
その通りです。特に統合版(Switchなど)では顕著です。村人が棒立ちで動かない、ベッドに行かない時は、周りのMobを減らすか、一度ゲームを再起動してみてください
まとめ:Mobは「賢いけどバカ」だと思え
というわけで、パスファインディングの謎について解説したぞ。要点をまとめるぞ
- レールやトラップドアは「見えない壁」になりうる!動きがおかしい時は足元を確認しろ。
- 村人は「行きたい場所」に行けないとフリーズする!ベッドや職業ブロックの紐付けをリセットしろ。
- 重いとバカになる!Mobを増やしすぎるな。
なるほど!つまり、
ちゃんが僕のところに来てくれないのは、僕との間に『見えない壁』があるからなんですね!今すぐ壊してきます!
お前の場合は『社会的地位』と『生理的嫌悪感』という、絶対に壊せない壁があるがな
ふふ、難しいことはわかりませんけど、村人さんを運ぶときは、無理に歩かせないでボートに乗せちゃうのが一番早くて安全ですよ? 私はいつもそうしてます(ニコッ)
……結局、物理(ボート)が最強ってことだな。お前らも、MobのAIに振り回されずに、道具を使って賢く管理しろよ。解散!
待って
ちゃん!僕もボートに乗せて!二人きりの愛のクルージングへ……ぐはぁッ!(
に蹴られる)
乙。




