回答編集履歴
1
追記
answer
CHANGED
@@ -4,4 +4,27 @@
|
|
4
4
|
「オイラー角の状態で回転量を計算、Quaternionに変換して代入」
|
5
5
|
という操作をしており、オイラー角の計算にQuaternionの値を加えるのは不適切です。
|
6
6
|
|
7
|
-
`transform.eulerAngles`でオイラー角が取得できるので、そちらを使いましょう。
|
7
|
+
`transform.eulerAngles`でオイラー角が取得できるので、そちらを使いましょう。
|
8
|
+
|
9
|
+
### 追記
|
10
|
+
```C#
|
11
|
+
// 1フレーム前のマウス座標
|
12
|
+
private Vector2 _previousMousePosition;
|
13
|
+
|
14
|
+
// 移動の感度
|
15
|
+
private float _sensitivity;
|
16
|
+
|
17
|
+
private void Update()
|
18
|
+
{
|
19
|
+
// 現在のマウス座標
|
20
|
+
var currentMousePosition = Input.mousePosition;
|
21
|
+
|
22
|
+
// 1フレーム前のマウス座標よりマウスの移動量を計算
|
23
|
+
var deltaMouseX = currentMousePosition.x - _previousMousePosition.x;
|
24
|
+
|
25
|
+
// 回転(必要に応じて感度を調整)
|
26
|
+
var eulerAngles = transform.eulerAngles;
|
27
|
+
eulerAngles.y += deltaMouseX * _sensitivity;
|
28
|
+
transform.eulerAngles = eulerAngles;
|
29
|
+
}
|
30
|
+
```
|