目录
1.摄像机跟随的方法
2.鼠标按键响应
3.键盘按键响应
4.导入素材
5.让飞机向前飞
6.摄像机跟随飞机移动
7.鼠标控制飞机倾斜
8.键盘控制飞机飞行
下载源码 UnityPackage
1.摄像机跟随的方法
2.鼠标按键响应
3.键盘按键响应
4.导入素材
下载素材
步骤:
-
将下载好的素材拖进Unity窗口中,并分好文件夹装好
-
将 AirPlane -> Models -> airplane.fbx 拖进场景中
-
在 AirPlane -> Materials 中将彩色的材质赋给机身,黄色的赋给玻璃
-
在 TerrainData -> Prefabs 中将地形预制体拖入到场景中摆放好
摆放到下图效果:
5.让飞机向前飞
用 Translate() 方法使飞机向 z轴(前方)飞行
void Update()
{
this.transform.Translate(0, 0, 0.1f);
}
6.摄像机跟随飞机移动
https://yarcnhxqmdb.feishu.cn/docx/GMgYdzaIRo35Chxi9gGcZpOWnnb#T8CRdaHkroii7ex3mtrc5YVtnUe
步骤一:导入Standard的资源包
下载Standard的资源包
只选择 `CrossPlatformInput` 和 `Unity` 文件夹导入
步骤二:添加脚本
将飞机对象拖进Target中,并调整Distance(距离)和Height(高度)
7.鼠标控制飞机倾斜
要点:
-
世界坐标转屏幕坐标
-
Rotate()方法
// 飞机的屏幕坐标轴
Vector2 airPlaneScreenPos;
void Start()
{
}
void Update()
{
// 飞机向前飞行
this.transform.Translate(0, 0, 0.05f);
// 鼠标控制飞机倾斜
if (Input.GetMouseButtonDown(0))
{
airPlaneScreenPos = Camera.main.WorldToScreenPoint(this.transform.position);
// 点击了右边
if (airPlaneScreenPos.x < Input.mousePosition.x)
{
this.transform.Rotate(0, 0, -5f);
}
else
{
this.transform.Rotate(0, 0, 5f);
}
}
}
8.键盘控制飞机飞行
在之前摄像机挂载的脚本上,调整旋转和高度变化时的平滑值
/// <summary>
/// 旋转移动方法
/// </summary>
private void Movement()
{
if (Input.GetKey(KeyCode.W))
{
this.transform.Translate(0, 0, 0.05f);
}
if (Input.GetKey(KeyCode.S))
{
this.transform.Translate(0, 0, -0.05f);
}
if (Input.GetKey(KeyCode.A))
{
this.transform.Rotate(0, -1f, 0);
}
if (Input.GetKey(KeyCode.D))
{
this.transform.Rotate(0, 1f, 0);
}
if (Input.GetKey(KeyCode.Space))
{
this.transform.Translate(0, 0.05f, 0);
}
if (Input.GetKey(KeyCode.LeftControl))
{
this.transform.Translate(0, -0.05f, 0);
}
}