MoveTowardsAngle関数で、x軸の回転(左の球)だけ90度地点で止まります。
右の球のような動きで、x軸に360度の回転をさせたいです。どうしたらいいですか?
【左の球】
C#
1using UnityEngine; 2using System.Collections; 3 4public class test01 : MonoBehaviour 5{ 6 public float target = 0.0F; 7 public float speed = 45.0F; 8 public float frame = 0.0f; 9 10 void Update() 11 { 12 frame++; 13 if (frame > 100) 14 { 15 frame = 0.0F; 16 target += 20.0F; 17 } 18 //360度超えたらリセット 19 if (transform.eulerAngles.x >= 360) 20 { 21 transform.eulerAngles = Vector3.zero; 22 target = 0.0F; 23 } 24 //回転 25 float angle = Mathf.MoveTowardsAngle(transform.eulerAngles.x, target, speed * Time.deltaTime); 26 transform.eulerAngles = new Vector3(angle, 0, 0); 27 } 28}
【右の球】
C#
1using UnityEngine; 2using System.Collections; 3 4public class test02 : MonoBehaviour 5{ 6 public float target = 0.0F; 7 public float speed = 45.0F; 8 public float frame = 0.0f; 9 10 void Update() 11 { 12 frame++; 13 if (frame > 100) 14 { 15 frame = 0.0F; 16 target += 20.0F; 17 } 18 //360度超えたらリセット 19 if (transform.eulerAngles.y >= 360) 20 { 21 transform.eulerAngles = Vector3.zero; 22 target = 0.0F; 23 } 24 //回転 25 float angle = Mathf.MoveTowardsAngle(transform.eulerAngles.y, target, speed * Time.deltaTime); 26 transform.eulerAngles = new Vector3(0, angle, 0); 27 } 28}
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/06/01 11:59
2016/06/01 13:48 編集
2016/06/02 04:28 編集