Unity小遊戲——移動的小船船(船體在水面上晃動)

關鍵功能:

1、攝影機跟隨船體移動

2、船體在水面上晃動

3、搖桿控制方向

船在水面上晃動的原理其實就是船體圍繞着Z軸和X軸旋轉一個小的角度,然後在恢復回來,然後在旋轉的一個小過程

using System.Collections;  
using System.Collections.Generic;  
using UnityEngine;  
  
public class Shake : MonoBehaviour  
{  
    // 繞Z軸的搖擺的速度
    float z_Speed = 3.0f;  
    // 繞X軸的搖擺的速度
    float x_Speed = 1.0f;  
  
    // Start is called before the first frame update  
    void Start()  
    {  
          
    }  
  
    // Update is called once per frame  
    void Update()  
    {  
        // 繞Z軸搖晃  
        if(this.transform.eulerAngles.z >= 4 && this.transform.eulerAngles.z <= 180)  
        {  
            z_Speed = -z_Speed;   
        }  
        else if(this.transform.eulerAngles.z <= (360 -4) && this.transform.eulerAngles.z >=180)  
        {  
            z_Speed = -z_Speed;  
        }  
  
        // 繞X軸搖晃  
        if(this.transform.eulerAngles.x >= 4 && this.transform.eulerAngles.x <= 180)  
        {  
            x_Speed = -x_Speed;   
        }  
        else if(this.transform.eulerAngles.x >= 180 && this.transform.eulerAngles.x <= (360 -4))  
        {  
            x_Speed = -x_Speed;   
        }  
  
        this.transform.Rotate(z_Speed * Time.deltaTime, 0,z_Speed * Time.deltaTime);  
    }  
}  

 

Github:https://github.com/YuDang1024/UnityGames/tree/master/MovingBoat

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章