前提・実現したいこと
Version: Unity2019.14f1
OS:Windows7
Unityにおいて「localEulerAngles」を使い,X軸回転で1周したい.
3次元の回転軸で指定した角度回転したいので,localEulerAnglesに別のVector3変数を足した.
それ以外にも良い回転方法があるのならば,そちらも教えていただけたら幸いです.
発生している問題
90, 0, 0の次が89, 180, 180になる.
該当のソースコード
C#
1using System.Collections; 2using System.Collections.Generic; 3using UnityEngine; 4 5public class test3 : MonoBehaviour 6{ 7 private Vector3 change_vec = new Vector3(1, 0, 0); 8 private KeyCode keycode; 9 public void Start() 10 { 11 } 12 public void Update() 13 { 14 if (Input.GetKey(KeyCode.X)){ 15 gameObject.transform.localEulerAngles += change_vec; 16 Debug.Log(gameObject.transform.localEulerAngles); 17 } 18 } 19}
試したこと
一度,別のVector3変数に「transform.localEulerAngles」のコピーを行い,xを1度ずつ追加した.
結果は変わらなかった.
C#
1using System.Collections; 2using System.Collections.Generic; 3using UnityEngine; 4 5public class test3 : MonoBehaviour 6{ 7 private Vector3 change_vec = new Vector3(1, 0, 0); 8 9 public void Start() 10 { 11 12 } 13 public void Update() 14 { 15 Vector3 this_angles = transform.localEulerAngles; 16 if (Input.GetKey(KeyCode.X)) 17 { 18 this_angles.x += 1; 19 transform.localEulerAngles = this_angles; 20 Debug.Log(gameObject.transform.localEulerAngles); 21 } 22 } 23}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/06/21 12:38