teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

追記

2019/03/31 10:53

投稿

退会済みユーザー
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
+ ```