マウスを長押しした箇所を、サブカメラでズームアップできる仕組みをつくります。
オブジェクト上で、マウス左ボタンを押しっぱなしにすれば、拡大して映ります。
マウスボタンを離せば、もとの撮影範囲に戻ります。
関連記事:
ぶつかればカメラをズームアップ
サブカメラの設置して別の視野から撮影
マウスを押している間パワーをためる
ドラッグの距離をパワー数値に変換する
キー長押しでゆっくり数を変化させる
マウス長押しで降下させて離せば引き上げる
マウスの箇所を拡大表示
平面とシリンダーを用意します。
MainCameraの位置と回転を変更しました。
ゲームビューではこのように見えています。
もう一つカメラを作成します。
名前をSubCameraに変更しました。
位置と回転を変え、ビューポート矩形で画面サイズを調整します。
空のオブジェクトを作成。
PutTarget.csを作成し、GameObject(空のオブジェクト)に追加します。
PutTarget.csを記述します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
using System.Collections; using System.Collections.Generic; using UnityEngine; public class PutTarget : MonoBehaviour { void Update() { if (Input.GetMouseButtonDown(0)) { RaycastHit hit; Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); if (Physics.Raycast(ray, out hit)) { transform.position = new Vector3 (hit.point.x, 0.5f, hit.point.z); } } } } |
ZoomUp.csを作成し、SubCameraに追加します。
ZoomUp.csを記述します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
using System.Collections; using System.Collections.Generic; using UnityEngine; public class ZoomUp : MonoBehaviour { public Transform target; void Update () { if (Input.GetMouseButton(0)) { transform.LookAt(target); transform.position = new Vector3 (target.position.x, 1, target.position.z - 1); } if (Input.GetMouseButtonUp(0)) { transform.position = new Vector3(0, 3, -10); } } } |
ターゲットのフィールドに、GameObjectを入れます。
ゲームプレイして、マウスの左ボタンを長押ししてみましょう。
サブカメラの画面に、ズームアップが表示されます。
関連記事:
ぶつかればカメラをズームアップ
サブカメラの設置して別の視野から撮影
マウスを押している間パワーをためる
ドラッグの距離をパワー数値に変換する
キー長押しでゆっくり数を変化させる
マウス長押しで降下させて離せば引き上げる