質問: ### 実現したいこと Unityを始めて1週間の初心者です。 自作の地図中の道路だけをオブジェクト(車両)が動くシステムをつくろうと考えています。 その地図の道路の経路をオブジェクトが自動的に指定してオブジェクトがプレイヤーの干渉を受けずとも移動するようなスクリプトと、プレイヤーが道路上の不特定の位置を指定し、その指定位置まで最短経路で行くスクリプトの2つをどのように組めばいいのかがわかりません。 組み立て方の考え方または具体的なスクリプトをご教示していただけると幸いです。
回答: 自作の地図中の道路とありますが、「画像ファイルの黄色い部分」だけを通るようにしたい、ということでしょうか。 そういうことでしたら、画像ファイルでは厳しいと思います。 以下の情報を追加で用意するのがいいのではないかと思います。 ・道路の座標点(道路上に一定間隔で配置する) ・どの点同士が隣接しているか(最短経路を求めるのに必要) これを用意すれば、車両の移動については以下のように実装することができます。 1. 座標点上に車両を作成する 2. 最短経路を求め、経路を指定する 3. 指定した順番に座標点上を移動する 最短経路については、私は詳しくないのですが、いくつかアルゴリズムがあるそうなので、調べてみてください。 もし、アルゴリズムが分からないのであれば、「全ての経路を列挙して、その中から一番短い経路を採用する」という簡単なものから始めるといいと思います。