2017-02-27 8 views
0

私はゲームを統一してコードを覚えることを学んでいます。私は上下に動いている岩があり、それを中心から回転させることはできません。私は解決策を探してみましたが、見つけられませんでした。何か案は?ユニティですでに動いているオブジェクトを回転させる

IEnumerator Move(Vector3 target) 
{ 
    while (Mathf.Abs((target - transform.localPosition).y) > 0.20f) 
    { 
     Vector3 direction = target.y == topPosition.y ? Vector3.up : Vector3.down; 
     transform.localPosition += direction * Time.deltaTime * speed; 

     yield return null; 
    } 

    yield return new WaitForSeconds (0.5f); 

    Vector3 newTarget = target.y == topPosition.y ? bottomPosition : topPosition; 

    StartCoroutine (Move (newTarget)); 
} 
+0

'transform.Rotate'を呼び出そうとしましたか?また、 'transform.localEulerAngles'に代入することもできます。 – rutter

答えて

1

あなたのオブジェクトに新しいeulerAnglesを設定できますか? transform.eulerAnglesに基づいて新しいものを作成することができます。

Vector3 newAngles = new Vector3(transform.eulerAngles.x-1, transform.eulerAngles.y, transform.eulerAngles.z); 
transform.eulerAngles = newAngles; 

この例では、X軸への回転が「選択」されています。たぶんあなたはUpdateメソッドでこれを行うことができます。

関連する問題