網頁

2020年10月20日 星期二

[Unity] 使用語法寫旋轉動畫

目標:寫出書本,一頁一頁翻頁,並且是每按一次按鈕,就翻一次頁。
需要完成的工作事項:
1. 設定好轉軸pivot,想好旋轉方向是沿著X軸、Y軸或者Z軸轉
2. 每次旋轉要轉幾度,每隔多久旋轉一個frame
3. 找出旋轉的初始角度與結尾角度。
4. 時間設定會用到IEnumerator ,因此先寫好IEnumerator ,需要用的時候,再呼叫就可以了。

以下是程式碼範例:   

IEnumerator EyeToEar(){
  for (int i = 0; i < 28; i++){
      yield return new WaitForSeconds(0.03f);   //每次間隔0.03秒
      eye.transform.Rotate(new Vector3(0f, 5f, 0f));   // 每次Y軸旋轉5度
  }
}


public void OnInputClicked(InputClickedEventData eventData)
{
//airtap之後,要產生的反應是什麼?

if (myStep ==0){
   StartCoroutine(BrainToEye());  // 呼叫BrainToEye這個IEnumerator 
   myStep = 1;
}

else if (myStep ==1){
   StartCoroutine(EyeToEar()); // 呼叫EyeToEar這個IEnumerator 
   myStep = 2;
}

else if (myStep ==2){
  StartCoroutine(EarToNeuron()); // 呼叫EarToNeuron這個IEnumerator 
  myStep = 3;
}

else{
myStep = 3;
Debug.Log("hihi");
}
}

這裡有一些參數可以抓出來使用,
如果希望旋轉快一點,每次間隔短一點,每次的旋轉角度大一點。
如果希望旋轉比較流暢,那可以增加迴圈數,以及角度調整小一點。
最後,調整出最適合或者是你最喜歡的組合,即可。

沒有留言:

張貼留言