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

 

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