Unityでマウス座標にキャラクターをついてこさせる方法

マウスカーソルにキャラクターがくっついて来るような挙動をUnityで実装していきたいと思います。
マウス操作のみのシンプルなゲーム等で使えそうな技になると思います。
私がこの技を使って作ったゲームがこちらになります。

このゲームはターゲットをマウスで動かし黒い点を撃つというシンプルなゲームです。
完全にマウスのみで遊べるゲームとなっています。

ではいつものようにUnityの新規2Dプロジェクトを作成し作業をしていきます。
画面サイズは960*540です。

ご覧の通り、今回やることはとてもシンプルです。

移動するキャラクターの作成

まずキャラクターとなるゲームオブジェクトをHierarchy上に作成します。
画像でも良いですし、画像がない場合はとりあえず2DオブジェクトのSquare等でも構いません。
今回その名前をTargetとしました。
ヒエラルキー

スクリプトでキャラクター座標をマウスの座標にする

次にマウス座標とキャラクター座標を紐付けるC#スクリプトを作成します。
Targetというファイル名にしました。
作成したらゲームオブジェクトTargetにアタッチします。

ではコードを書いていきましょう。
まず座標を保持しておくVector3型の変数を2つ用意します。
その後Update関数内でマウス座標を取得しワールド座標に変換。
最後に自身のpositionにワールド座標を代入します。

具体的にはこのようなコードになりました。

たったこれだけです。
これでマウスの位置にキャラクターがついてきます。
マウスの座標とキャラクター位置の同期

Camera.mainのScreenToWorldPoint関数でスクリーン上のマウスのx,yの座標を引数に取っています。
スクリーン上のマウスの座標は型はVector3ですが、z軸を持っていない2次元ですのでz軸の値を指定しておく必要があります。
これでマウスカーソルについてくるキャラクターの処理が出来上がりました。

左クリックした座標にキャラクターを動かす

これを応用してマウスの左クリックした座標に向かってキャラクターが動くように改造してみます。
ソースコードはこのようになりました。

やっていることはUpdate関数でマウスの左クリックの入力を受け取ったらマウス座標からワールド座標を求め、コルーチンを使って移動させています。

移動させているコルーチンの中身に関してはこちらの記事の内容とほぼ同じです。

実行してみるとこんな感じでキャラクターが動いてくれます。
クリックした座標にキャラクターが動く

以上マウスとキャラクターの移動に関しての処理でした。

関連記事

Unity開発おすすめPC

NEXTGEAR JG-A5G5A

NEXTGEAR JG-A5G5A
OS : Windows 11 Home 64ビット
CPU : AMD Ryzen™ 5 4500 プロセッサー
グラフィックス : NVIDIA® GeForce RTX™ 3050
メモリ標準容量 : 16GB (8GB×2 / デュアルチャネル)
M.2 SSD : 1TB (NVMe)
保証期間 : 3年間センドバック修理保証・24時間×365日電話サポート
価格:119,900円(税込)~
NEXTGEAR JG-A5G5A 詳細

Lenovo LOQ Essential Gen 9 - ルナグレー

Lenovo LOQ Essential Gen 9 - ルナグレー
OS : Windows 11 Home 64ビット
CPU : インテル® Core™ i7-12650HX
グラフィックス : NVIDIA® GeForce RTX™ 4050 Laptop GPU 6GB GDDR6
メモリ標準容量 : 16 GB DDR5-4800MHz
ストレージ : 512 GB SSD M.2 2242 PCIe-NVMe Gen4 QLC
ディスプレイ :15.6" FHD液晶 (1920 x 1080) IPS, 光沢なし, マルチタッチ非対応, 100%sRGB, 300 nit, 144Hz
内蔵カメラ :720p HDカメラ (プライバシーシャッター付)
無線 :Wi-Fi 6対応 (IEEE 802.11ax/ac/a/b/g/n準拠) 2x2 & Bluetooth®
保証期間 : 1 年間 Legion Ultimate Support
価格:¥149,820 税込・送料無料
Lenovo LOQ Essential Gen 9 - ルナグレー 詳細

【MDT46T144】

【MDT46T144】
CPU : Intel® Core i5 14400F
グラフィックス : RTX 4060 Ti
メモリ標準容量 : 16GB
ストレージ :500GB
保証期間 : 通常1年保証(無償1年)
価格:169,800円
【MDT46T144】 詳細

LOQ Tower 17IRR9 :カスタマイズモデル

LOQ Tower 17IRR9 :カスタマイズモデル
OS : Windows 11 Home 64ビット
CPU : インテル® Core™ i5-14400F プロセッサー
グラフィックス : NVIDIA® GeForce RTX™ 3050 6GB GDDR6
メモリ標準容量 : 16 GB DDR5-4800MHz (UDIMM) - (2 x 8 GB)
ストレージ : 512 GB SSD M.2 2280 PCIe-NVMe Gen4 TLC
保証期間 : 1 年間 Legion Ultimate Support
価格:¥109,450 税込・送料無料
LOQ Tower 17IRR9 :カスタマイズモデル 詳細

NEXTGEAR JG-A5G60(ホワイトカラーモデル)

NEXTGEAR JG-A5G60(ホワイトカラーモデル)
OS : Windows 11 Home 64ビット
CPU : AMD Ryzen™ 5 4500 プロセッサー
グラフィックス : NVIDIA® GeForce RTX™ 4060
メモリ標準容量 : 16GB (8GB×2 / デュアルチャネル)
M.2 SSD : 1TB (NVMe)
保証期間 : 3年間センドバック修理保証・24時間×365日電話サポート
価格:137,500円(税込)~
NEXTGEAR JG-A5G60(ホワイトカラーモデル) 詳細

NEXTGEAR JG-A5G60(1周年記念モデル)

NEXTGEAR JG-A5G60(1周年記念モデル)
OS : Windows 11 Home 64ビット
CPU : AMD Ryzen™ 5 4500 プロセッサー
グラフィックス : NVIDIA® GeForce RTX™ 4060
メモリ標準容量 : 16GB (8GB×2 / デュアルチャネル)
M.2 SSD : 1TB (NVMe)
保証期間 : 3年間センドバック修理保証・24時間×365日電話サポート
価格:139,900円(税込)~
NEXTGEAR JG-A5G60(1周年記念モデル) 詳細

G TUNE FG-A7A7X

G TUNE FG-A7A7X
OS : Windows 11 Home 64ビット
CPU : AMD Ryzen™ 7 9800X3D プロセッサ
グラフィックス : AMD Radeon™ RX 7700 XT
メモリ標準容量 : 32GB (16GB×2 / デュアルチャネル
M.2 SSD : 2TB (NVMe Gen4×4)
ドライブ仕様 :DVDスーパーマルチドライブ
無線 :Wi-Fi 6E( 最大2.4Gbps )対応 IEEE 802.11 ax/ac/a/b/g/n準拠 + Bluetooth 5内蔵
保証期間 : 3年間センドバック修理保証・24時間×365日電話サポート
価格:379,800円(税込)~
G TUNE FG-A7A7X 詳細

関連記事

0
Would love your thoughts, please comment.x
()
x
セール中!

Unity講座がたくさん!

今が学びのチャンス♪学びたい講座を探そう