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からセットします。
これではマウスカーソルが大き過ぎるので小さくします。
Project > Create > Assetsにあるインポートしたマウスカーソル画像のInspectorから替えます。
その下部のMax sizeから好きなサイズを選び最下部にあるApplyをクリックしてください。
これは300×300の画像を32にしたものです。
■関連記事
【UnityC#講座】見つけたら追いかけてくる監視ユニティちゃん【NavMeshAgent】
【UnityC#講座】上下キーで前進後退、左右キーで方向替える移動法【ユニティちゃん】
この作品はユニティちゃんライセンス条項の元に提供されています
スポンサーリンク