關鍵功能:
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