【UnityC#講座】ユニティちゃんをマウスカーソルの方向に移動させる

マウスカーソル移動/トップ

Unity2018.1.5f1
Windows10

マウスカーソル移動/トップ

今までにいくつかユニティちゃんを移動させる方法を紹介してきました。

【UnityC#講座】3D人型モデルの動かし方をユニティちゃんで学ぶ【Animator】

【UnityC#講座】ユニティちゃんをスカイリム風に操作する

【UnityC#講座】ユニティちゃんでもっとスカイリム風に操作したい 前編【カメラ】

【UnityC#講座】3D人型モデルを三人称視点で動かす【ユニティちゃん】

今回はマウスカーソルがある方向に移動するようにします。
ちなみにマウスでクリックしたところに移動させる方法は公式サイトでNavMeshAgentを使った方法が紹介されていました。

マウスでクリックした位置へエージェントを移動させる

■マウスカーソルの方向に移動させる

ユニティちゃんをPlaneの上に置きRigidbodyとCapsuleColliderをつけてください。
そして以下のスクリプトをアタッチします。

これでマウスカーソルのある方向に移動するはずです。
そして左クリックでジャンプ、右クリックで移動停止、中クリックで時間が止まります。
FixiedUpdateを使っているのは、UpdateだとRigidbodyでの移動でない限りTime.timeScaleで停止させられないからです。

マウスカーソル移動/ノーマル

Raycastでカメラから出る仮想の線が当たった地点を目標にします。
なので当たるオブジェクトがないと反応しませんが、そこは下にオブジェクトを別に敷くなどして対応します。

スポンサーリンク

■マウスボタンのコード

まとめておくと便利だと思ったのでマウスボタンのコードをまとめておきます。

Input.GetMouseButton(0)
左クリックをしているとTrue。
Input.GetMouseButtonDown(0)
左クリックした瞬間だけTrue。
Input.GetMouseButtonUp(0)
左クリックしてからボタンを上げた時にTrue。

0は左ボタン、1は右ボタン、2が中ボタンです。

Input.GetAxis(“Mouse ScrollWheel”)
中ボタンのスクロールでFloatの数値をとれます。

■マウスカーソルを替える

Cursor.SetCursor(Texture2D,CursorMode)

マウスカーソルを替える方法はこちらです。
マウスカーソルの画像、画像のどこでクリックを有効にするかをスクリプトで決めます。

画像はスクリプトをアタッチしたオブジェクトのInspectorからセットします。

マウスカーソル移動/でかカーソル画像

これではマウスカーソルが大き過ぎるので小さくします。

マウスカーソル移動/画像のInspector上部 マウスカーソル移動/画像のInspector下部

Project > Create > Assetsにあるインポートしたマウスカーソル画像のInspectorから替えます。
その下部のMax sizeから好きなサイズを選び最下部にあるApplyをクリックしてください。

マウスカーソル移動/ミニカーソル画像

これは300×300の画像を32にしたものです。

■関連記事

【UnityC#講座】見つけたら追いかけてくる監視ユニティちゃん【NavMeshAgent】

【UnityC#講座】上下キーで前進後退、左右キーで方向替える移動法【ユニティちゃん】

ユニティちゃんライセンス

この作品はユニティちゃんライセンス条項の元に提供されています

スポンサーリンク

目次に戻る