質問: 私は、今Unityでアドベンチャーゲームを作ろうと思っています。 そこで、移動システムを作りたいのですが、どう作ればいいのか迷っています。 あと、この問題に類似したサイトがあれば、そのサイトを知りたいです。 目的地をタップすると道なりに移動するシステムを目指しています。 Machinariumというゲームの移動システムを参考にして考えてます。 (下図Machinariumより引用) ![イメージ説明](https://teratail.storage.googleapis.com/uploads/contributed_images/106e6477daa5e51951549f17ebb11484.jpeg) ❶初期位置 ❷目標地点 赤い矢印のように絵に沿った移動をしたいのですが、うまくプログラムに落とせません。 よろしければ、知恵をお貸しいただきたいです。 (使用ツール) 1.Unity 2.C# 使用ツール以外でも全然構いませんので、考え方を教えていただけると幸いです。
回答: Navmeshという標準機能があるので、それを使うのが手っ取り早いかと思います。 使い方やその他の工夫は下記サイトの記事を見てみてください。 最初は上記リスト内「UnityでMMDモデルを、タップした位置まで歩かせる手軽な方法」を読むのがいいと思います。 Navmeshは基本的に3D空間で使用することを想定されていますが、 絵に合わせて見えない3Dオブジェクトを配置してその上にキャラクターを立たせるようにすれば、同様に使用可能かと思います。 (目的地の指定をする際にZ座標を常に一定(=キャラクターの初期位置のZ座標)にしておけば、画面奥/手前方向の移動が無くなりますので2Dの動きになります。あとは3Dモデルのモーションの代わりにスプライトアニメを再生するようにすればOKです)