回答編集履歴

1

例とコードを追加した

2021/08/19 11:19

投稿

bboydaisuke
bboydaisuke

スコア5291

test CHANGED
@@ -3,3 +3,55 @@
3
3
 
4
4
 
5
5
  「移動」というのがどういうものかわかりませんが、FPS や TPS など普通のカメラの回転を作りたいならば Cinemachine を使った方がはるかに楽だと思います。
6
+
7
+
8
+
9
+ 追記
10
+
11
+
12
+
13
+ 問題が「ドラッグをやめた後もカメラが動き続けてしまう」ならばこういうやり方をするのもよいと思います。
14
+
15
+
16
+
17
+ ```csharp
18
+
19
+ using UnityEngine;
20
+
21
+ using UnityEngine.EventSystems;
22
+
23
+
24
+
25
+ /// <summary>
26
+
27
+ /// パネル等をドラッグしてカメラを動かす。
28
+
29
+ /// 要EventSystem
30
+
31
+ /// ドラッグするパネルにアタッチする
32
+
33
+ /// </summary>
34
+
35
+ public class DragCameraMove : MonoBehaviour, IDragHandler
36
+
37
+ {
38
+
39
+ [SerializeField] float m_moveSpeed = .01f;
40
+
41
+
42
+
43
+ void IDragHandler.OnDrag(PointerEventData eventData)
44
+
45
+ {
46
+
47
+ Vector3 pos = Camera.main.transform.position;
48
+
49
+ pos += (Camera.main.transform.forward * eventData.delta.y + Camera.main.transform.right * eventData.delta.x) * m_moveSpeed;
50
+
51
+ Camera.main.transform.position = pos;
52
+
53
+ }
54
+
55
+ }
56
+
57
+ ```