关键功能:
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