質問編集履歴

2

スクリプト変更

2018/03/21 05:07

投稿

kaz2zak
kaz2zak

スコア36

test CHANGED
File without changes
test CHANGED
@@ -5,6 +5,8 @@
5
5
 
6
6
 
7
7
  ![イメージ説明](de148d84844ab7ce25c23e60ace1ef84.png)
8
+
9
+
8
10
 
9
11
 
10
12
 
@@ -61,3 +63,85 @@
61
63
 
62
64
 
63
65
  Unity超初心者になります。教えて頂けますと大変助かります。
66
+
67
+
68
+
69
+
70
+
71
+ ーーー加筆ーーー
72
+
73
+ アドバイスを頂いたスクリプトを元のスクリプトに以下のように書き加えました。
74
+
75
+ ```C#
76
+
77
+ public Transform target;
78
+
79
+ public float spinSpeed = 0.3f;
80
+
81
+ float distance = 15f;
82
+
83
+
84
+
85
+ Vector3 nowPos;
86
+
87
+ public Vector2 mouse = Vector2.zero;
88
+
89
+ Vector3 offset = new Vector3(0.0f, 10f, 0.0f);
90
+
91
+
92
+
93
+ void Start()
94
+
95
+ {
96
+
97
+ // 初期位置の取得
98
+
99
+ nowPos = transform.position;
100
+
101
+ }
102
+
103
+
104
+
105
+ void Update()
106
+
107
+ {
108
+
109
+ // マウスの移動の取得
110
+
111
+ if (Input.GetMouseButton(0))
112
+
113
+ {
114
+
115
+ mouse += new Vector2(Input.GetAxis("Mouse X"), Input.GetAxis("Mouse Y")) * Time.deltaTime * spinSpeed;
116
+
117
+ }
118
+
119
+
120
+
121
+ mouse.y = Mathf.Clamp(mouse.y, -0.3f + 0.5f, 0.3f + 0.5f);
122
+
123
+ Vector3 lookAtPos = target.transform.position + offset;
124
+
125
+
126
+
127
+ Vector3 targetPos = new Vector3(
128
+
129
+ lookAtPos.x = distance * Mathf.Sin(mouse.y * Mathf.PI) * Mathf.Cos(mouse.x * Mathf.PI),
130
+
131
+ lookAtPos.y = distance * Mathf.Cos(mouse.y * Mathf.PI),
132
+
133
+ lookAtPos.z = distance * Mathf.Sin(mouse.y * Mathf.PI) * Mathf.Sin(mouse.x * Mathf.PI));
134
+
135
+
136
+
137
+ transform.position = targetPos;
138
+
139
+ transform.LookAt(lookAtPos);
140
+
141
+
142
+
143
+ }
144
+
145
+ }
146
+
147
+ ```

1

タイトル変更

2018/03/21 05:07

投稿

kaz2zak
kaz2zak

スコア36

test CHANGED
@@ -1 +1 @@
1
- 対象となるオブジェクトによってカメラの挙動が変わってしまう
1
+ Unityで対象となるオブジェクトによってカメラの挙動が変わってしまう
test CHANGED
File without changes