Unity实现模拟仿真飞机起飞降落效果
前言
在最近的项目中,我实现了一个简单的飞机起飞、降落功能,运用了初中物理速度、加速度,以及Unity的Translate函数实现的。实现的难度一般,效果还可以,下面先说下飞机处于各个阶段的函数实现原理。
实现原理
1.起飞阶段
如图所示,飞机在起飞的时候有一个向前的速度V1,有一个向上的速度V0,V1与V0都是从0逐渐加大到一定的速度,当飞机上升到一定高度,就进入了第二个阶段:平飞阶段。
2.平飞阶段
如图所示,在平飞阶段,飞机没有了上升的速度,不再上升,且只有一个向前飞行的速度,这就是平飞阶段。
3.下降阶段
如图所示,在此阶段飞机有一个向下的速度,和一个向前的速度,且这两个速度越来越小,到了飞机的初始高度的时候,这两个速度分别为0,飞机也就停止了。
实现步骤
1.编写主要代码,主要代码如下所示:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
namespace PlaneManager
{
public enum thisPlaneState
{
Stop,
BeginFly,
Fly,
EndFly
}
public class PlaneFlyTest : MonoBehaviour
{
//飞机的垂直速度
float zSpeed = 0f;
//战斗机的水平速度
float xSpeed = 0f;
//飞机垂直加速度
float addZSpeed = 0.3f;
//飞机的水平加速度
float addXSpeed = 0.3f;